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 <david@draw.io>2021-12-21 18:26:49 +0300
committerDavid Benson <david@draw.io>2021-12-21 18:26:49 +0300
commit14fd9bd654c23c8be6dee49f26bf1e943c606c1d (patch)
treea18caf65fca7db3154e80bfdb745bb652470f5b2
parent52256f47a8667218b56899474b7203993b02d90c (diff)
16.0.2 releasev16.0.2
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md9
-rw-r--r--ChangeLog8
-rw-r--r--VERSION2
-rw-r--r--src/main/webapp/js/app.min.js380
-rw-r--r--src/main/webapp/js/diagramly/App.js2
-rw-r--r--src/main/webapp/js/diagramly/Editor.js4
-rw-r--r--src/main/webapp/js/diagramly/EditorUi.js4
-rw-r--r--src/main/webapp/js/diagramly/ElectronApp.js42
-rw-r--r--src/main/webapp/js/diagramly/Menus.js6
-rw-r--r--src/main/webapp/js/diagramly/Minimal.js20
-rw-r--r--src/main/webapp/js/grapheditor/Dialogs.js23
-rw-r--r--src/main/webapp/js/grapheditor/EditorUi.js3
-rw-r--r--src/main/webapp/js/grapheditor/Format.js17
-rw-r--r--src/main/webapp/js/grapheditor/Graph.js77
-rw-r--r--src/main/webapp/js/grapheditor/Shapes.js50
-rw-r--r--src/main/webapp/js/grapheditor/Sidebar.js2
-rw-r--r--src/main/webapp/js/viewer-static.min.js4
-rw-r--r--src/main/webapp/js/viewer.min.js4
-rw-r--r--src/main/webapp/mxgraph/mxClient.js2
-rw-r--r--src/main/webapp/package.json2
-rw-r--r--src/main/webapp/service-worker.js2
-rw-r--r--src/main/webapp/service-worker.js.map2
-rw-r--r--src/main/webapp/templates/basic/cross.xml2
23 files changed, 370 insertions, 297 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 4bd76561..dcb640a1 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -10,8 +10,6 @@ about: Create a report to help us improve
* [ ] I agree to follow the [Code of Conduct](https://github.com/jgraph/drawio/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [ ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.
-You must agree to search and the code of conduct. You must fill in this entire template. If you delete part/all or miss parts out your issue will be closed.
-
**Describe the bug**
A clear and concise description of what the bug is.
@@ -30,12 +28,12 @@ If applicable, add screenshots to help explain your problem.
**draw.io version (In the Help->About menu of the draw.io editor):**
-- draw.io version x.y.z
+- draw.io version [e.g. 12.6.7]
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- - Browser Version [e.g. 22]
+ - Version [e.g. 22]
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
@@ -43,8 +41,5 @@ If applicable, add screenshots to help explain your problem.
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
-**I tested the problem in incognito/private mode with all browser extensions switched off, write "yes" below:**
--
-
**Additional context**
Add any other context about the problem here.
diff --git a/ChangeLog b/ChangeLog
index a579adf4..b8b6a6e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+21-DEC-2021: 16.0.2
+
+- Re-build
+
+21-DEC-2021: 16.0.1
+
+- Fixes possible NPE
+
17-DEC-2021: 16.0.0
The reason for going to version 16 is there is a breaking change in the docker image. The
diff --git a/VERSION b/VERSION
index 0e94e314..7dc3d91f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-16.0.0 \ No newline at end of file
+16.0.2 \ 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 1a782062..1be53f7f 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -236,7 +236,7 @@ null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.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:"16.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.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:"16.0.2",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==document.createElementNS("http://www.w3.org/2000/svg","foreignObject").toString()||0<=navigator.userAgent.indexOf("Opera/"),
@@ -2103,7 +2103,7 @@ OpenFile.prototype.setData=function(){this.args=arguments;this.execute()};OpenFi
function Dialog(a,b,c,e,d,f,h,k,g,m,l){var n=g?57:0,p=c,r=e,u=g?0:64,v=Editor.inlineFullscreen||null==a.embedViewport?mxUtils.getDocumentSize():mxUtils.clone(a.embedViewport);null==a.embedViewport&&null!=window.innerHeight&&(v.height=window.innerHeight);var t=v.height,x=Math.max(1,Math.round((v.width-c-u)/2)),w=Math.max(1,Math.round((t-e-a.footerHeight)/3));b.style.maxHeight="100%";c=null!=document.body?Math.min(c,document.body.scrollWidth-u):c;e=Math.min(e,t-u);0<a.dialogs.length&&(this.zIndex+=
2*a.dialogs.length);null==this.bg&&(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=t+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity));v=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=v.x+"px";this.bg.style.top=v.y+"px";x+=v.x;w+=v.y;Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=mxUtils.getDocumentSize().height+"px",
w+=a.embedViewport.y,x+=a.embedViewport.x);d&&document.body.appendChild(this.bg);var y=a.createDiv(g?"geTransDialog":"geDialog");d=this.getPosition(x,w,c,e);x=d.x;w=d.y;y.style.width=c+"px";y.style.height=e+"px";y.style.left=x+"px";y.style.top=w+"px";y.style.zIndex=this.zIndex;y.appendChild(b);document.body.appendChild(y);!k&&b.clientHeight>y.clientHeight-u&&(b.style.overflowY="auto");b.style.overflowX="hidden";if(f&&(f=document.createElement("img"),f.setAttribute("src",Dialog.prototype.closeImage),
-f.setAttribute("title",mxResources.get("close")),f.className="geDialogClose",f.style.top=w+14+"px",f.style.left=x+c+38-n+"px",f.style.zIndex=this.zIndex,mxEvent.addListener(f,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(f),this.dialogImg=f,!l)){var F=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){F=!0}),null,mxUtils.bind(this,function(b){F&&(a.hideDialog(!0),F=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=m){var d=m();
+f.setAttribute("title",mxResources.get("close")),f.className="geDialogClose",f.style.top=w+14+"px",f.style.left=x+c+38-n+"px",f.style.zIndex=this.zIndex,mxEvent.addListener(f,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(f),this.dialogImg=f,!l)){var E=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){E=!0}),null,mxUtils.bind(this,function(b){E&&(a.hideDialog(!0),E=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=m){var d=m();
null!=d&&(p=c=d.w,r=e=d.h)}d=mxUtils.getDocumentSize();t=d.height;this.bg.style.height=t+"px";Editor.inlineFullscreen||null==a.embedViewport||(this.bg.style.height=mxUtils.getDocumentSize().height+"px");x=Math.max(1,Math.round((d.width-c-u)/2));w=Math.max(1,Math.round((t-e-a.footerHeight)/3));c=null!=document.body?Math.min(p,document.body.scrollWidth-u):p;e=Math.min(r,t-u);d=this.getPosition(x,w,c,e);x=d.x;w=d.y;y.style.left=x+"px";y.style.top=w+"px";y.style.width=c+"px";y.style.height=e+"px";!k&&
b.clientHeight>y.clientHeight-u&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=w+14+"px",this.dialogImg.style.left=x+c+38-n+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=y;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-2;
Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+
@@ -2135,9 +2135,9 @@ c.height==d.format.height?(k.value=d.key,f.setAttribute("checked","checked"),f.d
k.value="custom",g.style.display="none",l.style.display="")}}b="format-"+b;var f=document.createElement("input");f.setAttribute("name",b);f.setAttribute("type","radio");f.setAttribute("value","portrait");var h=document.createElement("input");h.setAttribute("name",b);h.setAttribute("type","radio");h.setAttribute("value","landscape");var k=document.createElement("select");k.style.marginBottom="8px";k.style.borderRadius="4px";k.style.border="1px solid rgb(160, 160, 160)";k.style.width="206px";var g=
document.createElement("div");g.style.marginLeft="4px";g.style.width="210px";g.style.height="24px";f.style.marginRight="6px";g.appendChild(f);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));g.appendChild(b);h.style.marginLeft="10px";h.style.marginRight="6px";g.appendChild(h);var m=document.createElement("span");m.style.width="100px";mxUtils.write(m,mxResources.get("landscape"));g.appendChild(m);var l=document.createElement("div");l.style.marginLeft=
"4px";l.style.width="210px";l.style.height="24px";var n=document.createElement("input");n.setAttribute("size","7");n.style.textAlign="right";l.appendChild(n);mxUtils.write(l," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";l.appendChild(p);mxUtils.write(l," in");g.style.display="none";l.style.display="none";for(var r={},u=PageSetupDialog.getFormats(),v=0;v<u.length;v++){var t=u[v];r[t.key]=t;var x=document.createElement("option");x.setAttribute("value",
-t.key);mxUtils.write(x,t.title);k.appendChild(x)}var w=!1;d();a.appendChild(k);mxUtils.br(a);a.appendChild(g);a.appendChild(l);var y=c,F=function(a,b){var d=r[k.value];null!=d.format?(n.value=d.format.width/100,p.value=d.format.height/100,l.style.display="none",g.style.display=""):(g.style.display="none",l.style.display="");d=parseFloat(n.value);if(isNaN(d)||0>=d)n.value=c.width/100;d=parseFloat(p.value);if(isNaN(d)||0>=d)p.value=c.height/100;d=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),
-Math.floor(100*parseFloat(p.value)));"custom"!=k.value&&h.checked&&(d=new mxRectangle(0,0,d.height,d.width));b&&w||d.width==y.width&&d.height==y.height||(y=d,null!=e&&e(y))};mxEvent.addListener(b,"click",function(a){f.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(m,"click",function(a){h.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",F);mxEvent.addListener(n,"click",F);mxEvent.addListener(p,"blur",F);mxEvent.addListener(p,"click",F);mxEvent.addListener(h,"change",F);mxEvent.addListener(f,
-"change",F);mxEvent.addListener(k,"change",function(a){w="custom"==k.value;F(a,!0)});F();return{set:function(a){c=a;d(null,null,!0)},get:function(){return y},widthInput:n,heightInput:p}};
+t.key);mxUtils.write(x,t.title);k.appendChild(x)}var w=!1;d();a.appendChild(k);mxUtils.br(a);a.appendChild(g);a.appendChild(l);var y=c,E=function(a,b){var d=r[k.value];null!=d.format?(n.value=d.format.width/100,p.value=d.format.height/100,l.style.display="none",g.style.display=""):(g.style.display="none",l.style.display="");d=parseFloat(n.value);if(isNaN(d)||0>=d)n.value=c.width/100;d=parseFloat(p.value);if(isNaN(d)||0>=d)p.value=c.height/100;d=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),
+Math.floor(100*parseFloat(p.value)));"custom"!=k.value&&h.checked&&(d=new mxRectangle(0,0,d.height,d.width));b&&w||d.width==y.width&&d.height==y.height||(y=d,null!=e&&e(y))};mxEvent.addListener(b,"click",function(a){f.checked=!0;E(a);mxEvent.consume(a)});mxEvent.addListener(m,"click",function(a){h.checked=!0;E(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",E);mxEvent.addListener(n,"click",E);mxEvent.addListener(p,"blur",E);mxEvent.addListener(p,"click",E);mxEvent.addListener(h,"change",E);mxEvent.addListener(f,
+"change",E);mxEvent.addListener(k,"change",function(a){w="custom"==k.value;E(a,!0)});E();return{set:function(a){c=a;d(null,null,!0)},get:function(){return y},widthInput:n,heightInput:p}};
PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",
format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)},
{key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,900,1600)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1200,1920)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1200,1600)},{key:"custom",title:mxResources.get("custom"),format:null}]};
@@ -2174,17 +2174,17 @@ e.addListener(mxEvent.EDITING_STARTED,this.selectionStateListener);e.addListener
h="shape edgeStyle curved rounded elbow jumpStyle jumpSize comic sketch fillWeight hachureGap hachureAngle jiggle disableMultiStroke disableMultiStrokeFill fillStyle curveFitting simplification sketchStyle".split(" "),k="curved sourcePerimeterSpacing targetPerimeterSpacing startArrow startFill startSize endArrow endFill endSize".split(" ");this.setDefaultStyle=function(a){try{var b=e.getCellStyle(a,!1),c=[],d=[],f;for(f in b)c.push(b[f]),d.push(f);e.getModel().isEdge(a)?e.currentEdgeStyle={}:e.currentVertexStyle=
{};this.fireEvent(new mxEventObject("styleChanged","keys",d,"values",c,"cells",[a]))}catch(O){this.handleError(O)}};this.clearDefaultStyle=function(){e.currentEdgeStyle=mxUtils.clone(e.defaultEdgeStyle);e.currentVertexStyle=mxUtils.clone(e.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var g=["fontFamily","fontSource","fontSize","fontColor"];for(b=0;b<g.length;b++)0>mxUtils.indexOf(f,g[b])&&f.push(g[b]);var m="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),
l=[["startArrow","startFill","endArrow","endFill"],["startSize","endSize"],["sourcePerimeterSpacing","targetPerimeterSpacing"],["strokeColor","strokeWidth"],["fillColor","gradientColor","gradientDirection"],["opacity"],["html"]];for(b=0;b<l.length;b++)for(c=0;c<l[b].length;c++)f.push(l[b][c]);for(b=0;b<h.length;b++)0>mxUtils.indexOf(f,h[b])&&f.push(h[b]);var n=function(a,b,c,d,g,h,m){d=null!=d?d:e.currentVertexStyle;g=null!=g?g:e.currentEdgeStyle;h=null!=h?h:!0;c=null!=c?c:e.getModel();if(m){m=[];
-for(var n=0;n<a.length;n++)m=m.concat(c.getDescendants(a[n]));a=m}c.beginUpdate();try{for(n=0;n<a.length;n++){var p=a[n],r;if(b)r=["fontSize","fontFamily","fontColor"];else{var u=c.getStyle(p),Q=null!=u?u.split(";"):[];r=f.slice();for(var t=0;t<Q.length;t++){var v=Q[t],x=v.indexOf("=");if(0<=x){var N=v.substring(0,x),F=mxUtils.indexOf(r,N);0<=F&&r.splice(F,1);for(m=0;m<l.length;m++){var y=l[m];if(0<=mxUtils.indexOf(y,N))for(var Y=0;Y<y.length;Y++){var O=mxUtils.indexOf(r,y[Y]);0<=O&&r.splice(O,1)}}}}}var w=
-c.isEdge(p);m=w?g:d;for(var J=c.getStyle(p),t=0;t<r.length;t++){var N=r[t],D=m[N];null!=D&&"edgeStyle"!=N&&("shape"!=N||w)&&(!w||h||0>mxUtils.indexOf(k,N))&&(J=mxUtils.setStyle(J,N,D))}Editor.simpleLabels&&(J=mxUtils.setStyle(mxUtils.setStyle(J,"html",null),"whiteSpace",null));c.setStyle(p,J)}}finally{c.endUpdate()}return a};e.addListener("cellsInserted",function(a,b){n(b.getProperty("cells"),null,null,null,null,!0,!0)});e.addListener("textInserted",function(a,b){n(b.getProperty("cells"),!0)});this.insertHandler=
+for(var n=0;n<a.length;n++)m=m.concat(c.getDescendants(a[n]));a=m}c.beginUpdate();try{for(n=0;n<a.length;n++){var p=a[n],r;if(b)r=["fontSize","fontFamily","fontColor"];else{var u=c.getStyle(p),R=null!=u?u.split(";"):[];r=f.slice();for(var t=0;t<R.length;t++){var v=R[t],x=v.indexOf("=");if(0<=x){var N=v.substring(0,x),E=mxUtils.indexOf(r,N);0<=E&&r.splice(E,1);for(m=0;m<l.length;m++){var y=l[m];if(0<=mxUtils.indexOf(y,N))for(var Y=0;Y<y.length;Y++){var O=mxUtils.indexOf(r,y[Y]);0<=O&&r.splice(O,1)}}}}}var w=
+c.isEdge(p);m=w?g:d;for(var J=c.getStyle(p),t=0;t<r.length;t++){var N=r[t],F=m[N];null!=F&&"edgeStyle"!=N&&("shape"!=N||w)&&(!w||h||0>mxUtils.indexOf(k,N))&&(J=mxUtils.setStyle(J,N,F))}Editor.simpleLabels&&(J=mxUtils.setStyle(mxUtils.setStyle(J,"html",null),"whiteSpace",null));c.setStyle(p,J)}}finally{c.endUpdate()}return a};e.addListener("cellsInserted",function(a,b){n(b.getProperty("cells"),null,null,null,null,!0,!0)});e.addListener("textInserted",function(a,b){n(b.getProperty("cells"),!0)});this.insertHandler=
n;this.createDivs();this.createUi();this.refresh();var p=mxUtils.bind(this,function(a){null==a&&(a=window.event);return e.isEditing()||null!=a&&this.isSelectionAllowed(a)});this.container==document.body&&(this.menubarContainer.onselectstart=p,this.menubarContainer.onmousedown=p,this.toolbarContainer.onselectstart=p,this.toolbarContainer.onmousedown=p,this.diagramContainer.onselectstart=p,this.diagramContainer.onmousedown=p,this.sidebarContainer.onselectstart=p,this.sidebarContainer.onmousedown=p,
this.formatContainer.onselectstart=p,this.formatContainer.onmousedown=p,this.footerContainer.onselectstart=p,this.footerContainer.onmousedown=p,null!=this.tabContainer&&(this.tabContainer.onselectstart=p));!this.editor.chromeless||this.editor.editable?(b=function(a){if(null!=a){var b=mxEvent.getSource(a);if("A"==b.nodeName)for(;null!=b;){if("geHint"==b.className)return!0;b=b.parentNode}}return p(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,
"contextmenu",b):this.diagramContainer.oncontextmenu=b):e.panningHandler.usePopupTrigger=!1;e.init(this.diagramContainer);mxClient.IS_SVG&&null!=e.view.getDrawPane()&&(b=e.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons();if(null!=e.graphHandler){var r=e.graphHandler.start;e.graphHandler.start=function(){null!=z.hoverIcons&&z.hoverIcons.reset();r.apply(this,arguments)}}mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,
function(a){var b=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-b.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-b.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var u=!1,v=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,b){return u||v.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32!=a.which||e.isEditing()?
mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog(null,!0):(u=!0,this.hoverIcons.reset(),e.container.style.cursor="move",e.isEditing()||mxEvent.getSource(a)!=e.container||mxEvent.consume(a))});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){e.container.style.cursor="";u=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var t=e.panningHandler.isForcePanningEvent;e.panningHandler.isForcePanningEvent=function(a){return t.apply(this,
arguments)||u||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var x=e.cellEditor.isStopEditingEvent;e.cellEditor.isStopEditingEvent=function(a){return x.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))};var w=e.isZoomWheelEvent;
-e.isZoomWheelEvent=function(){return u||w.apply(this,arguments)};var y=!1,F=null,I=null,B=null,G=mxUtils.bind(this,function(){if(null!=this.toolbar&&y!=e.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var c=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=c}a=this.toolbar.fontMenu;c=this.toolbar.sizeMenu;if(null==B)this.toolbar.createTextToolbar();else{for(var d=0;d<B.length;d++)this.toolbar.container.appendChild(B[d]);
-this.toolbar.fontMenu=F;this.toolbar.sizeMenu=I}y=e.cellEditor.isContentEditing();F=a;I=c;B=b}}),z=this,D=e.cellEditor.startEditing;e.cellEditor.startEditing=function(){D.apply(this,arguments);G();if(e.cellEditor.isContentEditing()){var a=!1,b=function(){a||(a=!0,window.setTimeout(function(){var b=e.getSelectedEditingElement();null!=b&&(b=mxUtils.getCurrentStyle(b),null!=b&&null!=z.toolbar&&(z.toolbar.setFontName(Graph.stripQuotes(b.fontFamily)),z.toolbar.setFontSize(parseInt(b.fontSize))));a=!1},
-0))};mxEvent.addListener(e.cellEditor.textarea,"input",b);mxEvent.addListener(e.cellEditor.textarea,"touchend",b);mxEvent.addListener(e.cellEditor.textarea,"mouseup",b);mxEvent.addListener(e.cellEditor.textarea,"keyup",b);b()}};var K=e.cellEditor.stopEditing;e.cellEditor.stopEditing=function(a,b){try{K.apply(this,arguments),G()}catch(Q){z.handleError(Q)}};e.container.setAttribute("tabindex","0");e.container.style.cursor="default";if(window.self===window.top&&null!=e.container.parentNode)try{e.container.focus()}catch(N){}var L=
+e.isZoomWheelEvent=function(){return u||w.apply(this,arguments)};var y=!1,E=null,I=null,B=null,G=mxUtils.bind(this,function(){if(null!=this.toolbar&&y!=e.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var c=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=c}a=this.toolbar.fontMenu;c=this.toolbar.sizeMenu;if(null==B)this.toolbar.createTextToolbar();else{for(var d=0;d<B.length;d++)this.toolbar.container.appendChild(B[d]);
+this.toolbar.fontMenu=E;this.toolbar.sizeMenu=I}y=e.cellEditor.isContentEditing();E=a;I=c;B=b}}),z=this,F=e.cellEditor.startEditing;e.cellEditor.startEditing=function(){F.apply(this,arguments);G();if(e.cellEditor.isContentEditing()){var a=!1,b=function(){a||(a=!0,window.setTimeout(function(){var b=e.getSelectedEditingElement();null!=b&&(b=mxUtils.getCurrentStyle(b),null!=b&&null!=z.toolbar&&(z.toolbar.setFontName(Graph.stripQuotes(b.fontFamily)),z.toolbar.setFontSize(parseInt(b.fontSize))));a=!1},
+0))};mxEvent.addListener(e.cellEditor.textarea,"input",b);mxEvent.addListener(e.cellEditor.textarea,"touchend",b);mxEvent.addListener(e.cellEditor.textarea,"mouseup",b);mxEvent.addListener(e.cellEditor.textarea,"keyup",b);b()}};var K=e.cellEditor.stopEditing;e.cellEditor.stopEditing=function(a,b){try{K.apply(this,arguments),G()}catch(R){z.handleError(R)}};e.container.setAttribute("tabindex","0");e.container.style.cursor="default";if(window.self===window.top&&null!=e.container.parentNode)try{e.container.focus()}catch(N){}var L=
e.fireMouseEvent;e.fireMouseEvent=function(a,b,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();L.apply(this,arguments)};e.popupMenuHandler.autoExpand=!0;null!=this.menus&&(e.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,b,c){this.menus.createPopupMenu(a,b,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){e.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};e.connectionHandler.addListener(mxEvent.CONNECT,
function(a,b){var c=[b.getProperty("cell")];b.getProperty("terminalInserted")&&(c.push(b.getProperty("terminal")),window.setTimeout(function(){null!=z.hoverIcons&&z.hoverIcons.update(e.view.getState(c[c.length-1]))},0));n(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,b){var c=b.getProperty("cells"),d=!1,k=!1;if(0<c.length)for(var l=0;l<c.length&&(d=e.getModel().isVertex(c[l])||d,!(k=e.getModel().isEdge(c[l])||k)||!d);l++);else k=d=!0;for(var c=b.getProperty("keys"),n=b.getProperty("values"),
l=0;l<c.length;l++){var p=0<=mxUtils.indexOf(g,c[l]);if("strokeColor"!=c[l]||null!=n[l]&&"none"!=n[l])if(0<=mxUtils.indexOf(h,c[l]))k||0<=mxUtils.indexOf(m,c[l])?null==n[l]?delete e.currentEdgeStyle[c[l]]:e.currentEdgeStyle[c[l]]=n[l]:d&&0<=mxUtils.indexOf(f,c[l])&&(null==n[l]?delete e.currentVertexStyle[c[l]]:e.currentVertexStyle[c[l]]=n[l]);else if(0<=mxUtils.indexOf(f,c[l])){if(d||p)null==n[l]?delete e.currentVertexStyle[c[l]]:e.currentVertexStyle[c[l]]=n[l];if(k||p||0<=mxUtils.indexOf(m,c[l]))null==
@@ -2256,18 +2256,18 @@ Editor.layersImage,mxResources.get("layers")),x=a.getModel();x.addListener(mxEve
function(b){d.fullscreenBtn.url?a.openLink(d.fullscreenBtn.url):a.openLink(window.location.href);mxEvent.consume(b)}),Editor.fullscreenImage,mxResources.get("openInNewWindow",null,"Open in New Window"));(d.closeBtn&&window.self===window.top||a.lightbox&&("1"==urlParams.close||this.container!=document.body))&&f(mxUtils.bind(this,function(a){"1"==urlParams.close||d.closeBtn?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeImage,mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display=
"none";a.isViewer()||mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||v(30),u())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",
mxUtils.bind(this,function(b){a.tooltipHandler.resetTimer();a.tooltipHandler.hideTooltip();mxEvent.isShiftDown(b)?u():v(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?u():v(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||v(30)}));var y=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX=
-c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,d){mxEvent.isTouchEvent(d.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<y&&Math.abs(this.scrollTop-a.container.scrollTop)<y&&Math.abs(this.startX-d.getGraphX())<y&&Math.abs(this.startY-d.getGraphY())<y&&(0<parseFloat(c.chromelessToolbar.style.opacity||0)?u():v(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var F=
-a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),b=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*b.width;this.translate.y=a.y-(this.y0||0)*b.height}F.apply(this,arguments)};if(!a.isViewer()){var I=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),c=this.getPagePadding(),d=this.getPageSize(),e=Math.ceil(2*
+c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,d){mxEvent.isTouchEvent(d.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<y&&Math.abs(this.scrollTop-a.container.scrollTop)<y&&Math.abs(this.startX-d.getGraphX())<y&&Math.abs(this.startY-d.getGraphY())<y&&(0<parseFloat(c.chromelessToolbar.style.opacity||0)?u():v(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var E=
+a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),b=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*b.width;this.translate.y=a.y-(this.y0||0)*b.height}E.apply(this,arguments)};if(!a.isViewer()){var I=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),c=this.getPagePadding(),d=this.getPageSize(),e=Math.ceil(2*
c.x+b.width*d.width),f=Math.ceil(2*c.y+b.height*d.height),g=a.minimumGraphSize;if(null==g||g.width!=e||g.height!=f)a.minimumGraphSize=new mxRectangle(0,0,e,f);e=c.x-b.x*d.width;c=c.y-b.y*d.height;this.autoTranslate||this.view.translate.x==e&&this.view.translate.y==c?I.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=b.y,b=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(e,c),a.container.scrollLeft+=Math.round((e-b)*a.view.scale),a.container.scrollTop+=Math.round((c-
-d)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var B=a.view.getBackgroundPane(),G=a.view.getDrawPane();a.cumulativeZoomFactor=1;var z=null,D=null,K=null,L=null,N=null,J=function(d){null!=z&&window.clearTimeout(z);window.setTimeout(function(){if(!a.isMouseDown||L)z=window.setTimeout(mxUtils.bind(this,function(){a.isFastZoomEnabled()&&(null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,
+d)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var B=a.view.getBackgroundPane(),G=a.view.getDrawPane();a.cumulativeZoomFactor=1;var z=null,F=null,K=null,L=null,N=null,J=function(d){null!=z&&window.clearTimeout(z);window.setTimeout(function(){if(!a.isMouseDown||L)z=window.setTimeout(mxUtils.bind(this,function(){a.isFastZoomEnabled()&&(null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,
"transform-origin",null),mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,"transform",null)),G.style.transformOrigin="",B.style.transformOrigin="",mxClient.IS_SF?(G.style.transform="scale(1)",B.style.transform="scale(1)",window.setTimeout(function(){G.style.transform="";B.style.transform=""},0)):(G.style.transform="",B.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var d=new mxPoint(a.container.scrollLeft,a.container.scrollTop),
-e=mxUtils.getOffset(a.container),f=a.view.scale,g=0,h=0;null!=D&&(g=a.container.offsetWidth/2-D.x+e.x,h=a.container.offsetHeight/2-D.y+e.y);a.zoom(a.cumulativeZoomFactor,null,20);a.view.scale!=f&&(null!=K&&(g+=d.x-K.x,h+=d.y-K.y),null!=b&&c.chromelessResize(!1,null,g*(a.cumulativeZoomFactor-1),h*(a.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==g&&0==h||(a.container.scrollLeft-=g*(a.cumulativeZoomFactor-1),a.container.scrollTop-=h*(a.cumulativeZoomFactor-1)));null!=N&&G.setAttribute("filter",
-N);a.cumulativeZoomFactor=1;N=L=D=K=z=null}),null!=d?d:a.isFastZoomEnabled()?c.wheelZoomDelay:c.lazyZoomDelay)},0)};a.lazyZoom=function(b,d,e,f){f=null!=f?f:this.zoomFactor;(d=d||!a.scrollbars)&&(D=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));b?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:(this.cumulativeZoomFactor*=f,this.cumulativeZoomFactor=Math.round(this.view.scale*
+e=mxUtils.getOffset(a.container),f=a.view.scale,g=0,h=0;null!=F&&(g=a.container.offsetWidth/2-F.x+e.x,h=a.container.offsetHeight/2-F.y+e.y);a.zoom(a.cumulativeZoomFactor,null,20);a.view.scale!=f&&(null!=K&&(g+=d.x-K.x,h+=d.y-K.y),null!=b&&c.chromelessResize(!1,null,g*(a.cumulativeZoomFactor-1),h*(a.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==g&&0==h||(a.container.scrollLeft-=g*(a.cumulativeZoomFactor-1),a.container.scrollTop-=h*(a.cumulativeZoomFactor-1)));null!=N&&G.setAttribute("filter",
+N);a.cumulativeZoomFactor=1;N=L=F=K=z=null}),null!=d?d:a.isFastZoomEnabled()?c.wheelZoomDelay:c.lazyZoomDelay)},0)};a.lazyZoom=function(b,d,e,f){f=null!=f?f:this.zoomFactor;(d=d||!a.scrollbars)&&(F=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));b?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:(this.cumulativeZoomFactor*=f,this.cumulativeZoomFactor=Math.round(this.view.scale*
this.cumulativeZoomFactor*100)/100/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=f,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*100)/100/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;a.isFastZoomEnabled()&&(null==N&&""!=G.getAttribute("filter")&&(N=G.getAttribute("filter"),
-G.removeAttribute("filter")),K=new mxPoint(a.container.scrollLeft,a.container.scrollTop),b=d||null==D?a.container.scrollLeft+a.container.clientWidth/2:D.x+a.container.scrollLeft-a.container.offsetLeft,f=d||null==D?a.container.scrollTop+a.container.clientHeight/2:D.y+a.container.scrollTop-a.container.offsetTop,G.style.transformOrigin=b+"px "+f+"px",G.style.transform="scale("+this.cumulativeZoomFactor+")",B.style.transformOrigin=b+"px "+f+"px",B.style.transform="scale("+this.cumulativeZoomFactor+")",
-null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(b=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(b.style,"transform-origin",(d||null==D?a.container.clientWidth/2+a.container.scrollLeft-b.offsetLeft+"px":D.x+a.container.scrollLeft-b.offsetLeft-a.container.offsetLeft+"px")+" "+(d||null==D?a.container.clientHeight/2+a.container.scrollTop-b.offsetTop+"px":D.y+a.container.scrollTop-b.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(b.style,"transform",
+G.removeAttribute("filter")),K=new mxPoint(a.container.scrollLeft,a.container.scrollTop),b=d||null==F?a.container.scrollLeft+a.container.clientWidth/2:F.x+a.container.scrollLeft-a.container.offsetLeft,f=d||null==F?a.container.scrollTop+a.container.clientHeight/2:F.y+a.container.scrollTop-a.container.offsetTop,G.style.transformOrigin=b+"px "+f+"px",G.style.transform="scale("+this.cumulativeZoomFactor+")",B.style.transformOrigin=b+"px "+f+"px",B.style.transform="scale("+this.cumulativeZoomFactor+")",
+null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(b=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(b.style,"transform-origin",(d||null==F?a.container.clientWidth/2+a.container.scrollLeft-b.offsetLeft+"px":F.x+a.container.scrollLeft-b.offsetLeft-a.container.offsetLeft+"px")+" "+(d||null==F?a.container.clientHeight/2+a.container.scrollTop-b.offsetTop+"px":F.y+a.container.scrollTop-b.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(b.style,"transform",
"scale("+this.cumulativeZoomFactor+")")),a.view.getDecoratorPane().style.opacity="0",a.view.getOverlayPane().style.opacity="0",null!=c.hoverIcons&&c.hoverIcons.reset());J(e)};mxEvent.addGestureListeners(a.container,function(a){null!=z&&window.clearTimeout(z)},null,function(b){1!=a.cumulativeZoomFactor&&J(0)});mxEvent.addListener(a.container,"scroll",function(b){null==z||a.isMouseDown||1==a.cumulativeZoomFactor||J(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,c,d,e,f){a.fireEvent(new mxEventObject("wheel"));
-if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!d&&a.isScrollWheelEvent(b))d=a.view.getTranslate(),e=40/a.view.scale,mxEvent.isShiftDown(b)?a.view.setTranslate(d.x+(c?-e:e),d.y):a.view.setTranslate(d.x,d.y+(c?e:-e));else if(d||a.isZoomWheelEvent(b))for(var g=mxEvent.getSource(b);null!=g;){if(g==a.container)return a.tooltipHandler.hideTooltip(),D=null!=e&&null!=f?new mxPoint(e,f):new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b)),L=d,d=a.zoomFactor,null!=b.deltaY&&Math.round(b.deltaY)!=
+if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&!d&&a.isScrollWheelEvent(b))d=a.view.getTranslate(),e=40/a.view.scale,mxEvent.isShiftDown(b)?a.view.setTranslate(d.x+(c?-e:e),d.y):a.view.setTranslate(d.x,d.y+(c?e:-e));else if(d||a.isZoomWheelEvent(b))for(var g=mxEvent.getSource(b);null!=g;){if(g==a.container)return a.tooltipHandler.hideTooltip(),F=null!=e&&null!=f?new mxPoint(e,f):new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b)),L=d,d=a.zoomFactor,null!=b.deltaY&&Math.round(b.deltaY)!=
b.deltaY&&(d=1+Math.abs(b.deltaY)/20*(d-1)),a.lazyZoom(c,null,null,d),mxEvent.consume(b),!1;g=g.parentNode}}),a.container);a.panningHandler.zoomGraph=function(b){a.cumulativeZoomFactor=b.scale;a.lazyZoom(0<b.scale,!0);mxEvent.consume(b)}};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printImage,mxResources.get("print"))};
EditorUi.prototype.isPagesEnabled=function(){return this.editor.editable||"1"!=urlParams["hide-pages"]};EditorUi.prototype.createTemporaryGraph=function(a){return Graph.createOffscreenGraph(a)};EditorUi.prototype.addChromelessClickHandler=function(){var a=urlParams.highlight;null!=a&&0<a.length&&(a="#"+a);this.editor.graph.addClickHandler(a)};
EditorUi.prototype.toggleFormatPanel=function(a){a=null!=a?a:0==this.formatWidth;null!=this.format&&(this.formatWidth=a?240:0,this.formatContainer.style.display=a?"":"none",this.refresh(),this.format.refresh(),this.fireEvent(new mxEventObject("formatWidthChanged")))};
@@ -2520,7 +2520,7 @@ d.fireEvent(new mxEventObject("cellsInserted","cells",l))}catch(x){this.editorUi
Sidebar.prototype.createDragPreview=function(a,b){var c=document.createElement("div");c.className="geDragPreview";c.style.width=a+"px";c.style.height=b+"px";return c};
Sidebar.prototype.dropAndConnect=function(a,b,c,e,d){var f=this.getDropAndConnectGeometry(a,b[e],c,b),h=[];if(null!=f){var k=this.editorUi.editor.graph,g=null;k.model.beginUpdate();try{var m=k.getCellGeometry(a),l=k.getCellGeometry(b[e]),n=k.model.getParent(a),p=!0;if(null!=k.layoutManager){var r=k.layoutManager.getLayout(n);null!=r&&r.constructor==mxStackLayout&&(p=!1)}var h=k.model.isEdge(a)?null:k.view.getState(n),u=r=0;if(null!=h){var v=h.origin,r=v.x,u=v.y,t=f.getTerminalPoint(!1);null!=t&&(t.x+=
v.x,t.y+=v.y)}var x=!k.isTableRow(a)&&!k.isTableCell(a)&&(k.model.isEdge(a)||null!=m&&!m.relative&&p),w=k.getCellAt((f.x+r+k.view.translate.x)*k.view.scale,(f.y+u+k.view.translate.y)*k.view.scale,null,null,null,function(a,b,c){return!k.isContainer(a.cell)});if(null!=w&&w!=n)h=k.view.getState(w),null!=h&&(v=h.origin,n=w,x=!0,k.model.isEdge(a)||(f.x-=v.x-r,f.y-=v.y-u));else if(!p||k.isTableRow(a)||k.isTableCell(a))f.x+=r,f.y+=u;r=l.x;u=l.y;k.model.isEdge(b[e])&&(u=r=0);h=b=k.importCells(b,f.x-(x?r:
-0),f.y-(x?u:0),x?n:null);if(k.model.isEdge(a))k.model.setTerminal(a,b[e],c==mxConstants.DIRECTION_NORTH);else if(k.model.isEdge(b[e])){k.model.setTerminal(b[e],a,!0);var y=k.getCellGeometry(b[e]);y.points=null;if(null!=y.getTerminalPoint(!1))y.setTerminalPoint(f.getTerminalPoint(!1),!1);else if(x&&k.model.isVertex(n)){var F=k.view.getState(n),v=F.cell!=k.view.currentRoot?F.origin:new mxPoint(0,0);k.cellsMoved(b,v.x,v.y,null,null,!0)}}else l=k.getCellGeometry(b[e]),r=f.x-Math.round(l.x),u=f.y-Math.round(l.y),
+0),f.y-(x?u:0),x?n:null);if(k.model.isEdge(a))k.model.setTerminal(a,b[e],c==mxConstants.DIRECTION_NORTH);else if(k.model.isEdge(b[e])){k.model.setTerminal(b[e],a,!0);var y=k.getCellGeometry(b[e]);y.points=null;if(null!=y.getTerminalPoint(!1))y.setTerminalPoint(f.getTerminalPoint(!1),!1);else if(x&&k.model.isVertex(n)){var E=k.view.getState(n),v=E.cell!=k.view.currentRoot?E.origin:new mxPoint(0,0);k.cellsMoved(b,v.x,v.y,null,null,!0)}}else l=k.getCellGeometry(b[e]),r=f.x-Math.round(l.x),u=f.y-Math.round(l.y),
f.x=Math.round(l.x),f.y=Math.round(l.y),k.model.setGeometry(b[e],f),k.cellsMoved(b,r,u,null,null,!0),h=b.slice(),g=1==h.length?h[0]:null,b.push(k.insertEdge(null,null,"",a,b[e],k.createCurrentEdgeStyle()));null!=d&&mxEvent.isShiftDown(d)||k.fireEvent(new mxEventObject("cellsInserted","cells",b))}catch(I){this.editorUi.handleError(I)}finally{k.model.endUpdate()}k.editAfterInsert&&null!=d&&mxEvent.isMouseEvent(d)&&null!=g&&window.setTimeout(function(){k.startEditing(g)},0)}return h};
Sidebar.prototype.getDropAndConnectGeometry=function(a,b,c,e){var d=this.editorUi.editor.graph,f=d.view,h=1<e.length,k=d.getCellGeometry(a);e=d.getCellGeometry(b);null!=k&&null!=e&&(e=e.clone(),d.model.isEdge(a)?(a=d.view.getState(a),k=a.absolutePoints,b=k[0],d=k[k.length-1],c==mxConstants.DIRECTION_NORTH?(e.x=b.x/f.scale-f.translate.x-e.width/2,e.y=b.y/f.scale-f.translate.y-e.height/2):(e.x=d.x/f.scale-f.translate.x-e.width/2,e.y=d.y/f.scale-f.translate.y-e.height/2)):(k.relative&&(a=d.view.getState(a),
k=k.clone(),k.x=(a.x-f.translate.x)/f.scale,k.y=(a.y-f.translate.y)/f.scale),f=d.defaultEdgeLength,d.model.isEdge(b)&&null!=e.getTerminalPoint(!0)&&null!=e.getTerminalPoint(!1)?(b=e.getTerminalPoint(!0),d=e.getTerminalPoint(!1),f=d.x-b.x,b=d.y-b.y,f=Math.sqrt(f*f+b*b),e.x=k.getCenterX(),e.y=k.getCenterY(),e.width=1,e.height=1,c==mxConstants.DIRECTION_NORTH?(e.height=f,e.y=k.y-f,e.setTerminalPoint(new mxPoint(e.x,e.y),!1)):c==mxConstants.DIRECTION_EAST?(e.width=f,e.x=k.x+k.width,e.setTerminalPoint(new mxPoint(e.x+
@@ -2531,25 +2531,25 @@ Sidebar.prototype.isDropStyleTargetIgnored=function(a){return this.graph.isSwiml
Sidebar.prototype.createDragSource=function(a,b,c,e,d){function f(a,b){var c;c=mxUtils.createImage(a.src);c.style.width=a.width+"px";c.style.height=a.height+"px";null!=b&&c.setAttribute("title",b);mxUtils.setOpacity(c,a==this.refreshTarget?30:20);c.style.position="absolute";c.style.cursor="crosshair";return c}function h(a,b,c,d){null!=d.parentNode&&(mxUtils.contains(c,a,b)?(mxUtils.setOpacity(d,100),J=d):mxUtils.setOpacity(d,d==z?30:20));return c}for(var k=this.editorUi,g=k.editor.graph,m=null,l=
null,n=this,p=0;p<e.length&&(null==l&&g.model.isVertex(e[p])?l=p:null==m&&g.model.isEdge(e[p])&&null==g.model.getTerminal(e[p],!0)&&(m=p),null==l||null==m);p++);var r=this.isDropStyleEnabled(e,l),u=mxUtils.makeDraggable(a,g,mxUtils.bind(this,function(a,c,d,g,f){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=e&&null!=w&&J==z){var h=a.isCellSelected(w.cell)?a.getSelectionCells():[w.cell],h=this.updateShapes(a.model.isEdge(w.cell)?e[0]:e[l],h);a.setSelectionCells(h)}else null!=
e&&null!=J&&null!=t&&J!=z?(h=a.model.isEdge(t.cell)||null==m?l:m,a.setSelectionCells(this.dropAndConnect(t.cell,e,N,h,c))):b.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),c,0,0,g.autoscroll,!0,!0);g.addListener(mxEvent.ESCAPE,function(a,b){u.isActive()&&u.reset()});var v=u.mouseDown;u.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||g.isCellLocked(g.getDefaultParent())||(g.stopEditing(),
-v.apply(this,arguments))};var t=null,x=null,w=null,y=!1,F=f(this.triangleUp,mxResources.get("connect")),I=f(this.triangleRight,mxResources.get("connect")),B=f(this.triangleDown,mxResources.get("connect")),G=f(this.triangleLeft,mxResources.get("connect")),z=f(this.refreshTarget,mxResources.get("replace")),D=null,K=f(this.roundDrop),L=f(this.roundDrop),N=mxConstants.DIRECTION_NORTH,J=null,Q=u.createPreviewElement;u.createPreviewElement=function(a){var b=Q.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents=
+v.apply(this,arguments))};var t=null,x=null,w=null,y=!1,E=f(this.triangleUp,mxResources.get("connect")),I=f(this.triangleRight,mxResources.get("connect")),B=f(this.triangleDown,mxResources.get("connect")),G=f(this.triangleLeft,mxResources.get("connect")),z=f(this.refreshTarget,mxResources.get("replace")),F=null,K=f(this.roundDrop),L=f(this.roundDrop),N=mxConstants.DIRECTION_NORTH,J=null,R=u.createPreviewElement;u.createPreviewElement=function(a){var b=R.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents=
"none");this.previewElementWidth=b.style.width;this.previewElementHeight=b.style.height;return b};var Y=u.dragEnter;u.dragEnter=function(a,b){null!=k.hoverIcons&&k.hoverIcons.setDisplay("none");Y.apply(this,arguments)};var ca=u.dragExit;u.dragExit=function(a,b){null!=k.hoverIcons&&k.hoverIcons.setDisplay("");ca.apply(this,arguments)};u.dragOver=function(a,b){mxDragSource.prototype.dragOver.apply(this,arguments);null!=this.currentGuide&&null!=J&&this.currentGuide.hide();if(null!=this.previewElement){var c=
a.view;if(null!=w&&J==z)this.previewElement.style.display=a.model.isEdge(w.cell)?"none":"",this.previewElement.style.left=w.x+"px",this.previewElement.style.top=w.y+"px",this.previewElement.style.width=w.width+"px",this.previewElement.style.height=w.height+"px";else if(null!=t&&null!=J){null!=u.currentHighlight&&null!=u.currentHighlight.state&&u.currentHighlight.hide();var g=a.model.isEdge(t.cell)||null==m?l:m,f=n.getDropAndConnectGeometry(t.cell,e[g],N,e),h=a.model.isEdge(t.cell)?null:a.getCellGeometry(t.cell),
k=a.getCellGeometry(e[g]),p=a.model.getParent(t.cell),r=c.translate.x*c.scale,v=c.translate.y*c.scale;null!=h&&!h.relative&&a.model.isVertex(p)&&p!=c.currentRoot&&(v=c.getState(p),r=v.x,v=v.y);h=k.x;k=k.y;a.model.isEdge(e[g])&&(k=h=0);this.previewElement.style.left=(f.x-h)*c.scale+r+"px";this.previewElement.style.top=(f.y-k)*c.scale+v+"px";1==e.length&&(this.previewElement.style.width=f.width*c.scale+"px",this.previewElement.style.height=f.height*c.scale+"px");this.previewElement.style.display=""}else null!=
-u.currentHighlight.state&&a.model.isEdge(u.currentHighlight.state.cell)?(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-d.width*c.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-d.height*c.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var O=(new Date).getTime(),R=0,T=null,U=this.editorUi.editor.graph.getCellStyle(e[0]);
-u.getDropTarget=mxUtils.bind(this,function(a,b,c,d){var g=mxEvent.isAltDown(d)||null==e?null:a.getCellAt(b,c,null,null,null,function(b,c,d){return a.isContainer(b.cell)});if(null!=g&&!this.graph.isCellConnectable(g)&&!this.graph.model.isEdge(g)){var f=this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var k=a.view.getState(g),f=J=null;T!=k?(O=(new Date).getTime(),R=0,T=k,null!=this.updateThread&&window.clearTimeout(this.updateThread),
-null!=k&&(this.updateThread=window.setTimeout(function(){null==J&&(T=k,u.getDropTarget(a,b,c,d))},this.dropTargetDelay+10))):R=(new Date).getTime()-O;if(r&&2500>R&&null!=k&&!mxEvent.isShiftDown(d)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(U,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,
-mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(U,mxConstants.STYLE_SHAPE)||1500<R||a.model.isEdge(k.cell))&&R>this.dropTargetDelay&&!this.isDropStyleTargetIgnored(k)&&(a.model.isVertex(k.cell)&&null!=l||a.model.isEdge(k.cell)&&a.model.isEdge(e[0]))){if(a.isCellEditable(k.cell)){w=k;var m=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/
-2,this.refreshTarget.width,this.refreshTarget.height);z.style.left=Math.floor(m.x)+"px";z.style.top=Math.floor(m.y)+"px";null==D&&(a.container.appendChild(z),D=z.parentNode);h(b,c,m,z)}}else null==w||!mxUtils.contains(w,b,c)||1500<R&&!mxEvent.isShiftDown(d)?(w=null,null!=D&&(z.parentNode.removeChild(z),D=null)):null!=w&&null!=D&&(m=a.model.isEdge(w.cell)?a.view.getPoint(w):new mxPoint(w.getCenterX(),w.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/2,this.refreshTarget.width,
+u.currentHighlight.state&&a.model.isEdge(u.currentHighlight.state.cell)?(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-d.width*c.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-d.height*c.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var O=(new Date).getTime(),S=0,U=null,Q=this.editorUi.editor.graph.getCellStyle(e[0]);
+u.getDropTarget=mxUtils.bind(this,function(a,b,c,d){var g=mxEvent.isAltDown(d)||null==e?null:a.getCellAt(b,c,null,null,null,function(b,c,d){return a.isContainer(b.cell)});if(null!=g&&!this.graph.isCellConnectable(g)&&!this.graph.model.isEdge(g)){var f=this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var k=a.view.getState(g),f=J=null;U!=k?(O=(new Date).getTime(),S=0,U=k,null!=this.updateThread&&window.clearTimeout(this.updateThread),
+null!=k&&(this.updateThread=window.setTimeout(function(){null==J&&(U=k,u.getDropTarget(a,b,c,d))},this.dropTargetDelay+10))):S=(new Date).getTime()-O;if(r&&2500>S&&null!=k&&!mxEvent.isShiftDown(d)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(Q,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,
+mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(Q,mxConstants.STYLE_SHAPE)||1500<S||a.model.isEdge(k.cell))&&S>this.dropTargetDelay&&!this.isDropStyleTargetIgnored(k)&&(a.model.isVertex(k.cell)&&null!=l||a.model.isEdge(k.cell)&&a.model.isEdge(e[0]))){if(a.isCellEditable(k.cell)){w=k;var m=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/
+2,this.refreshTarget.width,this.refreshTarget.height);z.style.left=Math.floor(m.x)+"px";z.style.top=Math.floor(m.y)+"px";null==F&&(a.container.appendChild(z),F=z.parentNode);h(b,c,m,z)}}else null==w||!mxUtils.contains(w,b,c)||1500<S&&!mxEvent.isShiftDown(d)?(w=null,null!=F&&(z.parentNode.removeChild(z),F=null)):null!=w&&null!=F&&(m=a.model.isEdge(w.cell)?a.view.getPoint(w):new mxPoint(w.getCenterX(),w.getCenterY()),m=new mxRectangle(m.x-this.refreshTarget.width/2,m.y-this.refreshTarget.height/2,this.refreshTarget.width,
this.refreshTarget.height),h(b,c,m,z));if(y&&null!=t&&!mxEvent.isAltDown(d)&&null==J){f=mxRectangle.fromRectangle(t);if(a.model.isEdge(t.cell)){var n=t.absolutePoints;null!=K.parentNode&&(m=n[0],f.add(h(b,c,new mxRectangle(m.x-this.roundDrop.width/2,m.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),K)));null!=L.parentNode&&(n=n[n.length-1],f.add(h(b,c,new mxRectangle(n.x-this.roundDrop.width/2,n.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),L)))}else m=
mxRectangle.fromRectangle(t),null!=t.shape&&null!=t.shape.boundingBox&&(m=mxRectangle.fromRectangle(t.shape.boundingBox)),m.grow(this.graph.tolerance),m.grow(HoverIcons.prototype.arrowSpacing),n=this.graph.selectionCellsHandler.getHandler(t.cell),null!=n&&(m.x-=n.horizontalOffset/2,m.y-=n.verticalOffset/2,m.width+=n.horizontalOffset,m.height+=n.verticalOffset,null!=n.rotationShape&&null!=n.rotationShape.node&&"hidden"!=n.rotationShape.node.style.visibility&&"none"!=n.rotationShape.node.style.display&&
-null!=n.rotationShape.boundingBox&&m.add(n.rotationShape.boundingBox)),f.add(h(b,c,new mxRectangle(t.getCenterX()-this.triangleUp.width/2,m.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),F)),f.add(h(b,c,new mxRectangle(m.x+m.width,t.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),I)),f.add(h(b,c,new mxRectangle(t.getCenterX()-this.triangleDown.width/2,m.y+m.height,this.triangleDown.width,this.triangleDown.height),B)),f.add(h(b,c,
-new mxRectangle(m.x-this.triangleLeft.width,t.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),G));null!=f&&f.grow(10)}N=mxConstants.DIRECTION_NORTH;J==I?N=mxConstants.DIRECTION_EAST:J==B||J==L?N=mxConstants.DIRECTION_SOUTH:J==G&&(N=mxConstants.DIRECTION_WEST);null!=w&&J==z&&(k=w);m=(null==l||a.isCellConnectable(e[l]))&&(a.model.isEdge(g)&&null!=l||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=t&&5E3<=R||t!=k&&(null==f||!mxUtils.contains(f,b,c)||500<
-R&&null==J&&m))if(y=!1,t=5E3>R&&R>this.dropTargetDelay||a.model.isEdge(g)?k:null,null!=t&&m){f=[K,L,F,I,B,G];for(m=0;m<f.length;m++)null!=f[m].parentNode&&f[m].parentNode.removeChild(f[m]);a.model.isEdge(g)?(n=k.absolutePoints,null!=n&&(m=n[0],n=n[n.length-1],f=a.tolerance,new mxRectangle(b-f,c-f,2*f,2*f),K.style.left=Math.floor(m.x-this.roundDrop.width/2)+"px",K.style.top=Math.floor(m.y-this.roundDrop.height/2)+"px",L.style.left=Math.floor(n.x-this.roundDrop.width/2)+"px",L.style.top=Math.floor(n.y-
+null!=n.rotationShape.boundingBox&&m.add(n.rotationShape.boundingBox)),f.add(h(b,c,new mxRectangle(t.getCenterX()-this.triangleUp.width/2,m.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),E)),f.add(h(b,c,new mxRectangle(m.x+m.width,t.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),I)),f.add(h(b,c,new mxRectangle(t.getCenterX()-this.triangleDown.width/2,m.y+m.height,this.triangleDown.width,this.triangleDown.height),B)),f.add(h(b,c,
+new mxRectangle(m.x-this.triangleLeft.width,t.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),G));null!=f&&f.grow(10)}N=mxConstants.DIRECTION_NORTH;J==I?N=mxConstants.DIRECTION_EAST:J==B||J==L?N=mxConstants.DIRECTION_SOUTH:J==G&&(N=mxConstants.DIRECTION_WEST);null!=w&&J==z&&(k=w);m=(null==l||a.isCellConnectable(e[l]))&&(a.model.isEdge(g)&&null!=l||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=t&&5E3<=S||t!=k&&(null==f||!mxUtils.contains(f,b,c)||500<
+S&&null==J&&m))if(y=!1,t=5E3>S&&S>this.dropTargetDelay||a.model.isEdge(g)?k:null,null!=t&&m){f=[K,L,E,I,B,G];for(m=0;m<f.length;m++)null!=f[m].parentNode&&f[m].parentNode.removeChild(f[m]);a.model.isEdge(g)?(n=k.absolutePoints,null!=n&&(m=n[0],n=n[n.length-1],f=a.tolerance,new mxRectangle(b-f,c-f,2*f,2*f),K.style.left=Math.floor(m.x-this.roundDrop.width/2)+"px",K.style.top=Math.floor(m.y-this.roundDrop.height/2)+"px",L.style.left=Math.floor(n.x-this.roundDrop.width/2)+"px",L.style.top=Math.floor(n.y-
this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(K),null==a.model.getTerminal(g,!1)&&a.container.appendChild(L))):(m=mxRectangle.fromRectangle(k),null!=k.shape&&null!=k.shape.boundingBox&&(m=mxRectangle.fromRectangle(k.shape.boundingBox)),m.grow(this.graph.tolerance),m.grow(HoverIcons.prototype.arrowSpacing),n=this.graph.selectionCellsHandler.getHandler(k.cell),null!=n&&(m.x-=n.horizontalOffset/2,m.y-=n.verticalOffset/2,m.width+=n.horizontalOffset,m.height+=n.verticalOffset,
-null!=n.rotationShape&&null!=n.rotationShape.node&&"hidden"!=n.rotationShape.node.style.visibility&&"none"!=n.rotationShape.node.style.display&&null!=n.rotationShape.boundingBox&&m.add(n.rotationShape.boundingBox)),F.style.left=Math.floor(k.getCenterX()-this.triangleUp.width/2)+"px",F.style.top=Math.floor(m.y-this.triangleUp.height)+"px",I.style.left=Math.floor(m.x+m.width)+"px",I.style.top=Math.floor(k.getCenterY()-this.triangleRight.height/2)+"px",B.style.left=F.style.left,B.style.top=Math.floor(m.y+
-m.height)+"px",G.style.left=Math.floor(m.x-this.triangleLeft.width)+"px",G.style.top=I.style.top,"eastwest"!=k.style.portConstraint&&(a.container.appendChild(F),a.container.appendChild(B)),a.container.appendChild(I),a.container.appendChild(G));null!=k&&(x=a.selectionCellsHandler.getHandler(k.cell),null!=x&&null!=x.setHandlesVisible&&x.setHandlesVisible(!1));y=!0}else for(f=[K,L,F,I,B,G],m=0;m<f.length;m++)null!=f[m].parentNode&&f[m].parentNode.removeChild(f[m]);y||null==x||x.setHandlesVisible(!0);
+null!=n.rotationShape&&null!=n.rotationShape.node&&"hidden"!=n.rotationShape.node.style.visibility&&"none"!=n.rotationShape.node.style.display&&null!=n.rotationShape.boundingBox&&m.add(n.rotationShape.boundingBox)),E.style.left=Math.floor(k.getCenterX()-this.triangleUp.width/2)+"px",E.style.top=Math.floor(m.y-this.triangleUp.height)+"px",I.style.left=Math.floor(m.x+m.width)+"px",I.style.top=Math.floor(k.getCenterY()-this.triangleRight.height/2)+"px",B.style.left=E.style.left,B.style.top=Math.floor(m.y+
+m.height)+"px",G.style.left=Math.floor(m.x-this.triangleLeft.width)+"px",G.style.top=I.style.top,"eastwest"!=k.style.portConstraint&&(a.container.appendChild(E),a.container.appendChild(B)),a.container.appendChild(I),a.container.appendChild(G));null!=k&&(x=a.selectionCellsHandler.getHandler(k.cell),null!=x&&null!=x.setHandlesVisible&&x.setHandlesVisible(!1));y=!0}else for(f=[K,L,E,I,B,G],m=0;m<f.length;m++)null!=f[m].parentNode&&f[m].parentNode.removeChild(f[m]);y||null==x||x.setHandlesVisible(!0);
g=mxEvent.isAltDown(d)&&!mxEvent.isShiftDown(d)||null!=w&&J==z?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=J||!a.isSplitTarget(g,e,d))){for(;null!=g&&!a.isValidDropTarget(g,e,d)&&f.isVertex(f.getParent(g));)g=f.getParent(g);null!=g&&(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||a.isCellLocked(g)||f.isEdge(g)||!a.isValidDropTarget(g,e,d))&&(g=null)}a.isCellLocked(g)&&(g=null);return g});u.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,
-arguments);for(var a=[K,L,z,F,I,B,G],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=t&&null!=x&&x.reset();J=D=w=t=x=null};return u};
+arguments);for(var a=[K,L,z,E,I,B,G],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=t&&null!=x&&x.reset();J=F=w=t=x=null};return u};
Sidebar.prototype.itemClicked=function(a,b,c,e){e=this.editorUi.editor.graph;e.container.focus();if(mxEvent.isAltDown(c)&&1==e.getSelectionCount()&&e.model.isVertex(e.getSelectionCell())){b=null;for(var d=0;d<a.length&&null==b;d++)e.model.isVertex(a[d])&&(b=d);null!=b&&(e.setSelectionCells(this.dropAndConnect(e.getSelectionCell(),a,mxEvent.isMetaDown(c)||mxEvent.isControlDown(c)?mxEvent.isShiftDown(c)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(c)?mxConstants.DIRECTION_EAST:
mxConstants.DIRECTION_SOUTH,b,c)),e.scrollCellToVisible(e.getSelectionCell()))}else mxEvent.isShiftDown(c)&&!e.isSelectionEmpty()?(c=e.getEditableCells(e.getSelectionCells()),this.updateShapes(a[0],c),e.scrollCellToVisible(c)):(a=mxEvent.isAltDown(c)?e.getFreeInsertPoint():e.getCenterInsertPoint(e.getBoundingBoxFromGeometry(a,!0)),b.drop(e,c,null,a.x,a.y,!0))};
Sidebar.prototype.addClickHandler=function(a,b,c){var e=b.mouseDown,d=b.mouseMove,f=b.mouseUp,h=this.editorUi.editor.graph.tolerance,k=null,g=this;b.mouseDown=function(b){e.apply(this,arguments);k=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b));null!=this.dragElement&&(this.dragElement.style.display="none",mxUtils.setOpacity(a,50))};b.mouseMove=function(b){null!=this.dragElement&&"none"==this.dragElement.style.display&&null!=k&&(Math.abs(k.x-mxEvent.getClientX(b))>h||Math.abs(k.y-mxEvent.getClientY(b))>
@@ -2595,12 +2595,12 @@ function(){var a=n.apply(this,arguments);if(this.graph.pageVisible){for(var b=[]
function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};var p=this.graphHandler.getCells;this.graphHandler.getCells=function(a){for(var b=p.apply(this,arguments),c=new mxDictionary,d=[],e=0;e<b.length;e++){var f=this.graph.isTableCell(a)&&this.graph.isTableCell(b[e])&&
this.graph.isCellSelected(b[e])?this.graph.model.getParent(b[e]):this.graph.isTableRow(a)&&this.graph.isTableRow(b[e])&&this.graph.isCellSelected(b[e])?b[e]:this.graph.getCompositeParent(b[e]);null==f||c.get(f)||(c.put(f,!0),d.push(f))}return d};var r=this.graphHandler.start;this.graphHandler.start=function(a,b,c,d){var e=!1;this.graph.isTableCell(a)&&(this.graph.isCellSelected(a)?e=!0:a=this.graph.model.getParent(a));e||this.graph.isTableRow(a)&&this.graph.isCellSelected(a)||(a=this.graph.getCompositeParent(a));
r.apply(this,arguments)};this.connectionHandler.createTargetVertex=function(a,b){b=this.graph.getCompositeParent(b);return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var u=new mxRubberband(this);this.getRubberband=function(){return u};var v=(new Date).getTime(),t=0,x=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;x.apply(this,arguments);a!=this.currentState?(v=(new Date).getTime(),t=0):t=(new Date).getTime()-v};var w=
-this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<t||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&w.apply(this,arguments)};var y=this.isToggleEvent;this.isToggleEvent=function(a){return y.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var F=u.isForceRubberbandEvent;u.isForceRubberbandEvent=function(a){return F.apply(this,
+this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<t||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&w.apply(this,arguments)};var y=this.isToggleEvent;this.isToggleEvent=function(a){return y.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var E=u.isForceRubberbandEvent;u.isForceRubberbandEvent=function(a){return E.apply(this,
arguments)&&!mxEvent.isShiftDown(a.getEvent())&&!mxEvent.isControlDown(a.getEvent())||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a.getEvent())||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var I=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(I=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,
mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=I)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var B=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return B.apply(this,arguments);var c=b?a.sourceState.cell:a.getCell();null!=c&&(c=this.getClickableLinkForCell(c),null!=c&&(this.isCustomLink(c)?
this.customLinkClicked(c):this.openLink(c)));this.isEnabled()&&b&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};var G=this.tooltipHandler.show;this.tooltipHandler.show=function(){G.apply(this,arguments);if(null!=this.div)for(var a=this.div.getElementsByTagName("a"),b=0;b<a.length;b++)null!=a[b].getAttribute("href")&&null==a[b].getAttribute("target")&&a[b].setAttribute("target","_blank")};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};
this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var z=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getClickableLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return z.apply(this,arguments)};this.selectRegion=function(a,b){var c=mxEvent.isAltDown(b)?a:null,c=this.getCells(a.x,
-a.y,a.width,a.height,null,null,c,function(a){return"1"==mxUtils.getValue(a.style,"locked","0")},!0);if(this.isToggleEvent(b))for(var d=0;d<c.length;d++)this.selectCellForEvent(c[d],b);else this.selectCellsForEvent(c,b);return c};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this,arguments)};this.isCellLocked=function(a){for(;null!=a;){if("1"==mxUtils.getValue(this.getCurrentCellStyle(a),
+a.y,a.width,a.height,null,null,c,function(a){return"1"==mxUtils.getValue(a.style,"locked","0")},!0);if(this.isToggleEvent(b))for(var d=0;d<c.length;d++)this.selectCellForEvent(c[d],b);else this.selectCellsForEvent(c,b);return c};var F=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:F.apply(this,arguments)};this.isCellLocked=function(a){for(;null!=a;){if("1"==mxUtils.getValue(this.getCurrentCellStyle(a),
"locked","0"))return!0;a=this.model.getParent(a)}return!1};var K=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();K=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,
mxEvent.getClientX(c),mxEvent.getClientY(c)),u.start(c.x,c.y)):null!=K?this.addSelectionCells(K):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);K=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){var c=a.view.graph;return b&&(c.isCellSelected(a.cell)||c.isTableRow(a.cell)&&c.selectionCellsHandler.isHandled(c.model.getParent(a.cell)))};this.selectionModel.addListener(mxEvent.CHANGE,
mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var L=this.updateMouseEvent;this.updateMouseEvent=function(a){a=L.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};
@@ -2766,11 +2766,11 @@ b.x+Graph.minTableColumnWidth,h.setGeometry(a,c));this.graph.visitTableCells(a,m
arguments);null!=d&&c&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var c=mxShape.prototype.paint;mxShape.prototype.paint=function(){c.apply(this,arguments);if(null!=this.state&&null!=this.node&&this.state.view.graph.enableFlowAnimation&&this.state.view.graph.model.isEdge(this.state.cell)&&"1"==mxUtils.getValue(this.state.style,"flowAnimation","0")){var a=this.node.getElementsByTagName("path");if(1<a.length){"1"!=mxUtils.getValue(this.state.style,
mxConstants.STYLE_DASHED,"0")&&a[1].setAttribute("stroke-dasharray",8*this.state.view.scale);var b=this.state.view.graph.getFlowAnimationStyle();null!=b&&a[1].setAttribute("class",b.getAttribute("id"))}}};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return e.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var d=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=
function(a){d.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,d=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(b,c,e){var f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=
-b||f.x!=c||f.y!=e},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],m=[],l=b[g+2];g<b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,l.x,l.y,h.x,h.y)<1*this.scale*this.scale;)h=l,g++,l=b[g+2];for(var c=e(0,k.x,k.y)||c,I=0;I<this.validEdges.length;I++){var B=this.validEdges[I],G=B.absolutePoints;if(null!=G&&mxUtils.intersects(a,B)&&"1"!=B.style.noJump)for(B=0;B<G.length-1;B++){for(var z=G[B+1],D=G[B],l=G[B+2];B<G.length-2&&mxUtils.ptSegDistSq(D.x,D.y,l.x,l.y,z.x,z.y)<1*this.scale*this.scale;)z=
-l,B++,l=G[B+2];l=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,z.x,z.y);if(null!=l&&(Math.abs(l.x-k.x)>f||Math.abs(l.y-k.y)>f)&&(Math.abs(l.x-h.x)>f||Math.abs(l.y-h.y)>f)&&(Math.abs(l.x-D.x)>f||Math.abs(l.y-D.y)>f)&&(Math.abs(l.x-z.x)>f||Math.abs(l.y-z.y)>f)){z=l.x-k.x;D=l.y-k.y;l={distSq:z*z+D*D,x:l.x,y:l.y};for(z=0;z<m.length;z++)if(m[z].distSq>l.distSq){m.splice(z,0,l);l=null;break}null==l||0!=m.length&&m[m.length-1].x===l.x&&m[m.length-1].y===l.y||m.push(l)}}}for(B=0;B<m.length;B++)c=e(1,m[B].x,
+b||f.x!=c||f.y!=e},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],m=[],l=b[g+2];g<b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,l.x,l.y,h.x,h.y)<1*this.scale*this.scale;)h=l,g++,l=b[g+2];for(var c=e(0,k.x,k.y)||c,I=0;I<this.validEdges.length;I++){var B=this.validEdges[I],G=B.absolutePoints;if(null!=G&&mxUtils.intersects(a,B)&&"1"!=B.style.noJump)for(B=0;B<G.length-1;B++){for(var z=G[B+1],F=G[B],l=G[B+2];B<G.length-2&&mxUtils.ptSegDistSq(F.x,F.y,l.x,l.y,z.x,z.y)<1*this.scale*this.scale;)z=
+l,B++,l=G[B+2];l=mxUtils.intersection(k.x,k.y,h.x,h.y,F.x,F.y,z.x,z.y);if(null!=l&&(Math.abs(l.x-k.x)>f||Math.abs(l.y-k.y)>f)&&(Math.abs(l.x-h.x)>f||Math.abs(l.y-h.y)>f)&&(Math.abs(l.x-F.x)>f||Math.abs(l.y-F.y)>f)&&(Math.abs(l.x-z.x)>f||Math.abs(l.y-z.y)>f)){z=l.x-k.x;F=l.y-k.y;l={distSq:z*z+F*F,x:l.x,y:l.y};for(z=0;z<m.length;z++)if(m[z].distSq>l.distSq){m.splice(z,0,l);l=null;break}null==l||0!=m.length&&m[m.length-1].x===l.x&&m[m.length-1].y===l.y||m.push(l)}}}for(B=0;B<m.length;B++)c=e(1,m[B].x,
m[B].y)||c}l=b[b.length-1];c=e(0,l.x,l.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)f.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,e=(parseInt(mxUtils.getValue(this.style,
-"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,g=mxUtils.getValue(this.style,"jumpStyle","none"),h=!0,k=null,m=null,l=[],n=null;a.begin();for(var p=0;p<this.state.routedPoints.length;p++){var B=this.state.routedPoints[p],G=new mxPoint(B.x/this.scale,B.y/this.scale);0==p?G=b[0]:p==this.state.routedPoints.length-1&&(G=b[b.length-1]);var z=!1;if(null!=k&&1==B.type){var D=this.state.routedPoints[p+1],B=D.x/this.scale-G.x,D=D.y/this.scale-G.y,B=B*B+D*D;null==n&&(n=new mxPoint(G.x-k.x,G.y-k.y),
-m=Math.sqrt(n.x*n.x+n.y*n.y),0<m?(n.x=n.x*e/m,n.y=n.y*e/m):n=null);B>e*e&&0<m&&(B=k.x-G.x,D=k.y-G.y,B=B*B+D*D,B>e*e&&(z=new mxPoint(G.x-n.x,G.y-n.y),B=new mxPoint(G.x+n.x,G.y+n.y),l.push(z),this.addPoints(a,l,c,d,!1,null,h),l=0>Math.round(n.x)||0==Math.round(n.x)&&0>=Math.round(n.y)?1:-1,h=!1,"sharp"==g?(a.lineTo(z.x-n.y*l,z.y+n.x*l),a.lineTo(B.x-n.y*l,B.y+n.x*l),a.lineTo(B.x,B.y)):"line"==g?(a.moveTo(z.x+n.y*l,z.y-n.x*l),a.lineTo(z.x-n.y*l,z.y+n.x*l),a.moveTo(B.x-n.y*l,B.y+n.x*l),a.lineTo(B.x+n.y*
+"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,g=mxUtils.getValue(this.style,"jumpStyle","none"),h=!0,k=null,m=null,l=[],n=null;a.begin();for(var p=0;p<this.state.routedPoints.length;p++){var B=this.state.routedPoints[p],G=new mxPoint(B.x/this.scale,B.y/this.scale);0==p?G=b[0]:p==this.state.routedPoints.length-1&&(G=b[b.length-1]);var z=!1;if(null!=k&&1==B.type){var F=this.state.routedPoints[p+1],B=F.x/this.scale-G.x,F=F.y/this.scale-G.y,B=B*B+F*F;null==n&&(n=new mxPoint(G.x-k.x,G.y-k.y),
+m=Math.sqrt(n.x*n.x+n.y*n.y),0<m?(n.x=n.x*e/m,n.y=n.y*e/m):n=null);B>e*e&&0<m&&(B=k.x-G.x,F=k.y-G.y,B=B*B+F*F,B>e*e&&(z=new mxPoint(G.x-n.x,G.y-n.y),B=new mxPoint(G.x+n.x,G.y+n.y),l.push(z),this.addPoints(a,l,c,d,!1,null,h),l=0>Math.round(n.x)||0==Math.round(n.x)&&0>=Math.round(n.y)?1:-1,h=!1,"sharp"==g?(a.lineTo(z.x-n.y*l,z.y+n.x*l),a.lineTo(B.x-n.y*l,B.y+n.x*l),a.lineTo(B.x,B.y)):"line"==g?(a.moveTo(z.x+n.y*l,z.y-n.x*l),a.lineTo(z.x-n.y*l,z.y+n.x*l),a.moveTo(B.x-n.y*l,B.y+n.x*l),a.lineTo(B.x+n.y*
l,B.y-n.x*l),a.moveTo(B.x,B.y)):"arc"==g?(l*=1.3,a.curveTo(z.x-n.y*l,z.y+n.x*l,B.x-n.y*l,B.y+n.x*l,B.x,B.y)):(a.moveTo(B.x,B.y),h=!0),l=[B],z=!0))}else n=null;z||(l.push(G),k=G)}this.addPoints(a,l,c,d,!1,null,h);a.stroke()}};var h=mxGraphView.prototype.getFixedTerminalPoint;mxGraphView.prototype.getFixedTerminalPoint=function(a,b,c,d){return null!=b&&"centerPerimeter"==b.style[mxConstants.STYLE_PERIMETER]?new mxPoint(b.getCenterX(),b.getCenterY()):h.apply(this,arguments)};var k=mxGraphView.prototype.updateFloatingTerminalPoint;
mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)k.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var e=this.getNextPoint(a,c,d),f=this.graph.isOrthogonal(a),g=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),h=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=g)var m=Math.cos(-g),l=Math.sin(-g),e=mxUtils.getRotatedPoint(e,m,l,h);m=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||
0);m+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);e=this.getPerimeterPoint(b,e,0==g&&f,m);0!=g&&(m=Math.cos(g),l=Math.sin(g),e=mxUtils.getRotatedPoint(e,m,l,h));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,e),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(b,
@@ -2814,7 +2814,7 @@ this.isContainer(a))&&"0"!=mxUtils.getValue(d,"dropTarget","1")&&(mxGraph.protot
this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell=function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a,b){var c=this.getModel(),d=[];c.beginUpdate();try{for(var e=0;e<a.length;e++){var f=a[e];if(c.isEdge(f)){var g=
c.getTerminal(f,!0),h=c.getTerminal(f,!1);c.setTerminal(f,h,!0);c.setTerminal(f,g,!1);var k=c.getGeometry(f);if(null!=k){k=k.clone();null!=k.points&&k.points.reverse();var m=k.getTerminalPoint(!0),l=k.getTerminalPoint(!1);k.setTerminalPoint(m,!1);k.setTerminalPoint(l,!0);c.setGeometry(f,k);var n=this.view.getState(f),P=this.view.getState(g),p=this.view.getState(h);if(null!=n){var W=null!=P?this.getConnectionConstraint(n,P,!0):null,r=null!=p?this.getConnectionConstraint(n,p,!1):null;this.setConnectionConstraint(f,
g,!0,r);this.setConnectionConstraint(f,h,!1,W);var u=mxUtils.getValue(n.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING);this.setCellStyles(mxConstants.STYLE_SOURCE_PERIMETER_SPACING,mxUtils.getValue(n.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING),[f]);this.setCellStyles(mxConstants.STYLE_TARGET_PERIMETER_SPACING,u,[f])}d.push(f)}}else if(c.isVertex(f)&&(k=this.getCellGeometry(f),null!=k)){if(!(this.isTable(f)||this.isTableRow(f)||this.isTableCell(f)||this.isSwimlane(f))){k=k.clone();k.x+=k.width/
-2-k.height/2;k.y+=k.height/2-k.width/2;var t=k.width;k.width=k.height;k.height=t;c.setGeometry(f,k)}var v=this.view.getState(f);if(null!=v){var D=[mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST,mxConstants.DIRECTION_NORTH],U=mxUtils.getValue(v.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST);this.setCellStyles(mxConstants.STYLE_DIRECTION,D[mxUtils.mod(mxUtils.indexOf(D,U)+(b?-1:1),D.length)],[f])}d.push(f)}}}finally{c.endUpdate()}return d};Graph.prototype.stencilHasPlaceholders=
+2-k.height/2;k.y+=k.height/2-k.width/2;var t=k.width;k.width=k.height;k.height=t;c.setGeometry(f,k)}var v=this.view.getState(f);if(null!=v){var Q=[mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST,mxConstants.DIRECTION_NORTH],F=mxUtils.getValue(v.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST);this.setCellStyles(mxConstants.STYLE_DIRECTION,Q[mxUtils.mod(mxUtils.indexOf(Q,F)+(b?-1:1),Q.length)],[f])}d.push(f)}}}finally{c.endUpdate()}return d};Graph.prototype.stencilHasPlaceholders=
function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};var p=Graph.prototype.processChange;Graph.prototype.processChange=function(a){if(a instanceof mxGeometryChange&&(this.isTableCell(a.cell)||this.isTableRow(a.cell))&&(null==a.previous&&null!=a.geometry||null!=a.previous&&!a.previous.equals(a.geometry))){var b=a.cell;this.isTableCell(b)&&(b=this.model.getParent(b));this.isTableRow(b)&&
(b=this.model.getParent(b));var c=this.view.getState(b);null!=c&&null!=c.shape&&(this.view.invalidate(b),c.shape.bounds=null)}p.apply(this,arguments);a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value&&this.invalidateDescendantsWithPlaceholders(a.cell)};Graph.prototype.invalidateDescendantsWithPlaceholders=function(a){a=this.model.getDescendants(a);if(0<a.length)for(var b=0;b<a.length;b++){var c=this.view.getState(a[b]);null!=c&&null!=c.shape&&null!=c.shape.stencil&&
this.stencilHasPlaceholders(c.shape.stencil)?this.removeStateForCell(a[b]):this.isReplacePlaceholders(a[b])&&this.view.invalidate(a[b],!1,!1)}};Graph.prototype.replaceElement=function(a,b){for(var c=a.ownerDocument.createElement(null!=b?b:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)c.setAttribute(attr.nodeName,attr.nodeValue);c.innerHTML=a.innerHTML;a.parentNode.replaceChild(c,a)};Graph.prototype.processElements=function(a,b){if(null!=a)for(var c=a.getElementsByTagName("*"),d=
@@ -2847,11 +2847,11 @@ try{for(var k=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var m=this.view.getSt
function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.parseBackgroundImage=function(a){var b=null;null!=a&&0<a.length&&(a=JSON.parse(a),b=new mxImage(a.src,a.width,a.height));return b};Graph.prototype.getBackgroundImageObject=function(a){return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g,h,k,m,l,n,p,r){var P=null;if(null!=r)for(P=new mxDictionary,l=0;l<r.length;l++)P.put(r[l],!0);if(r=this.useCssTransforms)this.useCssTransforms=
!1,this.view.revalidate(),this.sizeDidChange();try{b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;m=null!=m?m:!1;var W="page"==p?this.view.getBackgroundPageBounds():f&&null==P||d||"diagram"==p?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells()),da=this.view.scale;"diagram"==p&&null!=this.backgroundImage&&(W=mxRectangle.fromRectangle(W),W.add(new mxRectangle((this.view.translate.x+this.backgroundImage.x)*da,(this.view.translate.y+this.backgroundImage.y)*da,
this.backgroundImage.width*da,this.backgroundImage.height*da)));if(null==W)throw Error(mxResources.get("drawingEmpty"));var u=mxUtils.createXmlDocument(),t=null!=u.createElementNS?u.createElementNS(mxConstants.NS_SVG,"svg"):u.createElement("svg");null!=a&&(null!=t.style?t.style.backgroundColor=a:t.setAttribute("style","background-color:"+a));null==u.createElementNS?(t.setAttribute("xmlns",mxConstants.NS_SVG),t.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):t.setAttributeNS("http://www.w3.org/2000/xmlns/",
-"xmlns:xlink",mxConstants.NS_XLINK);a=b/da;var v=Math.max(1,Math.ceil(W.width*a)+2*c)+(m&&0==c?5:0),V=Math.max(1,Math.ceil(W.height*a)+2*c)+(m&&0==c?5:0);t.setAttribute("version","1.1");t.setAttribute("width",v+"px");t.setAttribute("height",V+"px");t.setAttribute("viewBox",(e?"-0.5 -0.5":"0 0")+" "+v+" "+V);u.appendChild(t);var ha=null!=u.createElementNS?u.createElementNS(mxConstants.NS_SVG,"g"):u.createElement("g");t.appendChild(ha);var D=this.createSvgCanvas(ha);D.foOffset=e?-.5:0;D.textOffset=
-e?-.5:0;D.imageOffset=e?-.5:0;D.translate(Math.floor(c/b-W.x/da),Math.floor(c/b-W.y/da));var U=document.createElement("div"),x=D.getAlternateText;D.getAlternateText=function(a,b,c,d,e,f,g,h,k,m,l,n,q){if(null!=f&&0<this.state.fontSize)try{mxUtils.isNode(f)?f=f.innerText:(U.innerHTML=f,f=mxUtils.extractTextWithWhitespace(U.childNodes));for(var A=Math.ceil(2*d/this.state.fontSize),C=[],E=0,H=0;(0==A||E<A)&&H<f.length;){var Ca=f.charCodeAt(H);if(10==Ca||13==Ca){if(0<E)break}else C.push(f.charAt(H)),
-255>Ca&&E++;H++}C.length<f.length&&1<f.length-C.length&&(f=mxUtils.trim(C.join(""))+"...");return f}catch(db){return x.apply(this,arguments)}else return x.apply(this,arguments)};var y=this.backgroundImage;if(null!=y){b=da/b;var B=this.view.translate,w=new mxRectangle((y.x+B.x)*b,(y.y+B.y)*b,y.width*b,y.height*b);mxUtils.intersects(W,w)&&D.image(y.x+B.x,y.y+B.y,y.width,y.height,y.src,!0)}D.scale(a);D.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState,z=h.getLinkForCellState;
+"xmlns:xlink",mxConstants.NS_XLINK);a=b/da;var v=Math.max(1,Math.ceil(W.width*a)+2*c)+(m&&0==c?5:0),V=Math.max(1,Math.ceil(W.height*a)+2*c)+(m&&0==c?5:0);t.setAttribute("version","1.1");t.setAttribute("width",v+"px");t.setAttribute("height",V+"px");t.setAttribute("viewBox",(e?"-0.5 -0.5":"0 0")+" "+v+" "+V);u.appendChild(t);var ha=null!=u.createElementNS?u.createElementNS(mxConstants.NS_SVG,"g"):u.createElement("g");t.appendChild(ha);var Q=this.createSvgCanvas(ha);Q.foOffset=e?-.5:0;Q.textOffset=
+e?-.5:0;Q.imageOffset=e?-.5:0;Q.translate(Math.floor(c/b-W.x/da),Math.floor(c/b-W.y/da));var F=document.createElement("div"),x=Q.getAlternateText;Q.getAlternateText=function(a,b,c,d,e,f,g,h,k,m,l,n,q){if(null!=f&&0<this.state.fontSize)try{mxUtils.isNode(f)?f=f.innerText:(F.innerHTML=f,f=mxUtils.extractTextWithWhitespace(F.childNodes));for(var A=Math.ceil(2*d/this.state.fontSize),C=[],D=0,H=0;(0==A||D<A)&&H<f.length;){var Ca=f.charCodeAt(H);if(10==Ca||13==Ca){if(0<D)break}else C.push(f.charAt(H)),
+255>Ca&&D++;H++}C.length<f.length&&1<f.length-C.length&&(f=mxUtils.trim(C.join(""))+"...");return f}catch(db){return x.apply(this,arguments)}else return x.apply(this,arguments)};var y=this.backgroundImage;if(null!=y){b=da/b;var B=this.view.translate,w=new mxRectangle((y.x+B.x)*b,(y.y+B.y)*b,y.width*b,y.height*b);mxUtils.intersects(W,w)&&Q.image(y.x+B.x,y.y+B.y,y.width,y.height,y.src,!0)}Q.scale(a);Q.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState,z=h.getLinkForCellState;
h.getLinkForCellState=function(a,b){var c=z.apply(this,arguments);return null==c||a.view.graph.isCustomLink(c)?null:c};h.getLinkTargetForCellState=function(a,b){return a.view.graph.getLinkTargetForCell(a.cell)};h.drawCellState=function(a,b){for(var c=a.view.graph,d=null!=P?P.get(a.cell):c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!(f&&null==P||d)&&null!=e;)d=null!=P?P.get(e):c.isCellSelected(e),e=c.model.getParent(e);(f&&null==P||d)&&G.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
-D);this.updateSvgLinks(t,k,!0);this.addForeignObjectWarning(D,t);return t}finally{r&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.addForeignObjectWarning=function(a,b){if("0"!=urlParams["svg-warning"]&&0<b.getElementsByTagName("foreignObject").length){var c=a.createElement("switch"),d=a.createElement("g");d.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility");var e=a.createElement("a");e.setAttribute("transform","translate(0,-5)");
+Q);this.updateSvgLinks(t,k,!0);this.addForeignObjectWarning(Q,t);return t}finally{r&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.addForeignObjectWarning=function(a,b){if("0"!=urlParams["svg-warning"]&&0<b.getElementsByTagName("foreignObject").length){var c=a.createElement("switch"),d=a.createElement("g");d.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility");var e=a.createElement("a");e.setAttribute("transform","translate(0,-5)");
null==e.setAttributeNS||b.ownerDocument!=document&&null==document.documentMode?(e.setAttribute("xlink:href",Graph.foreignObjectWarningLink),e.setAttribute("target","_blank")):(e.setAttributeNS(mxConstants.NS_XLINK,"xlink:href",Graph.foreignObjectWarningLink),e.setAttributeNS(mxConstants.NS_XLINK,"target","_blank"));var f=a.createElement("text");f.setAttribute("text-anchor","middle");f.setAttribute("font-size","10px");f.setAttribute("x","50%");f.setAttribute("y","100%");mxUtils.write(f,Graph.foreignObjectWarningText);
c.appendChild(d);e.appendChild(f);c.appendChild(e);b.appendChild(c)}};Graph.prototype.updateSvgLinks=function(a,b,c){a=a.getElementsByTagName("a");for(var d=0;d<a.length;d++)if(null==a[d].getAttribute("target")){var e=a[d].getAttribute("href");null==e&&(e=a[d].getAttribute("xlink:href"));null!=e&&(null!=b&&/^https?:\/\//.test(e)?a[d].setAttribute("target",b):c&&this.isCustomLink(e)&&a[d].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(a){a=new mxSvgCanvas2D(a);
a.pointerEvents=!0;return a};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var b=window.getSelection();b.getRangeAt&&b.rangeCount&&(a=b.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getSelectedEditingElement=function(){for(var a=this.getSelectedElement();null!=a&&a.nodeType!=mxConstants.NODETYPE_ELEMENT;)a=a.parentNode;null!=a&&a==this.cellEditor.textarea&&1==this.cellEditor.textarea.children.length&&
@@ -2890,8 +2890,8 @@ a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds
4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/c)+(this.textarea.offsetHeight-this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*c);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/c)+(this.textarea.offsetWidth-this.textarea.clientWidth)+
"px",this.bounds.width=parseInt(this.textarea.style.width)*c);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",w.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,b){if("0"==mxUtils.getValue(a.style,"html",
"0"))return mxCellEditorGetInitialValue.apply(this,arguments);var c=this.graph.getEditingValue(a.cell,b);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>"));return c=this.graph.sanitizeHtml(c,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b=
-"1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var y=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();y.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(P){}};var F=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();
-try{F.apply(this,arguments),""==b&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=b&&b!=mxConstants.NONE||!(null!=a.cell.geometry&&0<a.cell.geometry.width)||0==mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0)&&0!=
+"1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var y=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();y.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(P){}};var E=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();
+try{E.apply(this,arguments),""==b&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=b&&b!=mxConstants.NONE||!(null!=a.cell.geometry&&0<a.cell.geometry.width)||0==mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0)&&0!=
mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)||(b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getBorderColor=function(a){var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);null!=b&&b!=mxConstants.NONE||!(null!=a.cell.geometry&&0<a.cell.geometry.width)||0==mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)||(b=mxUtils.getValue(a.style,
mxConstants.STYLE_STROKECOLOR,null));b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize=function(a){var b=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*b+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget=function(a,b){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(b.getEvent)};mxGraphView.prototype.formatUnitText=function(a){return a?
b(a,this.unit):a};mxGraphHandler.prototype.updateHint=function(c){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var d=this.graph.view.translate,e=this.graph.view.scale;c=this.roundLength((this.bounds.x+this.currentDx)/e-d.x);d=this.roundLength((this.bounds.y+this.currentDy)/e-d.y);e=this.graph.view.unit;this.hint.innerHTML=b(c,e)+", "+b(d,e);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-
@@ -2899,10 +2899,10 @@ this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy
if(null!=e&&(c=this.graph.getCellStyle(d),"stackLayout"==c.childLayout)){var f=parseFloat(mxUtils.getValue(c,"stackBorder",mxStackLayout.prototype.border)),c="1"==mxUtils.getValue(c,"horizontalStack","1"),g=this.graph.getActualStartSize(d),e=e.clone();c?e.height=b.height+g.y+g.height+2*f:e.width=b.width+g.x+g.width+2*f;this.graph.model.setGeometry(d,e)}}};var B=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function a(a){c.get(a)||
(c.put(a,!0),e.push(a))}for(var b=B.apply(this,arguments),c=new mxDictionary,d=this.graph.model,e=[],f=0;f<b.length;f++){var g=b[f];this.graph.isTableCell(g)?a(d.getParent(d.getParent(g))):this.graph.isTableRow(g)&&a(d.getParent(g));a(g)}return e};var G=mxVertexHandler.prototype.createParentHighlightShape;mxVertexHandler.prototype.createParentHighlightShape=function(a){var b=G.apply(this,arguments);b.stroke="#C0C0C0";b.strokewidth=1;return b};var z=mxEdgeHandler.prototype.createParentHighlightShape;
mxEdgeHandler.prototype.createParentHighlightShape=function(a){var b=z.apply(this,arguments);b.stroke="#C0C0C0";b.strokewidth=1;return b};mxVertexHandler.prototype.rotationHandleVSpacing=-12;mxVertexHandler.prototype.getRotationHandlePosition=function(){var a=this.getHandlePadding();return new mxPoint(this.bounds.x+this.bounds.width-this.rotationHandleVSpacing+a.x/2,this.bounds.y+this.rotationHandleVSpacing-a.y/2)};mxVertexHandler.prototype.isRecursiveResize=function(a,b){return this.graph.isRecursiveVertexResize(a)&&
-!mxEvent.isControlDown(b.getEvent())};mxVertexHandler.prototype.isCenteredEvent=function(a,b){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(b.getEvent())||mxEvent.isMetaDown(b.getEvent())};var D=mxVertexHandler.prototype.isRotationHandleVisible;mxVertexHandler.prototype.isRotationHandleVisible=function(){return D.apply(this,
+!mxEvent.isControlDown(b.getEvent())};mxVertexHandler.prototype.isCenteredEvent=function(a,b){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(b.getEvent())||mxEvent.isMetaDown(b.getEvent())};var F=mxVertexHandler.prototype.isRotationHandleVisible;mxVertexHandler.prototype.isRotationHandleVisible=function(){return F.apply(this,
arguments)&&!this.graph.isTableCell(this.state.cell)&&!this.graph.isTableRow(this.state.cell)&&!this.graph.isTable(this.state.cell)};mxVertexHandler.prototype.getSizerBounds=function(){return this.graph.isTableCell(this.state.cell)?this.graph.view.getState(this.graph.model.getParent(this.graph.model.getParent(this.state.cell))):this.bounds};var K=mxVertexHandler.prototype.isParentHighlightVisible;mxVertexHandler.prototype.isParentHighlightVisible=function(){return K.apply(this,arguments)&&!this.graph.isTableCell(this.state.cell)&&
!this.graph.isTableRow(this.state.cell)};var L=mxVertexHandler.prototype.isCustomHandleVisible;mxVertexHandler.prototype.isCustomHandleVisible=function(a){return a.tableHandle||L.apply(this,arguments)&&(!this.graph.isTable(this.state.cell)||this.graph.isCellSelected(this.state.cell))};mxVertexHandler.prototype.getSelectionBorderInset=function(){var a=0;this.graph.isTableRow(this.state.cell)?a=1:this.graph.isTableCell(this.state.cell)&&(a=2);return a};var N=mxVertexHandler.prototype.getSelectionBorderBounds;
-mxVertexHandler.prototype.getSelectionBorderBounds=function(){return N.apply(this,arguments).grow(-this.getSelectionBorderInset())};var J=null,Q=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){null==J&&(J=mxCellRenderer.defaultShapes.tableLine);var a=Q.apply(this,arguments);if(this.graph.isTable(this.state.cell)){var b=function(a,b,c){for(var d=[],e=0;e<a.length;e++){var g=a[e];d.push(null==g?null:new mxPoint((k+g.x+b)*f,(m+g.y+c)*f))}return d},
+mxVertexHandler.prototype.getSelectionBorderBounds=function(){return N.apply(this,arguments).grow(-this.getSelectionBorderInset())};var J=null,R=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){null==J&&(J=mxCellRenderer.defaultShapes.tableLine);var a=R.apply(this,arguments);if(this.graph.isTable(this.state.cell)){var b=function(a,b,c){for(var d=[],e=0;e<a.length;e++){var g=a[e];d.push(null==g?null:new mxPoint((k+g.x+b)*f,(m+g.y+c)*f))}return d},
c=this,d=this.graph,e=d.model,f=d.view.scale,g=this.state,h=this.selectionBorder,k=this.state.origin.x+d.view.translate.x,m=this.state.origin.y+d.view.translate.y;null==a&&(a=[]);var l=d.view.getCellStates(e.getChildCells(this.state.cell,!0));if(0<l.length){for(var n=e.getChildCells(l[0].cell,!0),p=d.getTableLines(this.state.cell,!1,!0),r=d.getTableLines(this.state.cell,!0,!1),e=0;e<n.length;e++)mxUtils.bind(this,function(e){var k=d.view.getState(n[e]),m=d.getCellGeometry(n[e]),l=null!=m.alternateBounds?
m.alternateBounds:m;null==k&&(k=new mxCellState(d.view,n[e],d.getCellStyle(n[e])),k.x=g.x+m.x*f,k.y=g.y+m.y*f,k.width=l.width*f,k.height=l.height*f,k.updateCachedBounds());var m=e<n.length-1?n[e+1]:null,m=null!=m?d.getCellGeometry(m):null,r=null!=m&&null!=m.alternateBounds?m.alternateBounds:m,m=null!=p[e]?new J(p[e],mxConstants.NONE,1):new mxLine(new mxRectangle,mxConstants.NONE,1,!0);m.isDashed=h.isDashed;m.svgStrokeTolerance++;k=new mxHandle(k,"col-resize",null,m);k.tableHandle=!0;var t=0;k.shape.node.parentNode.insertBefore(k.shape.node,
k.shape.node.parentNode.firstChild);k.redraw=function(){if(null!=this.shape&&null!=this.state.shape){this.shape.stroke=0==t?mxConstants.NONE:h.stroke;if(this.shape.constructor==J)this.shape.line=b(p[e],t,0),this.shape.updateBoundsFromLine();else{var a=d.getActualStartSize(g.cell,!0);this.shape.bounds.width=1;this.shape.bounds.x=this.state.x+(l.width+t)*f;this.shape.bounds.y=g.y+(e==n.length-1?0:a.y*f);this.shape.bounds.height=g.height-(e==n.length-1?0:(a.height+a.y)*f)}this.shape.redraw()}};var u=
@@ -2917,8 +2917,8 @@ b)))};mxVertexHandler.prototype.refresh=function(){if(null!=this.customHandles){
c=this.graph.isTable(this.state.cell)||this.graph.cellEditor.getEditingCell()==this.state.cell;if(!c&&null!=this.customHandles)for(var d=0;d<this.customHandles.length;d++)if(null!=this.customHandles[d].shape&&null!=this.customHandles[d].shape.bounds){var e=this.customHandles[d].shape.bounds,f=e.getCenterX(),g=e.getCenterY();if(Math.abs(this.state.x-f)<e.width/2||Math.abs(this.state.y-g)<e.height/2||Math.abs(this.state.x+this.state.width-f)<e.width/2||Math.abs(this.state.y+this.state.height-g)<e.height/
2){c=!0;break}}c&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(b/=2,this.graph.isTable(this.state.cell)&&(b+=7),a.x=this.sizers[0].bounds.width+b,a.y=this.sizers[0].bounds.height+b):a=ca.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(c){if(this.index!=mxEvent.LABEL_HANDLE){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));if(this.index==mxEvent.ROTATION_HANDLE)this.hint.innerHTML=this.currentAlpha+"&deg;";else{c=
this.state.view.scale;var d=this.state.view.unit;this.hint.innerHTML=b(this.roundLength(this.bounds.width/c),d)+" x "+b(this.roundLength(this.bounds.height/c),d)}c=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0");null==c&&(c=this.bounds);this.hint.style.left=c.x+Math.round((c.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=c.y+c.height+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")}};
-mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};var O=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(a,b){O.apply(this,arguments);null!=this.linkHint&&"none"!=this.linkHint.style.display&&null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&(this.linkHint.style.display="none")};var R=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=
-function(a,b){R.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(c,d){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var e=this.graph.view.translate,f=this.graph.view.scale,g=this.roundLength(d.x/f-e.x),e=this.roundLength(d.y/f-e.y),f=this.graph.view.unit;this.hint.innerHTML=b(g,f)+", "+b(e,f);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=
+mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};var O=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(a,b){O.apply(this,arguments);null!=this.linkHint&&"none"!=this.linkHint.style.display&&null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&(this.linkHint.style.display="none")};var S=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=
+function(a,b){S.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(c,d){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var e=this.graph.view.translate,f=this.graph.view.scale,g=this.roundLength(d.x/f-e.x),e=this.roundLength(d.y/f-e.y),f=this.graph.view.unit;this.hint.innerHTML=b(g,f)+", "+b(e,f);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=
this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(g=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*g.x)+"%, "+Math.round(100*g.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(c.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(c.getGraphY(),d.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};Graph.prototype.expandedImage=
Graph.createSvgImage(9,9,'<defs><linearGradient id="grad1" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="30%" style="stop-color:#f0f0f0;" /><stop offset="100%" style="stop-color:#AFB0B6;" /></linearGradient></defs><rect x="0" y="0" width="9" height="9" stroke="#8A94A5" fill="url(#grad1)" stroke-width="2"/><path d="M 2 4.5 L 7 4.5 z" stroke="#000"/>');Graph.prototype.collapsedImage=Graph.createSvgImage(9,9,'<defs><linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="30%" style="stop-color:#f0f0f0;" /><stop offset="100%" style="stop-color:#AFB0B6;" /></linearGradient></defs><rect x="0" y="0" width="9" height="9" stroke="#8A94A5" fill="url(#grad1)" stroke-width="2"/><path d="M 4.5 2 L 4.5 7 M 2 4.5 L 7 4.5 z" stroke="#000"/>');
mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>');HoverIcons.prototype.endMainHandle=Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="6" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>');HoverIcons.prototype.secondaryHandle=Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>');
@@ -2929,15 +2929,15 @@ mxEdgeHandler.prototype.endHandleImage=HoverIcons.prototype.endMainHandle;mxEdge
HoverIcons.prototype.mainHandle;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=
!0;mxVertexHandler.prototype.livePreview=!0;mxGraphHandler.prototype.maxLivePreview=16;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=!0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=
!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};if(Graph.touchStyle){if(mxClient.IS_TOUCH||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=
-12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-16,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return null==a.getState()&&!mxEvent.isMouseEvent(b)||mxEvent.isPopupTrigger(b)&&(null==a.getState()||mxEvent.isControlDown(b)||mxEvent.isShiftDown(b))};var T=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=
-function(a,b){T.apply(this,arguments);mxEvent.isTouchEvent(b.getEvent())&&this.graph.isCellSelected(b.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return mxEvent.isLeftMouseButton(b)&&(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b))||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&
+12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-16,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return null==a.getState()&&!mxEvent.isMouseEvent(b)||mxEvent.isPopupTrigger(b)&&(null==a.getState()||mxEvent.isControlDown(b)||mxEvent.isShiftDown(b))};var U=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=
+function(a,b){U.apply(this,arguments);mxEvent.isTouchEvent(b.getEvent())&&this.graph.isCellSelected(b.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return mxEvent.isLeftMouseButton(b)&&(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b))||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&
!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())&&mxEvent.isAltDown(a.getEvent())};mxRubberband.prototype.cancelled=!1;mxRubberband.prototype.cancel=function(){this.isActive()&&(this.cancelled=!0,this.reset())};mxRubberband.prototype.mouseUp=function(a,b){if(this.cancelled)this.cancelled=!1,b.consume();else{var c=null!=this.div&&"none"!=this.div.style.display,d=null,e=null,f=null,g=null;null!=this.first&&null!=this.currentX&&
null!=this.currentY&&(d=this.first.x,e=this.first.y,f=(this.currentX-d)/this.graph.view.scale,g=(this.currentY-e)/this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(f=this.graph.snap(f),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(f)<this.graph.tolerance&&(f=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(c){if(this.isSpaceEvent(b)){this.graph.model.beginUpdate();try{for(var k=this.graph.getCellsBeyond(d,e,this.graph.getDefaultParent(),!0,!0),c=0;c<k.length;c++)if(this.graph.isCellMovable(k[c])){var h=
this.graph.view.getState(k[c]),m=this.graph.getCellGeometry(k[c]);null!=h&&null!=m&&(m=m.clone(),m.translate(f,g),this.graph.model.setGeometry(k[c],m))}}finally{this.graph.model.endUpdate()}}else f=new mxRectangle(this.x,this.y,this.width,this.height),this.graph.selectRegion(f,b.getEvent());b.consume()}}};mxRubberband.prototype.mouseMove=function(a,b){if(!b.isConsumed()&&null!=this.first){var c=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);c.x-=d.x;c.y-=d.y;
var d=b.getX()+c.x,c=b.getY()+c.y,e=this.first.x-d,f=this.first.y-c,g=this.graph.tolerance;if(null!=this.div||Math.abs(e)>g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),this.isSpaceEvent(b)?(d=this.x+this.width,c=this.y+this.height,e=this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(this.width=this.graph.snap(this.width/e)*e,this.height=this.graph.snap(this.height/e)*e,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=
0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=d-this.width),this.y<this.first.y&&(this.y=c-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left=this.x+"px",this.div.style.top=this.y+"px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=
this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),
-this.secondDiv=null)),b.consume()}};var U=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);U.apply(this,arguments)};var X=(new Date).getTime(),ka=0,ma=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){ma.apply(this,arguments);c!=this.currentTerminalState?(X=(new Date).getTime(),ka=0):ka=(new Date).getTime()-X;this.currentTerminalState=
+this.secondDiv=null)),b.consume()}};var Q=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);Q.apply(this,arguments)};var X=(new Date).getTime(),ka=0,ma=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){ma.apply(this,arguments);c!=this.currentTerminalState?(X=(new Date).getTime(),ka=0):ka=(new Date).getTime()-X;this.currentTerminalState=
c};var oa=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<ka||(null==this.currentTerminalState||"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&oa.apply(this,arguments)};mxEdgeHandler.prototype.createHandleShape=function(a,b,c){b=null!=a&&0==a;var d=this.state.getVisibleTerminalState(b);a=null!=a&&(0==a||a>=this.state.absolutePoints.length-
1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,b):null;c=null!=(null!=a?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b),a):null)?c?this.endFixedHandleImage:this.fixedHandleImage:null!=a&&null!=d?c?this.endTerminalHandleImage:this.terminalHandleImage:c?this.endHandleImage:this.handleImage;if(null!=c)return c=new mxImageShape(new mxRectangle(0,0,c.width,c.height),c.src),c.preserveImageAspect=!1,c;c=mxConstants.HANDLE_SIZE;this.preferHtml&&
--c;return new mxRectangleShape(new mxRectangle(0,0,c,c),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var pa=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,b,c){this.handleImage=b==mxEvent.ROTATION_HANDLE?HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return pa.apply(this,arguments)};var ga=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=
@@ -3051,11 +3051,11 @@ BaseFormatPanel.prototype.getUnitStep=function(){switch(this.editorUi.editor.gra
ArrangePanel.prototype.addGeometry=function(a){var b=this,c=this.editorUi,e=c.editor.graph,d=e.getModel(),f=c.getSelectionState(),h=this.createPanel();h.style.paddingBottom="8px";var k=document.createElement("div");k.style.position="absolute";k.style.width="50px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,mxResources.get("size"));h.appendChild(k);var g,m,l,n,p=this.addUnitInput(h,this.getUnit(),87,52,function(){g.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),
r=this.addUnitInput(h,this.getUnit(),16,52,function(){m.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),u=document.createElement("div");u.className="geSprite geSprite-fit";u.setAttribute("title",mxResources.get("autosize")+" ("+this.editorUi.actions.get("autosize").shortcut+")");u.style.position="relative";u.style.cursor="pointer";u.style.marginTop="-3px";u.style.border="0px";u.style.left="42px";mxUtils.setOpacity(u,50);mxEvent.addListener(u,"mouseenter",function(){mxUtils.setOpacity(u,
100)});mxEvent.addListener(u,"mouseleave",function(){mxUtils.setOpacity(u,50)});mxEvent.addListener(u,"click",function(){c.actions.get("autosize").funct()});h.appendChild(u);f.row?(p.style.visibility="hidden",p.nextSibling.style.visibility="hidden"):this.addLabel(h,mxResources.get("width"),87);this.addLabel(h,mxResources.get("height"),16);mxUtils.br(h);k=document.createElement("div");k.style.paddingTop="8px";k.style.paddingRight="20px";k.style.whiteSpace="nowrap";k.style.textAlign="right";var v=this.createCellOption(mxResources.get("constrainProportions"),
-mxConstants.STYLE_ASPECT,null,"fixed","null");v.style.width="210px";k.appendChild(v);f.cell||f.row?u.style.visibility="hidden":h.appendChild(k);var t=v.getElementsByTagName("input")[0];this.addKeyHandler(p,F);this.addKeyHandler(r,F);g=this.addGeometryHandler(p,function(a,c,d){if(e.isTableCell(d))return e.setTableColumnWidth(d,c-a.width,!0),!0;0<a.width&&(c=Math.max(1,b.fromUnit(c)),t.checked&&(a.height=Math.round(a.height*c*100/a.width)/100),a.width=c)});m=this.addGeometryHandler(r,function(a,c,d){e.isTableCell(d)&&
+mxConstants.STYLE_ASPECT,null,"fixed","null");v.style.width="210px";k.appendChild(v);f.cell||f.row?u.style.visibility="hidden":h.appendChild(k);var t=v.getElementsByTagName("input")[0];this.addKeyHandler(p,E);this.addKeyHandler(r,E);g=this.addGeometryHandler(p,function(a,c,d){if(e.isTableCell(d))return e.setTableColumnWidth(d,c-a.width,!0),!0;0<a.width&&(c=Math.max(1,b.fromUnit(c)),t.checked&&(a.height=Math.round(a.height*c*100/a.width)/100),a.width=c)});m=this.addGeometryHandler(r,function(a,c,d){e.isTableCell(d)&&
(d=e.model.getParent(d));if(e.isTableRow(d))return e.setTableRowHeight(d,c-a.height),!0;0<a.height&&(c=Math.max(1,b.fromUnit(c)),t.checked&&(a.width=Math.round(a.width*c*100/a.height)/100),a.height=c)});(f.resizable||f.row||f.cell)&&a.appendChild(h);var x=this.createPanel();x.style.paddingBottom="30px";k=document.createElement("div");k.style.position="absolute";k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,mxResources.get("position"));x.appendChild(k);var w=
-this.addUnitInput(x,this.getUnit(),87,52,function(){l.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),y=this.addUnitInput(x,this.getUnit(),16,52,function(){n.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit());mxUtils.br(x);this.addLabel(x,mxResources.get("left"),87);this.addLabel(x,mxResources.get("top"),16);var F=mxUtils.bind(this,function(a,b,d){f=c.getSelectionState();if(f.containsLabel||f.vertices.length!=e.getSelectionCount()||null==f.width||null==
+this.addUnitInput(x,this.getUnit(),87,52,function(){l.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),y=this.addUnitInput(x,this.getUnit(),16,52,function(){n.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit());mxUtils.br(x);this.addLabel(x,mxResources.get("left"),87);this.addLabel(x,mxResources.get("top"),16);var E=mxUtils.bind(this,function(a,b,d){f=c.getSelectionState();if(f.containsLabel||f.vertices.length!=e.getSelectionCount()||null==f.width||null==
f.height)h.style.display="none";else{h.style.display="";if(d||document.activeElement!=p)p.value=this.inUnit(f.width)+(""==f.width?"":" "+this.getUnit());if(d||document.activeElement!=r)r.value=this.inUnit(f.height)+(""==f.height?"":" "+this.getUnit())}if(f.vertices.length==e.getSelectionCount()&&null!=f.x&&null!=f.y){x.style.display="";if(d||document.activeElement!=w)w.value=this.inUnit(f.x)+(""==f.x?"":" "+this.getUnit());if(d||document.activeElement!=y)y.value=this.inUnit(f.y)+(""==f.y?"":" "+this.getUnit())}else x.style.display=
-"none"});this.addKeyHandler(w,F);this.addKeyHandler(y,F);d.addListener(mxEvent.CHANGE,F);this.listeners.push({destroy:function(){d.removeListener(F)}});F();l=this.addGeometryHandler(w,function(a,c){c=b.fromUnit(c);a.relative?a.offset.x=c:a.x=c});n=this.addGeometryHandler(y,function(a,c){c=b.fromUnit(c);a.relative?a.offset.y=c:a.y=c});if(f.movable){if(0==f.edges.length&&1==f.vertices.length&&d.isEdge(d.getParent(f.vertices[0]))){var I=e.getCellGeometry(f.vertices[0]);null!=I&&I.relative&&(k=mxUtils.button(mxResources.get("center"),
+"none"});this.addKeyHandler(w,E);this.addKeyHandler(y,E);d.addListener(mxEvent.CHANGE,E);this.listeners.push({destroy:function(){d.removeListener(E)}});E();l=this.addGeometryHandler(w,function(a,c){c=b.fromUnit(c);a.relative?a.offset.x=c:a.x=c});n=this.addGeometryHandler(y,function(a,c){c=b.fromUnit(c);a.relative?a.offset.y=c:a.y=c});if(f.movable){if(0==f.edges.length&&1==f.vertices.length&&d.isEdge(d.getParent(f.vertices[0]))){var I=e.getCellGeometry(f.vertices[0]);null!=I&&I.relative&&(k=mxUtils.button(mxResources.get("center"),
mxUtils.bind(this,function(a){d.beginUpdate();try{I=I.clone(),I.x=0,I.y=0,I.offset=new mxPoint,d.setGeometry(f.vertices[0],I)}finally{d.endUpdate()}})),k.setAttribute("title",mxResources.get("center")),k.style.width="210px",k.style.position="absolute",mxUtils.br(x),mxUtils.br(x),x.appendChild(k))}a.appendChild(x)}};
ArrangePanel.prototype.addGeometryHandler=function(a,b){function c(c){if(""!=a.value){var g=parseFloat(a.value);if(isNaN(g))a.value=f+" "+h.getUnit();else if(g!=f){d.getModel().beginUpdate();try{for(var k=e.getSelectionState().cells,l=0;l<k.length;l++)if(d.getModel().isVertex(k[l])){var n=d.getCellGeometry(k[l]);if(null!=n&&(n=n.clone(),!b(n,g,k[l]))){var p=d.view.getState(k[l]);null!=p&&d.isRecursiveVertexResize(p)&&d.resizeChildCells(k[l],n);d.getModel().setGeometry(k[l],n);d.constrainChildCells(k[l])}}}finally{d.getModel().endUpdate()}f=
g;a.value=g+" "+h.getUnit()}}mxEvent.consume(c)}var e=this.editorUi,d=e.editor.graph,f=null,h=this;mxEvent.addListener(a,"blur",c);mxEvent.addListener(a,"change",c);mxEvent.addListener(a,"focus",function(){f=a.value});return c};
@@ -3077,21 +3077,21 @@ mxResources.get("center"),e.cellEditor.isContentEditing()?function(a){e.cellEdit
a);c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ALIGN],"values",[mxConstants.ALIGN_RIGHT],"cells",d.cells))}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),n);this.styleButtons([r,u,v]);if(e.cellEditor.isContentEditing()){var t=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("strikethrough"),function(){document.execCommand("strikeThrough",!1,null)},k);this.styleButtons([t]);t.firstChild.style.background=
"url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjR2MjRIMFYweiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGZpbGw9IiMwMTAxMDEiIGQ9Ik03LjI0IDguNzVjLS4yNi0uNDgtLjM5LTEuMDMtLjM5LTEuNjcgMC0uNjEuMTMtMS4xNi40LTEuNjcuMjYtLjUuNjMtLjkzIDEuMTEtMS4yOS40OC0uMzUgMS4wNS0uNjMgMS43LS44My42Ni0uMTkgMS4zOS0uMjkgMi4xOC0uMjkuODEgMCAxLjU0LjExIDIuMjEuMzQuNjYuMjIgMS4yMy41NCAxLjY5Ljk0LjQ3LjQuODMuODggMS4wOCAxLjQzLjI1LjU1LjM4IDEuMTUuMzggMS44MWgtMy4wMWMwLS4zMS0uMDUtLjU5LS4xNS0uODUtLjA5LS4yNy0uMjQtLjQ5LS40NC0uNjgtLjItLjE5LS40NS0uMzMtLjc1LS40NC0uMy0uMS0uNjYtLjE2LTEuMDYtLjE2LS4zOSAwLS43NC4wNC0xLjAzLjEzLS4yOS4wOS0uNTMuMjEtLjcyLjM2LS4xOS4xNi0uMzQuMzQtLjQ0LjU1LS4xLjIxLS4xNS40My0uMTUuNjYgMCAuNDguMjUuODguNzQgMS4yMS4zOC4yNS43Ny40OCAxLjQxLjdINy4zOWMtLjA1LS4wOC0uMTEtLjE3LS4xNS0uMjV6TTIxIDEydi0ySDN2Mmg5LjYyYy4xOC4wNy40LjE0LjU1LjIuMzcuMTcuNjYuMzQuODcuNTEuMjEuMTcuMzUuMzYuNDMuNTcuMDcuMi4xMS40My4xMS42OSAwIC4yMy0uMDUuNDUtLjE0LjY2LS4wOS4yLS4yMy4zOC0uNDIuNTMtLjE5LjE1LS40Mi4yNi0uNzEuMzUtLjI5LjA4LS42My4xMy0xLjAxLjEzLS40MyAwLS44My0uMDQtMS4xOC0uMTNzLS42Ni0uMjMtLjkxLS40MmMtLjI1LS4xOS0uNDUtLjQ0LS41OS0uNzUtLjE0LS4zMS0uMjUtLjc2LS4yNS0xLjIxSDYuNGMwIC41NS4wOCAxLjEzLjI0IDEuNTguMTYuNDUuMzcuODUuNjUgMS4yMS4yOC4zNS42LjY2Ljk4LjkyLjM3LjI2Ljc4LjQ4IDEuMjIuNjUuNDQuMTcuOS4zIDEuMzguMzkuNDguMDguOTYuMTMgMS40NC4xMy44IDAgMS41My0uMDkgMi4xOC0uMjhzMS4yMS0uNDUgMS42Ny0uNzljLjQ2LS4zNC44Mi0uNzcgMS4wNy0xLjI3cy4zOC0xLjA3LjM4LTEuNzFjMC0uNi0uMS0xLjE0LS4zMS0xLjYxLS4wNS0uMTEtLjExLS4yMy0uMTctLjMzSDIxeiIvPjwvc3ZnPg==)";
t.firstChild.style.backgroundPosition="2px 2px";t.firstChild.style.backgroundSize="18px 18px";this.styleButtons([t])}var x=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),n),w=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),n),y=this.editorUi.toolbar.addButton("geSprite-bottom",
-mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])),n);this.styleButtons([x,w,y]);a.appendChild(n);var F,I,B,G,z,D,K;e.cellEditor.isContentEditing()?(x.style.display="none",w.style.display="none",y.style.display="none",l.style.display="none",B=this.editorUi.toolbar.addButton("geSprite-justifyfull",mxResources.get("block"),function(){1==B.style.opacity&&document.execCommand("justifyfull",!1,null)},n),B.style.marginRight=
-"9px",B.style.opacity=1,this.styleButtons([B,F=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},n),I=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},n)]),F.style.marginLeft="10px",p=n.cloneNode(!1),p.style.paddingTop="4px",n=[this.editorUi.toolbar.addButton("geSprite-orderedlist",
+mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])),n);this.styleButtons([x,w,y]);a.appendChild(n);var E,I,B,G,z,F,K;e.cellEditor.isContentEditing()?(x.style.display="none",w.style.display="none",y.style.display="none",l.style.display="none",B=this.editorUi.toolbar.addButton("geSprite-justifyfull",mxResources.get("block"),function(){1==B.style.opacity&&document.execCommand("justifyfull",!1,null)},n),B.style.marginRight=
+"9px",B.style.opacity=1,this.styleButtons([B,E=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},n),I=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},n)]),E.style.marginLeft="10px",p=n.cloneNode(!1),p.style.paddingTop="4px",n=[this.editorUi.toolbar.addButton("geSprite-orderedlist",
mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",
!1,null)},p),this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){e.cellEditor.toggleViewMode()},p)],this.styleButtons(n),n[n.length-2].style.marginLeft="10px",a.appendChild(p)):(m[2].style.marginRight="12px",v.style.marginRight="12px");n=f.cloneNode(!1);n.style.marginLeft="0px";n.style.paddingTop="8px";n.style.paddingBottom=
"4px";n.style.fontWeight="normal";mxUtils.write(n,mxResources.get("position"));var L=document.createElement("select");L.style.position="absolute";L.style.left="126px";L.style.width="98px";L.style.border="1px solid rgb(160, 160, 160)";L.style.borderRadius="4px";L.style.marginTop="-2px";for(var t="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),N={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,
mxConstants.ALIGN_TOP,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,
mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<t.length;p++){var J=document.createElement("option");J.setAttribute("value",t[p]);mxUtils.write(J,mxResources.get(t[p]));L.appendChild(J)}n.appendChild(L);t=f.cloneNode(!1);t.style.marginLeft="0px";t.style.paddingTop=
-"4px";t.style.paddingBottom="4px";t.style.fontWeight="normal";mxUtils.write(t,mxResources.get("writingDirection"));var Q=document.createElement("select");Q.style.position="absolute";Q.style.border="1px solid rgb(160, 160, 160)";Q.style.left="126px";Q.style.width="98px";Q.style.borderRadius="4px";Q.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Y={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR,rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var ca=
-document.createElement("option");ca.setAttribute("value",J[p]);mxUtils.write(ca,mxResources.get(J[p]));Q.appendChild(ca)}t.appendChild(Q);e.isEditing()||(a.appendChild(n),mxEvent.addListener(L,"change",function(a){e.getModel().beginUpdate();try{var b=N[L.value];null!=b&&(e.setCellStyles(mxConstants.STYLE_LABEL_POSITION,b[0],d.cells),e.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,b[1],d.cells),e.setCellStyles(mxConstants.STYLE_ALIGN,b[2],d.cells),e.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,
-b[3],d.cells))}finally{e.getModel().endUpdate()}mxEvent.consume(a)}),a.appendChild(t),mxEvent.addListener(Q,"change",function(a){e.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Y[Q.value],d.cells);mxEvent.consume(a)}));var O=document.createElement("input");O.style.position="absolute";O.style.border="1px solid rgb(160, 160, 160)";O.style.textAlign="right";O.style.marginTop="4px";O.style.left="161px";O.style.width="53px";O.style.borderRadius="4px";O.style.height="23px";O.style.boxSizing="border-box";
-k.appendChild(O);var R=null,n=this.installInputHandler(O,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var b=function(b,g){null!=e.cellEditor.textarea&&b!=e.cellEditor.textarea&&e.cellEditor.textarea.contains(b)&&(g||f.containsNode(b,!0))&&("FONT"==b.nodeName?(b.removeAttribute("size"),b.style.fontSize=a+"px"):mxUtils.getCurrentStyle(b).fontSize!=a+"px"&&(mxUtils.getCurrentStyle(b.parentNode).fontSize!=
+"4px";t.style.paddingBottom="4px";t.style.fontWeight="normal";mxUtils.write(t,mxResources.get("writingDirection"));var R=document.createElement("select");R.style.position="absolute";R.style.border="1px solid rgb(160, 160, 160)";R.style.left="126px";R.style.width="98px";R.style.borderRadius="4px";R.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Y={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR,rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var ca=
+document.createElement("option");ca.setAttribute("value",J[p]);mxUtils.write(ca,mxResources.get(J[p]));R.appendChild(ca)}t.appendChild(R);e.isEditing()||(a.appendChild(n),mxEvent.addListener(L,"change",function(a){e.getModel().beginUpdate();try{var b=N[L.value];null!=b&&(e.setCellStyles(mxConstants.STYLE_LABEL_POSITION,b[0],d.cells),e.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,b[1],d.cells),e.setCellStyles(mxConstants.STYLE_ALIGN,b[2],d.cells),e.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,
+b[3],d.cells))}finally{e.getModel().endUpdate()}mxEvent.consume(a)}),a.appendChild(t),mxEvent.addListener(R,"change",function(a){e.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Y[R.value],d.cells);mxEvent.consume(a)}));var O=document.createElement("input");O.style.position="absolute";O.style.border="1px solid rgb(160, 160, 160)";O.style.textAlign="right";O.style.marginTop="4px";O.style.left="161px";O.style.width="53px";O.style.borderRadius="4px";O.style.height="23px";O.style.boxSizing="border-box";
+k.appendChild(O);var S=null,n=this.installInputHandler(O,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var b=function(b,g){null!=e.cellEditor.textarea&&b!=e.cellEditor.textarea&&e.cellEditor.textarea.contains(b)&&(g||f.containsNode(b,!0))&&("FONT"==b.nodeName?(b.removeAttribute("size"),b.style.fontSize=a+"px"):mxUtils.getCurrentStyle(b).fontSize!=a+"px"&&(mxUtils.getCurrentStyle(b.parentNode).fontSize!=
a+"px"?b.style.fontSize=a+"px":b.style.fontSize=""));c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_FONTSIZE],"values",[a],"cells",d.cells))},f=window.getSelection(),g=0<f.rangeCount?f.getRangeAt(0).commonAncestorContainer:e.cellEditor.textarea;g!=e.cellEditor.textarea&&g.nodeType==mxConstants.NODETYPE_ELEMENT||document.execCommand("fontSize",!1,"1");g!=e.cellEditor.textarea&&(g=g.parentNode);if(null!=g&&g.nodeType==mxConstants.NODETYPE_ELEMENT){var k=g.getElementsByTagName("*");
-b(g);for(g=0;g<k.length;g++)b(k[g])}O.value=a+" pt"}else if(window.getSelection||document.selection)if(b=function(a,b){for(;null!=b;){if(b===a)return!0;b=b.parentNode}return!1},k=null,document.selection?k=document.selection.createRange().parentElement():(f=window.getSelection(),0<f.rangeCount&&(k=f.getRangeAt(0).commonAncestorContainer)),null!=k&&b(e.cellEditor.textarea,k))for(R=a,document.execCommand("fontSize",!1,"4"),k=e.cellEditor.textarea.getElementsByTagName("font"),g=0;g<k.length;g++)if("4"==
-k[g].getAttribute("size")){k[g].removeAttribute("size");k[g].style.fontSize=R+"px";window.setTimeout(function(){O.value=R+" pt";R=null},0);break}},!0),n=this.createStepper(O,n,1,10,!0,Menus.prototype.defaultFontSize);n.style.display=O.style.display;n.style.marginTop="4px";n.style.left="214px";k.appendChild(n);k=g.getElementsByTagName("div")[0];k.style.cssFloat="right";var T=null,U=e.shapeBackgroundColor,X=null,ka=e.shapeForegroundColor,ma=e.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),
-function(){return U},function(a){document.execCommand("backcolor",!1,a!=mxConstants.NONE?a:"transparent");c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR],"values",[a],"cells",d.cells))},e.shapeBackgroundColor,{install:function(a){T=a},destroy:function(){T=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"default",null,function(a){e.updateLabelElements(d.cells,function(a){a.style.backgroundColor=
+b(g);for(g=0;g<k.length;g++)b(k[g])}O.value=a+" pt"}else if(window.getSelection||document.selection)if(b=function(a,b){for(;null!=b;){if(b===a)return!0;b=b.parentNode}return!1},k=null,document.selection?k=document.selection.createRange().parentElement():(f=window.getSelection(),0<f.rangeCount&&(k=f.getRangeAt(0).commonAncestorContainer)),null!=k&&b(e.cellEditor.textarea,k))for(S=a,document.execCommand("fontSize",!1,"4"),k=e.cellEditor.textarea.getElementsByTagName("font"),g=0;g<k.length;g++)if("4"==
+k[g].getAttribute("size")){k[g].removeAttribute("size");k[g].style.fontSize=S+"px";window.setTimeout(function(){O.value=S+" pt";S=null},0);break}},!0),n=this.createStepper(O,n,1,10,!0,Menus.prototype.defaultFontSize);n.style.display=O.style.display;n.style.marginTop="4px";n.style.left="214px";k.appendChild(n);k=g.getElementsByTagName("div")[0];k.style.cssFloat="right";var U=null,Q=e.shapeBackgroundColor,X=null,ka=e.shapeForegroundColor,ma=e.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),
+function(){return Q},function(a){document.execCommand("backcolor",!1,a!=mxConstants.NONE?a:"transparent");c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR],"values",[a],"cells",d.cells))},e.shapeBackgroundColor,{install:function(a){U=a},destroy:function(){U=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"default",null,function(a){e.updateLabelElements(d.cells,function(a){a.style.backgroundColor=
null})},e.shapeBackgroundColor);ma.style.fontWeight="bold";var oa=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"default",null,null,e.shapeForegroundColor);oa.style.fontWeight="bold";k=1<=d.vertices.length?e.stylesheet.getDefaultVertexStyle():e.stylesheet.getDefaultEdgeStyle();k=e.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return ka},function(a){if(mxClient.IS_FF){for(var b=e.cellEditor.textarea.getElementsByTagName("font"),
f=[],g=0;g<b.length;g++)f.push({node:b[g],color:b[g].getAttribute("color")});document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent");c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_FONTCOLOR],"values",[a],"cells",d.cells));a=e.cellEditor.textarea.getElementsByTagName("font");for(g=0;g<a.length;g++)if(g>=f.length||a[g]!=f[g].node||a[g]==f[g].node&&a[g].getAttribute("color")!=f[g].color){f=a[g].firstChild;if(null!=f&&"A"==f.nodeName&&null==f.nextSibling&&null!=
f.firstChild){a[g].parentNode.insertBefore(f,a[g]);for(b=f.firstChild;null!=b;){var k=b.nextSibling;a[g].appendChild(b);b=k}f.appendChild(a[g])}break}}else document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent"),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_FONTCOLOR],"values",[a],"cells",d.cells))},null!=k[mxConstants.STYLE_FONTCOLOR]?k[mxConstants.STYLE_FONTCOLOR]:e.shapeForegroundColor,{install:function(a){X=a},destroy:function(){X=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),
@@ -3103,25 +3103,25 @@ mxResources.get("left"),158);this.addLabel(k,mxResources.get("bottom"),87);this.
e.cellEditor.textarea&&null!=e.cellEditor.textarea.firstChild&&("P"!=e.cellEditor.textarea.firstChild.nodeName&&(e.cellEditor.textarea.innerHTML="<p>"+e.cellEditor.textarea.innerHTML+"</p>"),c=e.cellEditor.textarea.firstChild);null!=c&&null!=e.cellEditor.textarea&&c!=e.cellEditor.textarea&&e.cellEditor.textarea.contains(c)&&(c.style.lineHeight=b/100);a.value=b+" %"},function(a){sa=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==e.cellEditor.textarea&&(fa=e.cellEditor.saveSelection())});
mxEvent.addListener(a,"touchstart",function(){document.activeElement==e.cellEditor.textarea&&(fa=e.cellEditor.saveSelection())});a.value="120 %"}));h=f.cloneNode(!1);h.style.paddingLeft="0px";k=this.editorUi.toolbar.addItems(["link","image"],h,!0);n=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},h),this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-table",mxResources.get("table"),
!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a,null,null,!1)}))];this.styleButtons(k);this.styleButtons(n);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("insert")));k.appendChild(h);a.appendChild(k);k=f.cloneNode(!1);k.style.paddingLeft="0px";n=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),mxUtils.bind(this,function(){try{null!=z&&e.insertColumn(z,
-null!=D?D.cellIndex:0)}catch(ba){this.editorUi.handleError(ba)}}),k),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),mxUtils.bind(this,function(){try{null!=z&&e.insertColumn(z,null!=D?D.cellIndex+1:-1)}catch(ba){this.editorUi.handleError(ba)}}),k),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),mxUtils.bind(this,function(){try{null!=z&&null!=D&&e.deleteColumn(z,D.cellIndex)}catch(ba){this.editorUi.handleError(ba)}}),
+null!=F?F.cellIndex:0)}catch(ba){this.editorUi.handleError(ba)}}),k),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),mxUtils.bind(this,function(){try{null!=z&&e.insertColumn(z,null!=F?F.cellIndex+1:-1)}catch(ba){this.editorUi.handleError(ba)}}),k),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),mxUtils.bind(this,function(){try{null!=z&&null!=F&&e.deleteColumn(z,F.cellIndex)}catch(ba){this.editorUi.handleError(ba)}}),
k),this.editorUi.toolbar.addButton("geSprite-insertrowbefore",mxResources.get("insertRowBefore"),mxUtils.bind(this,function(){try{null!=z&&null!=K&&e.insertRow(z,K.sectionRowIndex)}catch(ba){this.editorUi.handleError(ba)}}),k),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),mxUtils.bind(this,function(){try{null!=z&&null!=K&&e.insertRow(z,K.sectionRowIndex+1)}catch(ba){this.editorUi.handleError(ba)}}),k),this.editorUi.toolbar.addButton("geSprite-deleterow",
mxResources.get("deleteRow"),mxUtils.bind(this,function(){try{null!=z&&null!=K&&e.deleteRow(z,K.sectionRowIndex)}catch(ba){this.editorUi.handleError(ba)}}),k)];this.styleButtons(n);n[2].style.marginRight="10px";h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("table")));h.appendChild(k);f=f.cloneNode(!1);f.style.paddingLeft="0px";n=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,
-function(a){if(null!=z){var b=z.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){var c=null==D||null!=a&&mxEvent.isShiftDown(a)?z:D;e.processElements(c,function(a){a.style.border=null});null==b||b==mxConstants.NONE?(c.removeAttribute("border"),c.style.border="",c.style.borderCollapse=
+function(a){if(null!=z){var b=z.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(b,function(b){var c=null==F||null!=a&&mxEvent.isShiftDown(a)?z:F;e.processElements(c,function(a){a.style.border=null});null==b||b==mxConstants.NONE?(c.removeAttribute("border"),c.style.border="",c.style.borderCollapse=
""):(c.setAttribute("border","1"),c.style.border="1px solid "+b,c.style.borderCollapse="collapse")})}}),f),this.editorUi.toolbar.addButton("geSprite-fillcolor",mxResources.get("backgroundColor"),mxUtils.bind(this,function(a){if(null!=z){var b=z.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(b,
-function(b){var c=null==D||null!=a&&mxEvent.isShiftDown(a)?z:D;e.processElements(c,function(a){a.style.backgroundColor=null});c.style.backgroundColor=null==b||b==mxConstants.NONE?"":b})}}),f),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=z){var a=z.getAttribute("cellPadding")||0,a=new FilenameDialog(c,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?z.setAttribute("cellPadding",a):z.removeAttribute("cellPadding")}),mxResources.get("spacing"));
+function(b){var c=null==F||null!=a&&mxEvent.isShiftDown(a)?z:F;e.processElements(c,function(a){a.style.backgroundColor=null});c.style.backgroundColor=null==b||b==mxConstants.NONE?"":b})}}),f),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=z){var a=z.getAttribute("cellPadding")||0,a=new FilenameDialog(c,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?z.setAttribute("cellPadding",a):z.removeAttribute("cellPadding")}),mxResources.get("spacing"));
c.showDialog(a.container,300,80,!0,!0);a.init()}},f),this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),function(){null!=z&&z.setAttribute("align","left")},f),this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),function(){null!=z&&z.setAttribute("align","center")},f),this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),function(){null!=z&&z.setAttribute("align","right")},f)];this.styleButtons(n);n[2].style.marginRight="10px";h.appendChild(f);
a.appendChild(h);G=h}else a.appendChild(h),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(k);var Z=mxUtils.bind(this,function(a,e,f){d=c.getSelectionState();a=mxUtils.getValue(d.style,mxConstants.STYLE_FONTSTYLE,0);b(m[0],(a&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);b(m[1],(a&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);b(m[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);g.firstChild.nodeValue=mxUtils.getValue(d.style,
mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);b(l,"0"==mxUtils.getValue(d.style,mxConstants.STYLE_HORIZONTAL,"1"));if(f||document.activeElement!=O)a=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),O.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(d.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);b(r,a==mxConstants.ALIGN_LEFT);b(u,a==mxConstants.ALIGN_CENTER);b(v,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(d.style,mxConstants.STYLE_VERTICAL_ALIGN,
mxConstants.ALIGN_MIDDLE);b(x,a==mxConstants.ALIGN_TOP);b(w,a==mxConstants.ALIGN_MIDDLE);b(y,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(d.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);e=mxUtils.getValue(d.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);L.value=a==mxConstants.ALIGN_LEFT&&e==mxConstants.ALIGN_TOP?"topLeft":a==mxConstants.ALIGN_CENTER&&e==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&e==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&
-e==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&e==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&e==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(d.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);a==mxConstants.TEXT_DIRECTION_RTL?Q.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?Q.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(Q.value=
+e==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&e==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&e==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(d.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);a==mxConstants.TEXT_DIRECTION_RTL?R.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?R.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(R.value=
"automatic");if(f||document.activeElement!=la)a=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_SPACING,2)),la.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=ra)a=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_SPACING_TOP,0)),ra.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=ea)a=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_SPACING_RIGHT,0)),ea.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=ja)a=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_SPACING_BOTTOM,
0)),ja.value=isNaN(a)?"":a+" pt";if(f||document.activeElement!=ia)a=parseFloat(mxUtils.getValue(d.style,mxConstants.STYLE_SPACING_LEFT,0)),ia.value=isNaN(a)?"":a+" pt"});ga=this.installInputHandler(la,mxConstants.STYLE_SPACING,2,-999,999," pt");pa=this.installInputHandler(ra,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");qa=this.installInputHandler(ea,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");ua=this.installInputHandler(ja,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");na=this.installInputHandler(ia,
mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(O,Z);this.addKeyHandler(la,Z);this.addKeyHandler(ra,Z);this.addKeyHandler(ea,Z);this.addKeyHandler(ja,Z);this.addKeyHandler(ia,Z);e.getModel().addListener(mxEvent.CHANGE,Z);this.listeners.push({destroy:function(){e.getModel().removeListener(Z)}});Z();if(e.cellEditor.isContentEditing()){var aa=!1,f=function(){aa||(aa=!0,window.setTimeout(function(){var a=e.getSelectedEditingElement();if(null!=a){var c=function(a,b){if(null!=a&&null!=
b){if(a==b)return!0;if(a.length>b.length+1)return a.substring(a.length-b.length-1,a.length)=="-"+b}return!1},f=function(b){if(null!=e.getParentByName(a,b,e.cellEditor.textarea))return!0;for(var c=a;null!=c&&1==c.childNodes.length;)if(c=c.childNodes[0],c.nodeName==b)return!0;return!1},k=function(a){a=null!=a?a.fontSize:null;return null!=a&&"px"==a.substring(a.length-2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},h=function(a,b,c){return null!=c.style&&null!=b?(b=b.lineHeight,null!=c.style.lineHeight&&
"%"==c.style.lineHeight.substring(c.style.lineHeight.length-1)?parseInt(c.style.lineHeight)/100:"px"==b.substring(b.length-2)?parseFloat(b)/a:parseInt(b)):""},l=mxUtils.getCurrentStyle(a),n=k(l),p=h(n,l,a),t=a.getElementsByTagName("*");if(0<t.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var x=window.getSelection(),w=0;w<t.length;w++)if(x.containsNode(t[w],!0)){temp=mxUtils.getCurrentStyle(t[w]);var n=Math.max(k(temp),n),y=h(n,temp,t[w]);if(y!=p||isNaN(y))p=""}null!=l&&(b(m[0],
-"bold"==l.fontWeight||400<l.fontWeight||f("B")||f("STRONG")),b(m[1],"italic"==l.fontStyle||f("I")||f("EM")),b(m[2],f("U")),b(I,f("SUP")),b(F,f("SUB")),e.cellEditor.isTableSelected()?(b(B,c(l.textAlign,"justify")),b(r,c(l.textAlign,"left")),b(u,c(l.textAlign,"center")),b(v,c(l.textAlign,"right"))):(f=e.cellEditor.align||mxUtils.getValue(d.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),c(l.textAlign,"justify")?(b(B,c(l.textAlign,"justify")),b(r,!1),b(u,!1),b(v,!1)):(b(B,!1),b(r,f==mxConstants.ALIGN_LEFT),
-b(u,f==mxConstants.ALIGN_CENTER),b(v,f==mxConstants.ALIGN_RIGHT))),z=e.getParentByName(a,"TABLE",e.cellEditor.textarea),K=null==z?null:e.getParentByName(a,"TR",z),D=null==z?null:e.getParentByNames(a,["TD","TH"],z),G.style.display=null!=z?"":"none",document.activeElement!=O&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=R?(a.removeAttribute("size"),a.style.fontSize=R+" pt",R=null):O.value=isNaN(n)?"":n+" pt",y=parseFloat(p),isNaN(y)?sa.value="100 %":sa.value=Math.round(100*y)+" %"),null!=
-X&&(ka="rgba(0, 0, 0, 0)"==l.color||"transparent"==l.color?mxConstants.NONE:mxUtils.rgba2hex(l.color),X(ka,!0)),null!=T&&(U="rgba(0, 0, 0, 0)"==l.backgroundColor||"transparent"==l.backgroundColor?mxConstants.NONE:mxUtils.rgba2hex(l.backgroundColor),T(U,!0)),null!=g.firstChild&&(g.firstChild.nodeValue=Graph.stripQuotes(l.fontFamily)))}aa=!1},0))};(mxClient.IS_FF||mxClient.IS_EDGE||mxClient.IS_IE||mxClient.IS_IE11)&&mxEvent.addListener(e.cellEditor.textarea,"DOMSubtreeModified",f);mxEvent.addListener(e.cellEditor.textarea,
+"bold"==l.fontWeight||400<l.fontWeight||f("B")||f("STRONG")),b(m[1],"italic"==l.fontStyle||f("I")||f("EM")),b(m[2],f("U")),b(I,f("SUP")),b(E,f("SUB")),e.cellEditor.isTableSelected()?(b(B,c(l.textAlign,"justify")),b(r,c(l.textAlign,"left")),b(u,c(l.textAlign,"center")),b(v,c(l.textAlign,"right"))):(f=e.cellEditor.align||mxUtils.getValue(d.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),c(l.textAlign,"justify")?(b(B,c(l.textAlign,"justify")),b(r,!1),b(u,!1),b(v,!1)):(b(B,!1),b(r,f==mxConstants.ALIGN_LEFT),
+b(u,f==mxConstants.ALIGN_CENTER),b(v,f==mxConstants.ALIGN_RIGHT))),z=e.getParentByName(a,"TABLE",e.cellEditor.textarea),K=null==z?null:e.getParentByName(a,"TR",z),F=null==z?null:e.getParentByNames(a,["TD","TH"],z),G.style.display=null!=z?"":"none",document.activeElement!=O&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=S?(a.removeAttribute("size"),a.style.fontSize=S+" pt",S=null):O.value=isNaN(n)?"":n+" pt",y=parseFloat(p),isNaN(y)?sa.value="100 %":sa.value=Math.round(100*y)+" %"),null!=
+X&&(ka="rgba(0, 0, 0, 0)"==l.color||"transparent"==l.color?mxConstants.NONE:mxUtils.rgba2hex(l.color),X(ka,!0)),null!=U&&(Q="rgba(0, 0, 0, 0)"==l.backgroundColor||"transparent"==l.backgroundColor?mxConstants.NONE:mxUtils.rgba2hex(l.backgroundColor),U(Q,!0)),null!=g.firstChild&&(g.firstChild.nodeValue=Graph.stripQuotes(l.fontFamily)))}aa=!1},0))};(mxClient.IS_FF||mxClient.IS_EDGE||mxClient.IS_IE||mxClient.IS_IE11)&&mxEvent.addListener(e.cellEditor.textarea,"DOMSubtreeModified",f);mxEvent.addListener(e.cellEditor.textarea,
"input",f);mxEvent.addListener(e.cellEditor.textarea,"touchend",f);mxEvent.addListener(e.cellEditor.textarea,"mouseup",f);mxEvent.addListener(e.cellEditor.textarea,"keyup",f);this.listeners.push({destroy:function(){}});f()}return a};StyleFormatPanel=function(a,b,c){BaseFormatPanel.call(this,a,b,c);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);StyleFormatPanel.prototype.defaultStrokeColor="black";
StyleFormatPanel.prototype.init=function(){var a=this.editorUi.getSelectionState();!a.containsLabel&&0<a.cells.length&&(a.containsImage&&1==a.vertices.length&&"image"==a.style.shape&&null!=a.style.image&&"data:image/svg+xml;"==a.style.image.substring(0,19)&&this.container.appendChild(this.addSvgStyles(this.createPanel())),a.containsImage&&"image"!=a.style.shape||this.container.appendChild(this.addFill(this.createPanel())),this.container.appendChild(this.addStroke(this.createPanel())),this.container.appendChild(this.addLineJumps(this.createPanel())),
a=this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_OPACITY),a.style.paddingTop="8px",a.style.paddingBottom="8px",this.container.appendChild(a),this.container.appendChild(this.addEffects(this.createPanel())));a=this.addEditOps(this.createPanel());null!=a.firstChild&&mxUtils.br(a);this.container.appendChild(this.addStyleOps(a))};
@@ -3158,7 +3158,7 @@ function(a){"arrow"!=f.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"",[m
this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalelbow",
null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",
"vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),"connector"==f.style.shape&&this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],
-["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,!0).setAttribute("title",mxResources.get("entityRelation")))})),F=this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==f.style.shape||"flexArrow"==f.style.shape||"filledEdge"==f.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",
+["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,!0).setAttribute("title",mxResources.get("entityRelation")))})),E=this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==f.style.shape||"flexArrow"==f.style.shape||"filledEdge"==f.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",
mxResources.get("none"));var c=document.createElement("font");c.style.fontSize="10px";mxUtils.write(c,mxResources.get("none"));b.firstChild.firstChild.appendChild(c);"connector"==f.style.shape||"filledEdge"==f.style.shape?(Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],null,null,!1,Format.classicFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,
"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],null,null,!1,Format.classicThinFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],null,null,!1,Format.openFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN_THIN,0],null,null,!1,Format.openThinFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],null,null,!1,Format.openAsyncFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],null,null,!1,Format.blockFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK_THIN,1],null,null,!1,Format.blockThinFilledMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
@@ -3171,36 +3171,36 @@ null,!1,Format.diamondThinMarkerImage.src)),Format.processMenuIcon(this.editorUi
Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["baseDash",0],null,null,!1,Format.baseDashMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERone",0],null,null,!1,Format.EROneMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmandOne",0],null,null,!1,Format.ERmandOneMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmany",0],null,null,!1,Format.ERmanyMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERoneToMany",0],null,null,!1,Format.ERoneToManyMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToOne",0],null,null,!1,Format.ERzeroToOneMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",0],null,null,!1,Format.ERzeroToManyMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["doubleBlock",0],null,null,!1,Format.doubleBlockMarkerImage.src)),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["doubleBlock",1],null,null,!1,Format.doubleBlockFilledMarkerImage.src))):this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"));a.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){mxUtils.fit(a.div)}),0)}})),I=this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==f.style.shape||"flexArrow"==f.style.shape||"filledEdge"==f.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));var c=document.createElement("font");c.style.fontSize="10px";mxUtils.write(c,mxResources.get("none"));b.firstChild.firstChild.appendChild(c);"connector"==f.style.shape||"filledEdge"==f.style.shape?(Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],null,null,!1,Format.classicFilledMarkerImage.src),
-"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],null,null,!1,Format.classicThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],null,null,!1,Format.openFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,
-"endFill"],[mxConstants.ARROW_OPEN_THIN,0],null,null,!1,Format.openThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["openAsync",0],null,null,!1,Format.openAsyncFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],null,null,!1,Format.blockFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,1],null,null,!1,Format.blockThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",1],null,null,!1,Format.asyncFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,1],null,null,!1,Format.ovalFilledMarkerImage.src),"scaleX(-1)"),
-Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND,1],null,null,!1,Format.diamondFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,1],null,null,!1,Format.diamondThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],
-[mxConstants.ARROW_CLASSIC,0],null,null,!1,Format.classicMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,0],null,null,!1,Format.classicThinMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,0],null,null,!1,Format.blockMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,0],null,null,!1,Format.blockThinMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",0],null,null,!1,Format.asyncMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,0],null,null,!1,Format.ovalMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND,0],null,null,!1,Format.diamondMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],null,null,!1,Format.diamondThinMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["box",0],null,null,!1,Format.boxMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],["halfCircle",0],null,null,!1,Format.halfCircleMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],null,null,!1,Format.dashMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],null,null,!1,Format.crossMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],null,null,!1,Format.circlePlusMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",0],null,null,!1,Format.circleMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["baseDash",0],null,null,!1,Format.baseDashMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],null,null,!1,Format.EROneMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],null,null,!1,Format.ERmandOneMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],null,null,!1,Format.ERmanyMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],null,null,!1,Format.ERoneToManyMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToOne",0],null,null,!1,Format.ERzeroToOneMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",0],null,null,!1,Format.ERzeroToManyMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
-"",[mxConstants.STYLE_ENDARROW,"endFill"],["doubleBlock",0],null,null,!1,Format.doubleBlockMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["doubleBlock",1],null,null,!1,Format.doubleBlockFilledMarkerImage.src),"scaleX(-1)")):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"));
-a.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){mxUtils.fit(a.div)}),0)}})),w=this.addArrow(v,8);w.nextSibling.style.position="relative";w.nextSibling.style.top="-2px";w=this.addArrow(y,10);w.nextSibling.style.position="relative";w.nextSibling.style.top="-3px";y.getElementsByTagName("img")[0].style.top="-1px";this.addArrow(F);this.addArrow(I);w=this.addArrow(m,9);w.className="geIcon";w.style.width="auto";var B=this.addArrow(l,9);B.className="geIcon";B.style.width="22px";var G=
-document.createElement("div");G.style.width="84px";G.style.height="1px";G.style.borderBottom="1px solid "+this.defaultStrokeColor;G.style.marginBottom="7px";w.appendChild(G);var z=document.createElement("div");z.style.width="23px";z.style.height="1px";z.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.marginBottom="7px";B.appendChild(z);m.style.height="15px";m.style.marginLeft="16px";l.style.height="15px";l.style.marginLeft="3px";v.style.marginLeft="10px";v.style.height="15px";y.style.marginLeft=
-"10px";y.style.height="17px";F.style.marginLeft="3px";F.style.height="17px";I.style.marginLeft="3px";I.style.height="17px";a.appendChild(h);a.appendChild(u);a.appendChild(p);m=p.cloneNode(!1);m.style.padding="5px 4px 6px 0px";m.style.fontWeight="normal";l=document.createElement("div");l.style.position="absolute";l.style.marginLeft="0px";l.style.marginBottom="12px";l.style.marginTop="2px";l.style.fontWeight="normal";l.style.width="76px";mxUtils.write(l,mxResources.get("lineend"));m.appendChild(l);
-var D,K,L=this.addUnitInput(m,"pt",98,52,function(){D.apply(this,arguments)}),N=this.addUnitInput(m,"pt",30,52,function(){K.apply(this,arguments)});mxUtils.br(m);w=document.createElement("div");w.style.height="8px";m.appendChild(w);l=l.cloneNode(!1);mxUtils.write(l,mxResources.get("linestart"));m.appendChild(l);var J,Q,Y=this.addUnitInput(m,"pt",98,52,function(){J.apply(this,arguments)}),ca=this.addUnitInput(m,"pt",30,52,function(){Q.apply(this,arguments)});mxUtils.br(m);this.addLabel(m,mxResources.get("spacing"),
-98,52);this.addLabel(m,mxResources.get("size"),30,52);mxUtils.br(m);h=h.cloneNode(!1);h.style.fontWeight="normal";h.style.position="relative";h.style.paddingLeft="16px";h.style.marginBottom="2px";h.style.marginTop="6px";h.style.borderWidth="0px";h.style.paddingBottom="18px";l=document.createElement("div");l.style.position="absolute";l.style.marginLeft="3px";l.style.marginBottom="12px";l.style.marginTop="1px";l.style.fontWeight="normal";l.style.width="120px";mxUtils.write(l,mxResources.get("perimeter"));
-h.appendChild(l);var O,R=this.addUnitInput(h,"pt",30,52,function(){O.apply(this,arguments)});f.edges.length==f.cells.length?(a.appendChild(g),a.appendChild(m)):f.vertices.length==f.cells.length&&a.appendChild(h);var T=mxUtils.bind(this,function(b,c,d){function g(a,b,c,d){c=c.getElementsByTagName("div")[0];null!=c&&(c.className=e.getCssClassForMarker(d,f.style.shape,a,b),c.nextSibling.style.marginLeft="1px",c.nextSibling.style.paddingRight="5px","geSprite geSprite-noarrow"==c.className?(c.innerHTML=
-mxUtils.htmlEntities(mxResources.get("none")),c.style.backgroundImage="none",c.style.verticalAlign="top",c.style.marginTop="4px",c.style.fontSize="10px",c.style.filter="none",c.style.color=this.defaultStrokeColor,c.nextSibling.style.marginTop="0px"):(c.nextSibling.style.position="relative",c.nextSibling.style.top="-2px"));return c}f=e.getSelectionState();if(d||document.activeElement!=t)b=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),t.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=
-x)b=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),x.value=isNaN(b)?"":b+" pt";k.style.visibility="connector"==f.style.shape||"filledEdge"==f.style.shape?"":"hidden";"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?k.value="curved":"1"==mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,null)&&(k.value="rounded");"1"==mxUtils.getValue(f.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(f.style,mxConstants.STYLE_DASH_PATTERN,null)?G.style.borderBottom="1px dashed "+
-this.defaultStrokeColor:G.style.borderBottom="1px dotted "+this.defaultStrokeColor:G.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.borderBottom=G.style.borderBottom;b=y.getElementsByTagName("div")[0];null!=b&&(c=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(f.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null),"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?b.className="geSprite geSprite-curved":b.className="straight"==
-c||"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal");b=v.getElementsByTagName("div")[0];null!=b&&
-(b.className="link"==f.style.shape?"geSprite geSprite-linkedge":"flexArrow"==f.style.shape?"geSprite geSprite-arrow":"arrow"==f.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection");f.edges.length==f.cells.length?(u.style.display="",p.style.display="none"):(u.style.display="none",p.style.display="");Graph.lineJumpsEnabled&&0<f.edges.length&&0==f.vertices.length&&f.lineJumps&&(a.style.borderBottomStyle="none");b=g(mxUtils.getValue(f.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(f.style,
-"startFill","1"),F,"start");c=g(mxUtils.getValue(f.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(f.style,"endFill","1"),I,"end");null!=b&&null!=c&&("arrow"==f.style.shape?(b.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==f.style.shape&&(b.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow"));mxUtils.setOpacity(y,"arrow"==f.style.shape?30:100);"connector"!=f.style.shape&&"flexArrow"!=f.style.shape&&"filledEdge"!=f.style.shape?
-(mxUtils.setOpacity(F,30),mxUtils.setOpacity(I,30)):(mxUtils.setOpacity(F,100),mxUtils.setOpacity(I,100));if(d||document.activeElement!=ca)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),ca.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=Y)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Y.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=N)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_ENDSIZE,
-mxConstants.DEFAULT_MARKERSIZE)),N.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=Y)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),L.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=R)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_PERIMETER_SPACING,0)),R.value=isNaN(b)?"":b+" pt"});Q=this.installInputHandler(ca,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Y,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,
-0,-999,999," pt");K=this.installInputHandler(N,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");D=this.installInputHandler(L,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");O=this.installInputHandler(R,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(t,T);this.addKeyHandler(ca,T);this.addKeyHandler(Y,T);this.addKeyHandler(N,T);this.addKeyHandler(L,T);this.addKeyHandler(R,T);d.getModel().addListener(mxEvent.CHANGE,T);this.listeners.push({destroy:function(){d.getModel().removeListener(T)}});
-T();return a};
+"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"));a.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=a.div&&mxUtils.fit(a.div)}),0)}})),I=this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==f.style.shape||"flexArrow"==f.style.shape||"filledEdge"==f.style.shape){var b=
+this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));var c=document.createElement("font");c.style.fontSize="10px";mxUtils.write(c,mxResources.get("none"));b.firstChild.firstChild.appendChild(c);"connector"==f.style.shape||"filledEdge"==f.style.shape?(Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],null,
+null,!1,Format.classicFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],null,null,!1,Format.classicThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],null,null,!1,Format.openFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN_THIN,0],null,null,!1,Format.openThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["openAsync",0],null,null,!1,Format.openAsyncFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],null,null,!1,Format.blockFilledMarkerImage.src),
+"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,1],null,null,!1,Format.blockThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",1],null,null,!1,Format.asyncFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,
+1],null,null,!1,Format.ovalFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND,1],null,null,!1,Format.diamondFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,1],null,null,!1,Format.diamondThinFilledMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,0],null,null,!1,Format.classicMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,0],null,null,!1,Format.classicThinMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,0],null,null,!1,Format.blockMarkerImage.src),
+"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK_THIN,0],null,null,!1,Format.blockThinMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["async",0],null,null,!1,Format.asyncMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OVAL,
+0],null,null,!1,Format.ovalMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND,0],null,null,!1,Format.diamondMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],null,null,!1,Format.diamondThinMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],["box",0],null,null,!1,Format.boxMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["halfCircle",0],null,null,!1,Format.halfCircleMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],null,null,!1,Format.dashMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],null,null,!1,Format.crossMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],null,null,!1,Format.circlePlusMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",0],null,null,!1,Format.circleMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],["baseDash",0],null,null,!1,Format.baseDashMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],null,null,!1,Format.EROneMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],null,null,!1,Format.ERmandOneMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],null,null,!1,Format.ERmanyMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],null,null,!1,Format.ERoneToManyMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToOne",0],null,null,!1,Format.ERzeroToOneMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",0],null,null,!1,Format.ERzeroToManyMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["doubleBlock",0],null,null,!1,Format.doubleBlockMarkerImage.src),"scaleX(-1)"),Format.processMenuIcon(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["doubleBlock",1],null,null,!1,Format.doubleBlockFilledMarkerImage.src),"scaleX(-1)")):this.editorUi.menus.edgeStyleChange(a,
+"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"));a.div.style.width="40px";window.setTimeout(mxUtils.bind(this,function(){null!=a.div&&mxUtils.fit(a.div)}),0)}})),w=this.addArrow(v,8);w.nextSibling.style.position="relative";w.nextSibling.style.top="-2px";w=this.addArrow(y,10);w.nextSibling.style.position="relative";w.nextSibling.style.top="-3px";y.getElementsByTagName("img")[0].style.top="-1px";
+this.addArrow(E);this.addArrow(I);w=this.addArrow(m,9);w.className="geIcon";w.style.width="auto";var B=this.addArrow(l,9);B.className="geIcon";B.style.width="22px";var G=document.createElement("div");G.style.width="84px";G.style.height="1px";G.style.borderBottom="1px solid "+this.defaultStrokeColor;G.style.marginBottom="7px";w.appendChild(G);var z=document.createElement("div");z.style.width="23px";z.style.height="1px";z.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.marginBottom=
+"7px";B.appendChild(z);m.style.height="15px";m.style.marginLeft="16px";l.style.height="15px";l.style.marginLeft="3px";v.style.marginLeft="10px";v.style.height="15px";y.style.marginLeft="10px";y.style.height="17px";E.style.marginLeft="3px";E.style.height="17px";I.style.marginLeft="3px";I.style.height="17px";a.appendChild(h);a.appendChild(u);a.appendChild(p);m=p.cloneNode(!1);m.style.padding="5px 4px 6px 0px";m.style.fontWeight="normal";l=document.createElement("div");l.style.position="absolute";l.style.marginLeft=
+"0px";l.style.marginBottom="12px";l.style.marginTop="2px";l.style.fontWeight="normal";l.style.width="76px";mxUtils.write(l,mxResources.get("lineend"));m.appendChild(l);var F,K,L=this.addUnitInput(m,"pt",98,52,function(){F.apply(this,arguments)}),N=this.addUnitInput(m,"pt",30,52,function(){K.apply(this,arguments)});mxUtils.br(m);w=document.createElement("div");w.style.height="8px";m.appendChild(w);l=l.cloneNode(!1);mxUtils.write(l,mxResources.get("linestart"));m.appendChild(l);var J,R,Y=this.addUnitInput(m,
+"pt",98,52,function(){J.apply(this,arguments)}),ca=this.addUnitInput(m,"pt",30,52,function(){R.apply(this,arguments)});mxUtils.br(m);this.addLabel(m,mxResources.get("spacing"),98,52);this.addLabel(m,mxResources.get("size"),30,52);mxUtils.br(m);h=h.cloneNode(!1);h.style.fontWeight="normal";h.style.position="relative";h.style.paddingLeft="16px";h.style.marginBottom="2px";h.style.marginTop="6px";h.style.borderWidth="0px";h.style.paddingBottom="18px";l=document.createElement("div");l.style.position="absolute";
+l.style.marginLeft="3px";l.style.marginBottom="12px";l.style.marginTop="1px";l.style.fontWeight="normal";l.style.width="120px";mxUtils.write(l,mxResources.get("perimeter"));h.appendChild(l);var O,S=this.addUnitInput(h,"pt",30,52,function(){O.apply(this,arguments)});f.edges.length==f.cells.length?(a.appendChild(g),a.appendChild(m)):f.vertices.length==f.cells.length&&a.appendChild(h);var U=mxUtils.bind(this,function(b,c,d){function g(a,b,c,d){c=c.getElementsByTagName("div")[0];null!=c&&(c.className=
+e.getCssClassForMarker(d,f.style.shape,a,b),c.nextSibling.style.marginLeft="1px",c.nextSibling.style.paddingRight="5px","geSprite geSprite-noarrow"==c.className?(c.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),c.style.backgroundImage="none",c.style.verticalAlign="top",c.style.marginTop="4px",c.style.fontSize="10px",c.style.filter="none",c.style.color=this.defaultStrokeColor,c.nextSibling.style.marginTop="0px"):(c.nextSibling.style.position="relative",c.nextSibling.style.top="-2px"));return c}
+f=e.getSelectionState();if(d||document.activeElement!=t)b=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),t.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=x)b=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_STROKEWIDTH,1)),x.value=isNaN(b)?"":b+" pt";k.style.visibility="connector"==f.style.shape||"filledEdge"==f.style.shape?"":"hidden";"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?k.value="curved":"1"==mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,
+null)&&(k.value="rounded");"1"==mxUtils.getValue(f.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(f.style,mxConstants.STYLE_DASH_PATTERN,null)?G.style.borderBottom="1px dashed "+this.defaultStrokeColor:G.style.borderBottom="1px dotted "+this.defaultStrokeColor:G.style.borderBottom="1px solid "+this.defaultStrokeColor;z.style.borderBottom=G.style.borderBottom;b=y.getElementsByTagName("div")[0];null!=b&&(c=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null),"1"==mxUtils.getValue(f.style,
+mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null),"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(f.style,mxConstants.STYLE_CURVED,null)?b.className="geSprite geSprite-curved":b.className="straight"==c||"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==
+mxUtils.getValue(f.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal");b=v.getElementsByTagName("div")[0];null!=b&&(b.className="link"==f.style.shape?"geSprite geSprite-linkedge":"flexArrow"==f.style.shape?"geSprite geSprite-arrow":"arrow"==f.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection");f.edges.length==f.cells.length?(u.style.display="",p.style.display="none"):(u.style.display="none",p.style.display=
+"");Graph.lineJumpsEnabled&&0<f.edges.length&&0==f.vertices.length&&f.lineJumps&&(a.style.borderBottomStyle="none");b=g(mxUtils.getValue(f.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(f.style,"startFill","1"),E,"start");c=g(mxUtils.getValue(f.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(f.style,"endFill","1"),I,"end");null!=b&&null!=c&&("arrow"==f.style.shape?(b.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==f.style.shape&&(b.className=
+"geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow"));mxUtils.setOpacity(y,"arrow"==f.style.shape?30:100);"connector"!=f.style.shape&&"flexArrow"!=f.style.shape&&"filledEdge"!=f.style.shape?(mxUtils.setOpacity(E,30),mxUtils.setOpacity(I,30)):(mxUtils.setOpacity(E,100),mxUtils.setOpacity(I,100));if(d||document.activeElement!=ca)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),ca.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=
+Y)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Y.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=N)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),N.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=Y)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0)),L.value=isNaN(b)?"":b+" pt";if(d||document.activeElement!=S)b=parseInt(mxUtils.getValue(f.style,mxConstants.STYLE_PERIMETER_SPACING,
+0)),S.value=isNaN(b)?"":b+" pt"});R=this.installInputHandler(ca,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Y,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(N,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");F=this.installInputHandler(L,mxConstants.STYLE_TARGET_PERIMETER_SPACING,0,-999,999," pt");O=this.installInputHandler(S,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(t,
+U);this.addKeyHandler(ca,U);this.addKeyHandler(Y,U);this.addKeyHandler(N,U);this.addKeyHandler(L,U);this.addKeyHandler(S,U);d.getModel().addListener(mxEvent.CHANGE,U);this.listeners.push({destroy:function(){d.getModel().removeListener(U)}});U();return a};
StyleFormatPanel.prototype.addLineJumps=function(a){var b=this.editorUi,c=b.editor.graph,e=b.getSelectionState();if(Graph.lineJumpsEnabled&&0<e.edges.length&&0==e.vertices.length&&e.lineJumps){a.style.padding="2px 0px 24px 14px";var d=document.createElement("div");d.style.position="absolute";d.style.maxWidth="82px";d.style.overflow="hidden";d.style.textOverflow="ellipsis";mxUtils.write(d,mxResources.get("lineJumps"));a.appendChild(d);var f=document.createElement("select");f.style.position="absolute";
f.style.height="21px";f.style.padding="0px";f.style.marginTop="-2px";f.style.boxSizing="border-box";f.style.right="76px";f.style.width="54px";f.style.border="1px solid rgb(160, 160, 160)";f.style.borderRadius="4px";for(var d=["none","arc","gap","sharp","line"],h=0;h<d.length;h++){var k=document.createElement("option");k.setAttribute("value",d[h]);mxUtils.write(k,mxResources.get(d[h]));f.appendChild(k)}mxEvent.addListener(f,"change",function(a){c.getModel().beginUpdate();try{c.setCellStyles("jumpStyle",
f.value,e.cells),b.fireEvent(new mxEventObject("styleChanged","keys",["jumpStyle"],"values",[f.value],"cells",e.cells))}finally{c.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(f,"click",function(a){mxEvent.consume(a)});a.appendChild(f);var g,m=this.addUnitInput(a,"pt",16,42,function(){g.apply(this,arguments)});g=this.installInputHandler(m,"jumpSize",Graph.defaultJumpSize,0,999," pt");var l=mxUtils.bind(this,function(a,c,d){e=b.getSelectionState();f.value=mxUtils.getValue(e.style,
@@ -3222,11 +3222,11 @@ w=document.createElement("div");w.style.position="relative";a.appendChild(w);nul
"hidden",null!=m&&null!=m.background&&(n.style.backgroundColor=m.background),x(a,g,k,m,n),mxEvent.addGestureListeners(n,mxUtils.bind(this,function(a){n.style.opacity=.5}),null,mxUtils.bind(this,function(l){n.style.opacity=1;c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);t(a,c.currentVertexStyle);t(a,c.currentEdgeStyle);t(g,c.currentVertexStyle);t(k,c.currentEdgeStyle);d?(c.currentEdgeStyle.sketch="1",c.currentVertexStyle.sketch="1"):(c.currentEdgeStyle.sketch=
"0",c.currentVertexStyle.sketch="0");c.currentVertexStyle.rounded=f?"1":"0";c.currentEdgeStyle.rounded="1";c.currentEdgeStyle.curved=h?"1":"0";e.beginUpdate();try{var p=r.slice(),v;for(v in a)p.push(v);u(p,m);var x=new ChangePageSetup(b,null!=m?m.background:null);x.ignoreImage=!0;e.execute(x);e.execute(new ChangeGridColor(b,null!=m&&null!=m.gridColor?m.gridColor:c.view.defaultGridColor))}finally{e.endUpdate()}})),mxEvent.addListener(n,"mouseenter",mxUtils.bind(this,function(b){var d=c.getCellStyle;
b=c.background;var f=c.view.gridColor;c.background=null!=m?m.background:null;c.view.gridColor=null!=m&&null!=m.gridColor?m.gridColor:c.view.defaultGridColor;c.getCellStyle=function(b,f){f=null!=f?f:!0;var h=mxUtils.clone(d.apply(this,arguments)),l=c.stylesheet.getDefaultVertexStyle(),n=g;e.isEdge(b)&&(l=c.stylesheet.getDefaultEdgeStyle(),n=k);v(h,r,l);t(a,h,b,m);t(n,h,b,m);f&&(h=this.postProcessCellStyle(b,h));return h};c.refresh();c.getCellStyle=d;c.background=b;c.view.gridColor=f})),mxEvent.addListener(n,
-"mouseleave",mxUtils.bind(this,function(a){c.refresh()})),mxClient.IS_IE||mxClient.IS_IE11||(this.format.cachedStyleEntries[l]=n));w.appendChild(n)}),F=Math.ceil(Editor.styles.length/10);this.format.currentStylePage=null!=this.format.currentStylePage?this.format.currentStylePage:0;var I=[],B=mxUtils.bind(this,function(){0<I.length&&(I[this.format.currentStylePage].style.background="#84d7ff");for(var a=10*this.format.currentStylePage;a<Math.min(10*(this.format.currentStylePage+1),Editor.styles.length);a++){var b=
-Editor.styles[a];y(b.commonStyle,b.vertexStyle,b.edgeStyle,b.graph,a)}}),G=mxUtils.bind(this,function(a){0<=a&&a<F&&(I[this.format.currentStylePage].style.background="transparent",w.innerHTML="",this.format.currentStylePage=a,B())});if(1<F){k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.position="relative";k.style.textAlign="center";k.style.paddingTop="4px";k.style.width="210px";a.style.paddingBottom="8px";for(p=0;p<F;p++){var z=document.createElement("div");z.style.display="inline-block";
-z.style.width="6px";z.style.height="6px";z.style.marginLeft="4px";z.style.marginRight="3px";z.style.borderRadius="3px";z.style.cursor="pointer";z.style.background="transparent";z.style.border="1px solid #b5b6b7";mxUtils.bind(this,function(a,b){mxEvent.addListener(z,"click",mxUtils.bind(this,function(){G(a)}))})(p,z);k.appendChild(z);I.push(z)}a.appendChild(k);B();15>F&&(g=function(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity=
+"mouseleave",mxUtils.bind(this,function(a){c.refresh()})),mxClient.IS_IE||mxClient.IS_IE11||(this.format.cachedStyleEntries[l]=n));w.appendChild(n)}),E=Math.ceil(Editor.styles.length/10);this.format.currentStylePage=null!=this.format.currentStylePage?this.format.currentStylePage:0;var I=[],B=mxUtils.bind(this,function(){0<I.length&&(I[this.format.currentStylePage].style.background="#84d7ff");for(var a=10*this.format.currentStylePage;a<Math.min(10*(this.format.currentStylePage+1),Editor.styles.length);a++){var b=
+Editor.styles[a];y(b.commonStyle,b.vertexStyle,b.edgeStyle,b.graph,a)}}),G=mxUtils.bind(this,function(a){0<=a&&a<E&&(I[this.format.currentStylePage].style.background="transparent",w.innerHTML="",this.format.currentStylePage=a,B())});if(1<E){k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.position="relative";k.style.textAlign="center";k.style.paddingTop="4px";k.style.width="210px";a.style.paddingBottom="8px";for(p=0;p<E;p++){var z=document.createElement("div");z.style.display="inline-block";
+z.style.width="6px";z.style.height="6px";z.style.marginLeft="4px";z.style.marginRight="3px";z.style.borderRadius="3px";z.style.cursor="pointer";z.style.background="transparent";z.style.border="1px solid #b5b6b7";mxUtils.bind(this,function(a,b){mxEvent.addListener(z,"click",mxUtils.bind(this,function(){G(a)}))})(p,z);k.appendChild(z);I.push(z)}a.appendChild(k);B();15>E&&(g=function(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity=
"0.5"})},n=document.createElement("div"),n.style.position="absolute",n.style.left="0px",n.style.top="0px",n.style.bottom="0px",n.style.width="24px",n.style.height="24px",n.style.margin="0px",n.style.cursor="pointer",n.style.opacity="0.5",n.style.backgroundRepeat="no-repeat",n.style.backgroundPosition="center center",n.style.backgroundSize="24px 24px",n.style.backgroundImage="url("+Editor.previousImage+")",Editor.isDarkMode()&&(n.style.filter="invert(100%)"),p=n.cloneNode(!1),p.style.backgroundImage=
-"url("+Editor.nextImage+")",p.style.left="",p.style.right="2px",k.appendChild(n),k.appendChild(p),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage-1,F))})),mxEvent.addListener(p,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage+1,F))})),g(n),g(p))}else B();return a};
+"url("+Editor.nextImage+")",p.style.left="",p.style.right="2px",k.appendChild(n),k.appendChild(p),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage-1,E))})),mxEvent.addListener(p,"click",mxUtils.bind(this,function(){G(mxUtils.mod(this.format.currentStylePage+1,E))})),g(n),g(p))}else B();return a};
DiagramStylePanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.darkModeChangedListener&&(this.editorUi.removeListener(this.darkModeChangedListener),this.darkModeChangedListener=null)};DiagramFormatPanel=function(a,b,c){BaseFormatPanel.call(this,a,b,c);this.init()};mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.showPageView=!0;DiagramFormatPanel.prototype.showBackgroundImageOption=!0;
DiagramFormatPanel.prototype.init=function(){var a=this.editorUi.editor.graph;this.container.appendChild(this.addView(this.createPanel()));a.isEnabled()&&(this.container.appendChild(this.addOptions(this.createPanel())),this.container.appendChild(this.addPaperSize(this.createPanel())),this.container.appendChild(this.addStyleOps(this.createPanel())))};
DiagramFormatPanel.prototype.addView=function(a){var b=this.editorUi,c=b.editor.graph;a.appendChild(this.createTitle(mxResources.get("view")));this.addGridOption(a);DiagramFormatPanel.showPageView&&a.appendChild(this.createOption(mxResources.get("pageView"),function(){return c.pageVisible},function(a){b.actions.get("pageView").funct()},{install:function(a){this.listener=function(){a(c.pageVisible)};b.addListener("pageViewChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}}));
@@ -3243,10 +3243,10 @@ DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(thi
DiagramFormatPanel.prototype.addPaperSize=function(a){var b=this.editorUi,c=b.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var e=PageSetupDialog.addPageFormatPanel(a,"formatpanel",c.pageFormat,function(a){if(null==c.pageFormat||c.pageFormat.width!=a.width||c.pageFormat.height!=a.height)a=new ChangePageSetup(b,null,null,a),a.ignoreColor=!0,a.ignoreImage=!0,c.model.execute(a)});this.addKeyHandler(e.widthInput,function(){e.set(c.pageFormat)});this.addKeyHandler(e.heightInput,
function(){e.set(c.pageFormat)});var d=function(){e.set(c.pageFormat)};b.addListener("pageFormatChanged",d);this.listeners.push({destroy:function(){b.removeListener(d)}});c.getModel().addListener(mxEvent.CHANGE,d);this.listeners.push({destroy:function(){c.getModel().removeListener(d)}});return a};DiagramFormatPanel.prototype.addStyleOps=function(a){this.addActions(a,["editData"]);this.addActions(a,["clearDefaultStyle"]);return a};
DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(a,b,c){mxShape.call(this);this.line=a;this.stroke=b;this.strokewidth=null!=c?c:1;this.updateBoundsFromLine()}function b(){mxSwimlane.call(this)}function c(){mxCylinder.call(this)}function e(){mxCylinder.call(this)}function d(){mxActor.call(this)}function f(){mxCylinder.call(this)}function h(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function g(){mxCylinder.call(this)}function m(){mxShape.call(this)}function l(){mxShape.call(this)}function n(a,b,c,d){mxShape.call(this);
-this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1}function p(){mxActor.call(this)}function r(){mxCylinder.call(this)}function u(){mxCylinder.call(this)}function v(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function w(){mxActor.call(this)}function y(){mxActor.call(this)}function F(){mxActor.call(this)}function I(){mxActor.call(this)}function B(a,b){this.canvas=a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=
+this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1}function p(){mxActor.call(this)}function r(){mxCylinder.call(this)}function u(){mxCylinder.call(this)}function v(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function w(){mxActor.call(this)}function y(){mxActor.call(this)}function E(){mxActor.call(this)}function I(){mxActor.call(this)}function B(a,b){this.canvas=a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=
b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,B.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,B.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,B.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,B.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,B.prototype.curveTo);this.originalArcTo=
-this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,B.prototype.arcTo)}function G(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function D(){mxActor.call(this)}function K(){mxActor.call(this)}function L(){mxActor.call(this)}function N(){mxRectangleShape.call(this)}function J(){mxRectangleShape.call(this)}function Q(){mxCylinder.call(this)}function Y(){mxShape.call(this)}function ca(){mxShape.call(this)}function O(){mxEllipse.call(this)}function R(){mxShape.call(this)}function T(){mxShape.call(this)}
-function U(){mxRectangleShape.call(this)}function X(){mxShape.call(this)}function ka(){mxShape.call(this)}function ma(){mxShape.call(this)}function oa(){mxShape.call(this)}function pa(){mxShape.call(this)}function ga(){mxCylinder.call(this)}function na(){mxCylinder.call(this)}function ua(){mxRectangleShape.call(this)}function qa(){mxDoubleEllipse.call(this)}function ra(){mxDoubleEllipse.call(this)}function la(){mxArrowConnector.call(this);this.spacing=0}function ia(){mxArrowConnector.call(this);this.spacing=
+this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,B.prototype.arcTo)}function G(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function F(){mxActor.call(this)}function K(){mxActor.call(this)}function L(){mxActor.call(this)}function N(){mxRectangleShape.call(this)}function J(){mxRectangleShape.call(this)}function R(){mxCylinder.call(this)}function Y(){mxShape.call(this)}function ca(){mxShape.call(this)}function O(){mxEllipse.call(this)}function S(){mxShape.call(this)}function U(){mxShape.call(this)}
+function Q(){mxRectangleShape.call(this)}function X(){mxShape.call(this)}function ka(){mxShape.call(this)}function ma(){mxShape.call(this)}function oa(){mxShape.call(this)}function pa(){mxShape.call(this)}function ga(){mxCylinder.call(this)}function na(){mxCylinder.call(this)}function ua(){mxRectangleShape.call(this)}function qa(){mxDoubleEllipse.call(this)}function ra(){mxDoubleEllipse.call(this)}function la(){mxArrowConnector.call(this);this.spacing=0}function ia(){mxArrowConnector.call(this);this.spacing=
0}function ja(){mxActor.call(this)}function ea(){mxRectangleShape.call(this)}function fa(){mxActor.call(this)}function sa(){mxActor.call(this)}function Z(){mxActor.call(this)}function aa(){mxActor.call(this)}function ba(){mxActor.call(this)}function P(){mxActor.call(this)}function W(){mxActor.call(this)}function da(){mxActor.call(this)}function V(){mxActor.call(this)}function ha(){mxActor.call(this)}function Ea(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Fa(){mxEllipse.call(this)}
function Na(){mxRhombus.call(this)}function Oa(){mxEllipse.call(this)}function Pa(){mxEllipse.call(this)}function Ga(){mxEllipse.call(this)}function Ha(){mxEllipse.call(this)}function Ia(){mxActor.call(this)}function ya(){mxActor.call(this)}function za(){mxActor.call(this)}function M(a,b,c,d){mxShape.call(this);this.bounds=a;this.fill=b;this.stroke=c;this.strokewidth=null!=d?d:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize=!0;this.indent=2;this.rectOutline="single"}function wa(){mxConnector.call(this)}
function Sa(a,b,c,d,e,f,g,k,h,m){g+=h;var q=d.clone();d.x-=e*(2*g+h);d.y-=f*(2*g+h);e*=g+h;f*=g+h;return function(){a.ellipse(q.x-e-g,q.y-f-g,2*g,2*g);m?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxShape);a.prototype.updateBoundsFromLine=function(){var a=null;if(null!=this.line)for(var b=0;b<this.line.length;b++){var c=this.line[b];null!=c&&(c=new mxRectangle(c.x,c.y,this.strokewidth,this.strokewidth),null==a?a=c:a.add(c))}this.bounds=null!=a?a:new mxRectangle};a.prototype.paintVertexShape=function(a,
@@ -3282,8 +3282,8 @@ this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b
mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?new mxRectangle(q,0,Math.min(a.width,a.width-c),Math.min(a.height,a.height-b)):new mxRectangle(Math.min(a.width,a.width-c),0,q,Math.min(a.height,a.height-b))}return new mxRectangle(0,Math.min(a.height,b),0,0)}return null};u.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)&&null!=mxUtils.getValue(this.style,"umlStateConnection",null)?new mxRectangle(10*this.scale,0,0,0):null};g.prototype.getLabelMargins=
function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",15);return new mxRectangle(0,Math.min(a.height*this.scale,b*this.scale),0,Math.max(0,b*this.scale))}return null};mxUtils.extend(w,mxActor);w.prototype.size=.2;w.prototype.fixedSize=20;w.prototype.isRoundable=function(){return!0};w.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):
d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d-b,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("parallelogram",w);mxUtils.extend(y,mxActor);y.prototype.size=.2;y.prototype.fixedSize=20;y.prototype.isRoundable=function(){return!0};y.prototype.redrawPath=function(a,b,c,d,e){b="0"!=
-mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(.5*d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,e)],this.isRounded,c,!0)};mxCellRenderer.registerShape("trapezoid",y);mxUtils.extend(F,mxActor);F.prototype.size=
-.5;F.prototype.redrawPath=function(a,b,c,d,e){a.setFillColor(null);b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b,e/2),new mxPoint(0,e/2),new mxPoint(b,e/2),new mxPoint(b,e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",F);mxUtils.extend(I,mxActor);I.prototype.redrawPath=
+mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(.5*d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,e)],this.isRounded,c,!0)};mxCellRenderer.registerShape("trapezoid",y);mxUtils.extend(E,mxActor);E.prototype.size=
+.5;E.prototype.redrawPath=function(a,b,c,d,e){a.setFillColor(null);b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b,e/2),new mxPoint(0,e/2),new mxPoint(b,e/2),new mxPoint(b,e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",E);mxUtils.extend(I,mxActor);I.prototype.redrawPath=
function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",I);B.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};B.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,
arguments));this.originalClose.apply(this.canvas,arguments)};B.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};B.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};B.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=g};B.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===
typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),q=Math.sqrt(d*d+e*e);if(2>q){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var f=Math.round(q/10),g=this.defaultVariation;5>f&&(f=5,g/=3);for(var k=c(a-this.lastX)*d/f,c=c(b-this.lastY)*e/f,d=d/q,e=e/q,q=0;q<f;q++){var h=(Math.random()-.5)*g;this.originalLineTo.call(this.canvas,k*q+this.lastX-h*e,c*q+this.lastY-h*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,
@@ -3294,28 +3294,28 @@ mxRectangleShape.prototype.isHtmlAllowed=function(){return!this.outline&&(null==
q,e*q)),a.moveTo(b+q,c),a.lineTo(b+d-q,c),a.quadTo(b+d,c,b+d,c+q),a.lineTo(b+d,c+e-q),a.quadTo(b+d,c+e,b+d-q,c+e),a.lineTo(b+q,c+e),a.quadTo(b,c+e,b,c+e-q),a.lineTo(b,c+q),a.quadTo(b,c,b+q,c)):(a.moveTo(b,c),a.lineTo(b+d,c),a.lineTo(b+d,c+e),a.lineTo(b,c+e),a.lineTo(b,c)),a.close(),a.end(),a.fillAndStroke()}};mxUtils.extend(G,mxRectangleShape);G.prototype.size=.1;G.prototype.fixedSize=!1;G.prototype.isHtmlAllowed=function(){return!1};G.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,
mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var b=a.width,c=a.height;a=new mxRectangle(a.x,a.y,b,c);var d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(b*e,c*e));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};
G.prototype.paintForeground=function(a,b,c,d,e){var q=mxUtils.getValue(this.style,"fixedSize",this.fixedSize),f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),f=q?Math.max(0,Math.min(d,f)):d*Math.max(0,Math.min(1,f));this.isRounded&&(q=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*q,e*q)));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,
-arguments)};mxCellRenderer.registerShape("process",G);mxCellRenderer.registerShape("process2",G);mxUtils.extend(z,mxRectangleShape);z.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};z.prototype.paintForeground=function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",z);mxUtils.extend(D,mxHexagon);D.prototype.size=30;D.prototype.position=.5;D.prototype.position2=.5;D.prototype.base=20;D.prototype.getLabelMargins=function(){return new mxRectangle(0,
-0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};D.prototype.isRoundable=function(){return!0};D.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var q=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",
-this.position2)))),g=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-c),new mxPoint(Math.min(d,q+g),e-c),new mxPoint(f,e),new mxPoint(Math.max(0,q),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout",D);mxUtils.extend(K,mxActor);K.prototype.size=.2;K.prototype.fixedSize=20;K.prototype.isRoundable=function(){return!0};K.prototype.redrawPath=function(a,b,c,d,e){b=
+arguments)};mxCellRenderer.registerShape("process",G);mxCellRenderer.registerShape("process2",G);mxUtils.extend(z,mxRectangleShape);z.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};z.prototype.paintForeground=function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",z);mxUtils.extend(F,mxHexagon);F.prototype.size=30;F.prototype.position=.5;F.prototype.position2=.5;F.prototype.base=20;F.prototype.getLabelMargins=function(){return new mxRectangle(0,
+0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};F.prototype.isRoundable=function(){return!0};F.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var q=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",
+this.position2)))),g=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-c),new mxPoint(Math.min(d,q+g),e-c),new mxPoint(f,e),new mxPoint(Math.max(0,q),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout",F);mxUtils.extend(K,mxActor);K.prototype.size=.2;K.prototype.fixedSize=20;K.prototype.isRoundable=function(){return!0};K.prototype.redrawPath=function(a,b,c,d,e){b=
"0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(0,e),new mxPoint(b,e/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",K);
mxUtils.extend(L,mxHexagon);L.prototype.size=.25;L.prototype.fixedSize=20;L.prototype.isRoundable=function(){return!0};L.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(.5*d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,
0),new mxPoint(d-b,0),new mxPoint(d,.5*e),new mxPoint(d-b,e),new mxPoint(b,e),new mxPoint(0,.5*e)],this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",L);mxUtils.extend(N,mxRectangleShape);N.prototype.isHtmlAllowed=function(){return!1};N.prototype.paintForeground=function(a,b,c,d,e){var f=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+f);a.lineTo(b+d/2,c+e-f);a.moveTo(b+f,c+e/2);a.lineTo(b+d-f,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",
N);var Va=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};mxRhombus.prototype.paintVertexShape=function(a,b,c,d,e){Va.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&(a.setShadow(!1),Va.apply(this,[a,b,c,d,e]))}};mxUtils.extend(J,mxRectangleShape);J.prototype.isHtmlAllowed=function(){return!1};J.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};J.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=
-Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,q;do{q=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=q){var g=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],h=this.style["symbol"+f+"Width"],A=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,E=this.style["symbol"+f+"VSpacing"]||m,l=
-this.style["symbol"+f+"ArcSpacing"];null!=l&&(l*=this.getArcSize(d+this.strokewidth,e+this.strokewidth),m+=l,E+=l);var l=b,C=c,l=g==mxConstants.ALIGN_CENTER?l+(d-h)/2:g==mxConstants.ALIGN_RIGHT?l+(d-h-m):l+m,C=k==mxConstants.ALIGN_MIDDLE?C+(e-A)/2:k==mxConstants.ALIGN_BOTTOM?C+(e-A-E):C+E;a.save();g=new q;g.style=this.style;q.prototype.paintVertexShape.call(g,a,l,C,h,A);a.restore()}f++}while(null!=q)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",
-J);mxUtils.extend(Q,mxCylinder);Q.prototype.redrawPath=function(a,b,c,d,e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",Q);mxUtils.extend(Y,mxShape);Y.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/
+Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,q;do{q=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=q){var g=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],h=this.style["symbol"+f+"Width"],A=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,D=this.style["symbol"+f+"VSpacing"]||m,l=
+this.style["symbol"+f+"ArcSpacing"];null!=l&&(l*=this.getArcSize(d+this.strokewidth,e+this.strokewidth),m+=l,D+=l);var l=b,C=c,l=g==mxConstants.ALIGN_CENTER?l+(d-h)/2:g==mxConstants.ALIGN_RIGHT?l+(d-h-m):l+m,C=k==mxConstants.ALIGN_MIDDLE?C+(e-A)/2:k==mxConstants.ALIGN_BOTTOM?C+(e-A-D):C+D;a.save();g=new q;g.style=this.style;q.prototype.paintVertexShape.call(g,a,l,C,h,A);a.restore()}f++}while(null!=q)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",
+J);mxUtils.extend(R,mxCylinder);R.prototype.redrawPath=function(a,b,c,d,e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",R);mxUtils.extend(Y,mxShape);Y.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/
2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",Y);mxUtils.extend(ca,mxShape);ca.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};ca.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",
-ca);mxUtils.extend(O,mxEllipse);O.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",O);mxUtils.extend(R,mxShape);R.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",R);mxUtils.extend(T,mxShape);
-T.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};T.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};T.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",T);mxUtils.extend(U,mxRectangleShape);U.prototype.size=
-40;U.prototype.isHtmlAllowed=function(){return!1};U.prototype.getLabelBounds=function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};U.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),q=mxUtils.getValue(this.style,"participant");null==q||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,
-c,d,f):(q=this.state.view.graph.cellRenderer.getShape(q),null!=q&&q!=U&&(q=new q,q.apply(this.state),a.save(),q.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed("1"==mxUtils.getValue(this.style,"lifelineDashed","1")),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};U.prototype.paintForeground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,
-f))};mxCellRenderer.registerShape("umlLifeline",U);mxUtils.extend(X,mxShape);X.prototype.width=60;X.prototype.height=30;X.prototype.corner=10;X.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};X.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,q=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,
+ca);mxUtils.extend(O,mxEllipse);O.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",O);mxUtils.extend(S,mxShape);S.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",S);mxUtils.extend(U,mxShape);
+U.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};U.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};U.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",U);mxUtils.extend(Q,mxRectangleShape);Q.prototype.size=
+40;Q.prototype.isHtmlAllowed=function(){return!1};Q.prototype.getLabelBounds=function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};Q.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),q=mxUtils.getValue(this.style,"participant");null==q||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,
+c,d,f):(q=this.state.view.graph.cellRenderer.getShape(q),null!=q&&q!=Q&&(q=new q,q.apply(this.state),a.save(),q.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed("1"==mxUtils.getValue(this.style,"lifelineDashed","1")),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};Q.prototype.paintForeground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,
+f))};mxCellRenderer.registerShape("umlLifeline",Q);mxUtils.extend(X,mxShape);X.prototype.width=60;X.prototype.height=30;X.prototype.corner=10;X.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};X.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,q=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,
"width",this.width)))),g=Math.min(e,Math.max(1.5*f,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),k=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);k!=mxConstants.NONE&&(a.setFillColor(k),a.rect(b,c,d,e),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();
a.moveTo(b,c);a.lineTo(b+q,c);a.lineTo(b+q,c+Math.max(0,g-1.5*f));a.lineTo(b+Math.max(0,q-f),c+g);a.lineTo(b,c+g);a.close();a.fillAndStroke();a.begin();a.moveTo(b+q,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+g);a.stroke()};mxCellRenderer.registerShape("umlFrame",X);mxPerimeter.CenterPerimeter=function(a,b,c,d){return new mxPoint(a.getCenterX(),a.getCenterY())};mxStyleRegistry.putValue("centerPerimeter",mxPerimeter.CenterPerimeter);mxPerimeter.LifelinePerimeter=function(a,b,
-c,d){d=U.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",
+c,d){d=Q.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",
mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,b,c,d){d=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;null!=b.style.backboneSize&&(d+=parseFloat(b.style.backboneSize)*b.view.scale/2-1);if("south"==b.style[mxConstants.STYLE_DIRECTION]||"north"==b.style[mxConstants.STYLE_DIRECTION])return c.x<a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+
-a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",D.prototype.size))*b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,
+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",F.prototype.size))*b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,
b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?w.prototype.fixedSize:w.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));e&&(f*=b.view.scale);var q=a.x,g=a.y,k=a.width,h=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=e?Math.max(0,Math.min(h,f)):h*Math.max(0,Math.min(1,f)),g=[new mxPoint(q,g),new mxPoint(q+k,g+e),new mxPoint(q+
k,g+h),new mxPoint(q,g+h-e),new mxPoint(q,g)]):(e=e?Math.max(0,Math.min(.5*k,f)):k*Math.max(0,Math.min(1,f)),g=[new mxPoint(q+e,g),new mxPoint(q+k,g),new mxPoint(q+k-e,g+h),new mxPoint(q,g+h),new mxPoint(q+e,g)]);h=a.getCenterX();a=a.getCenterY();a=new mxPoint(h,a);d&&(c.x<q||c.x>q+k?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,
"fixedSize","0"),f=e?y.prototype.fixedSize:y.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));e&&(f*=b.view.scale);var q=a.x,g=a.y,k=a.width,h=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(.5*k,f)):k*Math.max(0,Math.min(1,f)),g=[new mxPoint(q+e,g),new mxPoint(q+k-e,g),new mxPoint(q+k,g+h),new mxPoint(q,g+h),new mxPoint(q+e,g)]):b==mxConstants.DIRECTION_WEST?
@@ -3360,33 +3360,33 @@ type:"enum",defVal:"south",enumList:[{val:"south",dispName:"South"},{val:"west",
{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"topRightStyle",dispName:"Top Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomRightStyle",dispName:"Bottom Right Style",
type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomLeftStyle",dispName:"Bottom Left Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",
dispName:"Fold"}]}];M.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);this.strictDrawShape(a,0,0,d,e)};M.prototype.strictDrawShape=function(a,b,c,d,e,f){var g=f&&f.rectStyle?f.rectStyle:mxUtils.getValue(this.style,"rectStyle",this.rectStyle),k=f&&f.absoluteCornerSize?f.absoluteCornerSize:mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),h=f&&f.size?f.size:Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),m=f&&f.rectOutline?f.rectOutline:
-mxUtils.getValue(this.style,"rectOutline",this.rectOutline),q=f&&f.indent?f.indent:Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),l=f&&f.dashed?f.dashed:mxUtils.getValue(this.style,"dashed",!1),n=f&&f.dashPattern?f.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),p=f&&f.relIndent?f.relIndent:Math.max(0,Math.min(50,q)),A=f&&f.top?f.top:mxUtils.getValue(this.style,"top",!0),E=f&&f.right?f.right:mxUtils.getValue(this.style,"right",!0),C=f&&f.bottom?f.bottom:
+mxUtils.getValue(this.style,"rectOutline",this.rectOutline),q=f&&f.indent?f.indent:Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),l=f&&f.dashed?f.dashed:mxUtils.getValue(this.style,"dashed",!1),n=f&&f.dashPattern?f.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),p=f&&f.relIndent?f.relIndent:Math.max(0,Math.min(50,q)),A=f&&f.top?f.top:mxUtils.getValue(this.style,"top",!0),D=f&&f.right?f.right:mxUtils.getValue(this.style,"right",!0),C=f&&f.bottom?f.bottom:
mxUtils.getValue(this.style,"bottom",!0),r=f&&f.left?f.left:mxUtils.getValue(this.style,"left",!0),t=f&&f.topLeftStyle?f.topLeftStyle:mxUtils.getValue(this.style,"topLeftStyle","default"),u=f&&f.topRightStyle?f.topRightStyle:mxUtils.getValue(this.style,"topRightStyle","default"),H=f&&f.bottomRightStyle?f.bottomRightStyle:mxUtils.getValue(this.style,"bottomRightStyle","default"),v=f&&f.bottomLeftStyle?f.bottomLeftStyle:mxUtils.getValue(this.style,"bottomLeftStyle","default"),Ca=f&&f.fillColor?f.fillColor:
-mxUtils.getValue(this.style,"fillColor","#ffffff");f&&f.strokeColor||mxUtils.getValue(this.style,"strokeColor","#000000");var x=f&&f.strokeWidth?f.strokeWidth:mxUtils.getValue(this.style,"strokeWidth","1"),w=f&&f.fillColor2?f.fillColor2:mxUtils.getValue(this.style,"fillColor2","none"),y=f&&f.gradientColor2?f.gradientColor2:mxUtils.getValue(this.style,"gradientColor2","none"),D=f&&f.gradientDirection2?f.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),B=f&&f.opacity?f.opacity:
-mxUtils.getValue(this.style,"opacity","100"),z=Math.max(0,Math.min(50,h));f=M.prototype;a.setDashed(l);n&&""!=n&&a.setDashPattern(n);a.setStrokeWidth(x);h=Math.min(.5*e,.5*d,h);k||(h=z*Math.min(d,e)/100);h=Math.min(h,.5*Math.min(d,e));k||(q=Math.min(p*Math.min(d,e)/100));q=Math.min(q,.5*Math.min(d,e)-h);(A||E||C||r)&&"frame"!=m&&(a.begin(),A?f.moveNW(a,b,c,d,e,g,t,h,r):a.moveTo(0,0),A&&f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),E&&f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,
-e,g,H,h,C),C&&f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),r&&f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),a.close(),a.fill(),a.setShadow(!1),a.setFillColor(w),l=k=B,"none"==w&&(k=0),"none"==y&&(l=0),a.setGradient(w,y,0,0,d,e,D,k,l),a.begin(),A?f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r):a.moveTo(q,0),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),r&&C&&f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),C&&E&&f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,
-b,c,d,e,g,u,h,q,A,E),E&&A&&f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),A&&r&&f.paintNWInner(a,b,c,d,e,g,t,h,q),a.fill(),"none"==Ca&&(a.begin(),f.paintFolds(a,b,c,d,e,g,t,u,H,v,h,A,E,C,r),a.stroke()));A||E||C||!r?A||E||!C||r?!A&&!E&&C&&r?"frame"!=m?(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==m&&(f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,
-b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C)),a.stroke()):(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),a.close(),a.fillAndStroke()):A||!E||C||r?!A&&E&&!C&&r?"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==
-m&&(f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke(),a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E)),a.stroke()):(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke(),a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,
-g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),a.close(),a.fillAndStroke()):!A&&E&&C&&!r?"frame"!=m?(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E)),a.stroke()):(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,
-b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),a.close(),a.fillAndStroke()):!A&&E&&C&&r?"frame"!=m?(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==m&&(f.moveNWInner(a,
-b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E)),a.stroke()):(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,
-b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),a.close(),a.fillAndStroke()):!A||E||C||r?A&&!E&&!C&&r?"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke()):
-(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.lineNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke()):A&&!E&&C&&!r?"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke(),a.begin(),
-f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.lineNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),a.close(),a.fillAndStroke(),a.begin(),f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),a.close(),a.fillAndStroke()):
-A&&!E&&C&&r?"frame"!=m?(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C)),a.stroke()):(a.begin(),f.moveSE(a,b,c,d,e,g,H,
-h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.lineNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),a.close(),a.fillAndStroke()):A&&E&&!C&&!r?"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,
-E),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,
-d,e,g,t,h,q,r,A),a.close(),a.fillAndStroke()):A&&E&&!C&&r?"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke()):
-(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke()):A&&E&&C&&!r?"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,
-r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,
-h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),a.close(),a.fillAndStroke()):A&&E&&C&&r&&("frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,h,
-A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),a.close(),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,
-e,g,v,h,q,C,r),a.close()),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),a.close(),f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,
-e,g,u,h,q,A,E),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke())):"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,E),f.lineNEInner(a,b,c,d,e,g,u,h,q,E),f.paintTopInner(a,b,c,d,
-e,g,t,h,q,r,A),a.close(),a.fillAndStroke()):"frame"!=m?(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E)),a.stroke()):(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,E),a.close(),a.fillAndStroke()):"frame"!=m?(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&
-(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C)),a.stroke()):(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,E),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,E,C),a.close(),a.fillAndStroke()):"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==m&&(f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke()):(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,
-b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke());a.begin();f.paintFolds(a,b,c,d,e,g,t,u,H,v,h,A,E,C,r);a.stroke()};M.prototype.moveNW=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,0):a.moveTo(0,h)};M.prototype.moveNE=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(d,0):a.moveTo(d-h,0)};M.prototype.moveSE=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&
+mxUtils.getValue(this.style,"fillColor","#ffffff");f&&f.strokeColor||mxUtils.getValue(this.style,"strokeColor","#000000");var x=f&&f.strokeWidth?f.strokeWidth:mxUtils.getValue(this.style,"strokeWidth","1"),w=f&&f.fillColor2?f.fillColor2:mxUtils.getValue(this.style,"fillColor2","none"),y=f&&f.gradientColor2?f.gradientColor2:mxUtils.getValue(this.style,"gradientColor2","none"),B=f&&f.gradientDirection2?f.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),z=f&&f.opacity?f.opacity:
+mxUtils.getValue(this.style,"opacity","100"),F=Math.max(0,Math.min(50,h));f=M.prototype;a.setDashed(l);n&&""!=n&&a.setDashPattern(n);a.setStrokeWidth(x);h=Math.min(.5*e,.5*d,h);k||(h=F*Math.min(d,e)/100);h=Math.min(h,.5*Math.min(d,e));k||(q=Math.min(p*Math.min(d,e)/100));q=Math.min(q,.5*Math.min(d,e)-h);(A||D||C||r)&&"frame"!=m&&(a.begin(),A?f.moveNW(a,b,c,d,e,g,t,h,r):a.moveTo(0,0),A&&f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),D&&f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,
+e,g,H,h,C),C&&f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),r&&f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),a.close(),a.fill(),a.setShadow(!1),a.setFillColor(w),l=k=z,"none"==w&&(k=0),"none"==y&&(l=0),a.setGradient(w,y,0,0,d,e,B,k,l),a.begin(),A?f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r):a.moveTo(q,0),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),r&&C&&f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),C&&D&&f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,
+b,c,d,e,g,u,h,q,A,D),D&&A&&f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),A&&r&&f.paintNWInner(a,b,c,d,e,g,t,h,q),a.fill(),"none"==Ca&&(a.begin(),f.paintFolds(a,b,c,d,e,g,t,u,H,v,h,A,D,C,r),a.stroke()));A||D||C||!r?A||D||!C||r?!A&&!D&&C&&r?"frame"!=m?(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==m&&(f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,
+b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C)),a.stroke()):(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),a.close(),a.fillAndStroke()):A||!D||C||r?!A&&D&&!C&&r?"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==
+m&&(f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke(),a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D)),a.stroke()):(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke(),a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,
+g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),a.close(),a.fillAndStroke()):!A&&D&&C&&!r?"frame"!=m?(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D)),a.stroke()):(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,
+b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),a.close(),a.fillAndStroke()):!A&&D&&C&&r?"frame"!=m?(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==m&&(f.moveNWInner(a,
+b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D)),a.stroke()):(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,
+b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),a.close(),a.fillAndStroke()):!A||D||C||r?A&&!D&&!C&&r?"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke()):
+(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.lineNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke()):A&&!D&&C&&!r?"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke(),a.begin(),
+f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.lineNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),a.close(),a.fillAndStroke(),a.begin(),f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),a.close(),a.fillAndStroke()):
+A&&!D&&C&&r?"frame"!=m?(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C)),a.stroke()):(a.begin(),f.moveSE(a,b,c,d,e,g,H,
+h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.lineNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),a.close(),a.fillAndStroke()):A&&D&&!C&&!r?"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,
+D),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,
+d,e,g,t,h,q,r,A),a.close(),a.fillAndStroke()):A&&D&&!C&&r?"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke()):
+(a.begin(),f.moveSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke()):A&&D&&C&&!r?"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,
+r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,
+h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),a.close(),a.fillAndStroke()):A&&D&&C&&r&&("frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,h,
+A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),a.close(),"double"==m&&(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,
+e,g,v,h,q,C,r),a.close()),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.paintNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.paintSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.paintSW(a,b,c,d,e,g,v,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),a.close(),f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintSWInner(a,b,c,d,e,g,v,h,q,C),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),f.paintSEInner(a,b,c,d,e,g,H,h,q),f.paintRightInner(a,b,c,d,
+e,g,u,h,q,A,D),f.paintNEInner(a,b,c,d,e,g,u,h,q),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A),f.paintNWInner(a,b,c,d,e,g,t,h,q),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke())):"frame"!=m?(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),"double"==m&&(f.moveNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,e,g,t,h,q,r,A)),a.stroke()):(a.begin(),f.moveNW(a,b,c,d,e,g,t,h,r),f.paintTop(a,b,c,d,e,g,u,h,D),f.lineNEInner(a,b,c,d,e,g,u,h,q,D),f.paintTopInner(a,b,c,d,
+e,g,t,h,q,r,A),a.close(),a.fillAndStroke()):"frame"!=m?(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),"double"==m&&(f.moveSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D)),a.stroke()):(a.begin(),f.moveNE(a,b,c,d,e,g,u,h,A),f.paintRight(a,b,c,d,e,g,H,h,C),f.lineSEInner(a,b,c,d,e,g,H,h,q,C),f.paintRightInner(a,b,c,d,e,g,u,h,q,A,D),a.close(),a.fillAndStroke()):"frame"!=m?(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),"double"==m&&
+(f.moveSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C)),a.stroke()):(a.begin(),f.moveSE(a,b,c,d,e,g,H,h,D),f.paintBottom(a,b,c,d,e,g,v,h,r),f.lineSWInner(a,b,c,d,e,g,v,h,q,r),f.paintBottomInner(a,b,c,d,e,g,H,h,q,D,C),a.close(),a.fillAndStroke()):"frame"!=m?(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,b,c,d,e,g,t,h,A),"double"==m&&(f.moveNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r)),a.stroke()):(a.begin(),f.moveSW(a,b,c,d,e,g,t,h,C),f.paintLeft(a,
+b,c,d,e,g,t,h,A),f.lineNWInner(a,b,c,d,e,g,t,h,q,A,r),f.paintLeftInner(a,b,c,d,e,g,v,h,q,C,r),a.close(),a.fillAndStroke());a.begin();f.paintFolds(a,b,c,d,e,g,t,u,H,v,h,A,D,C,r);a.stroke()};M.prototype.moveNW=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,0):a.moveTo(0,h)};M.prototype.moveNE=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(d,0):a.moveTo(d-h,0)};M.prototype.moveSE=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&
"square"==f||!k?a.moveTo(d,e):a.moveTo(d,e-h)};M.prototype.moveSW=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,e):a.moveTo(h,e)};M.prototype.paintNW=function(a,b,c,d,e,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){b=0;if("rounded"==g||"default"==g&&"rounded"==f)b=1;a.arcTo(h,h,0,0,b,h,0)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(h,0);else a.lineTo(0,0)};M.prototype.paintTop=
function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(d,0):a.lineTo(d-h,0)};M.prototype.paintNE=function(a,b,c,d,e,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){b=0;if("rounded"==g||"default"==g&&"rounded"==f)b=1;a.arcTo(h,h,0,0,b,d,h)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(d,h);else a.lineTo(d,0)};M.prototype.paintRight=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==
g&&"square"==f||!k?a.lineTo(d,e):a.lineTo(d,e-h)};M.prototype.paintLeft=function(a,b,c,d,e,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(0,0):a.lineTo(0,h)};M.prototype.paintSE=function(a,b,c,d,e,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){b=0;if("rounded"==g||"default"==g&&"rounded"==f)b=1;a.arcTo(h,h,0,0,b,d-h,e)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(d-h,e);else a.lineTo(d,
@@ -3409,14 +3409,14 @@ function(a,b,c,d,e,f,g,h,k,m){var l=e*(g+k+1),q=f*(g+k+1),n=d.x+l/2,p=d.y+q/2;d.
q/2-l/2);a.lineTo(d.x-q/2-3*l/2,d.y-3*q/2+l/2);a.stroke()}});mxMarker.addMarker("circle",Sa);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,m){var l=d.clone(),q=Sa.apply(this,arguments),n=e*(g+2*k),p=f*(g+2*k);return function(){q.apply(this,arguments);a.begin();a.moveTo(l.x-e*k,l.y-f*k);a.lineTo(l.x-2*n+e*k,l.y-2*p+f*k);a.moveTo(l.x-n-p+f*k,l.y-p+n-e*k);a.lineTo(l.x+p-n-f*k,l.y-p-n+e*k);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,b,c,d,e,f,g,h,k,m){var l=e*(g+k+1),q=f*(g+
k+1),n=d.clone();d.x-=l;d.y-=q;return function(){a.begin();a.moveTo(n.x-q,n.y+l);a.quadTo(d.x-q,d.y+l,d.x,d.y);a.quadTo(d.x+q,d.y-l,n.x+q,n.y-l);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,m){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var l=d.clone();l.x-=b;l.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(l.x,l.y);h?a.lineTo(l.x-e-f/2,l.y-f+e/2):a.lineTo(l.x+f/2-e,l.y-f-e/2);a.lineTo(l.x-e,l.y-f);a.close();m?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",
function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,m,l){f*=h+m;g*=h+m;var q=e.clone();return function(){b.begin();b.moveTo(q.x,q.y);k?b.lineTo(q.x-f-g/a,q.y-g+f/a):b.lineTo(q.x+g/a-f,q.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Wa=function(a,b,c){return Da(a,["width"],b,function(b,d,e,f,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=
-Math.round(2*b)/a.view.scale-c})},Da=function(a,b,c,d,e){return S(a,b,function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,m=Math.sqrt(f*f+k*k),h=d.call(this,m,f/m,k/m,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g=a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,m=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-m.x,l=g.y-m.y,q=Math.sqrt(h*h+l*l);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,
-q,h/q,l/q,m,g,d,f)})},va=function(a){return function(b){return[S(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",aa.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",aa.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1-c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,
-Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Ta=function(a){return function(b){return[S(b,["size"],function(b){var c=Math.max(0,Math.min(.5*b.height,parseFloat(mxUtils.getValue(this.state.style,"size",a))));return new mxPoint(b.x,b.y+c)},function(a,b){this.state.style.size=Math.max(0,b.y-a.y)},!0)]}},Ra=function(a,b,c){return function(d){var e=[S(d,["size"],function(c){var d=Math.max(0,Math.min(c.width,Math.min(c.height,parseFloat(mxUtils.getValue(this.state.style,"size",b)))))*a;return new mxPoint(c.x+
-d,c.y+d)},function(b,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(b.width,c.x-b.x),Math.min(b.height,c.y-b.y)))/a)},!1)];c&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ta(d));return e}},Ja=function(a,b,c,d,e){c=null!=c?c:.5;return function(f){var g=[S(f,["size"],function(b){var c=null!=e?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",c?e:a));return new mxPoint(b.x+Math.max(0,Math.min(.5*b.width,
-d*(c?1:b.width))),b.getCenterY())},function(a,b,d){a=null!=e&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));this.state.style.size=a},!1,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ta(f));return g}},Ua=function(a,b,c){a=null!=a?a:.5;return function(d){var e=[S(d,["size"],function(d){var e=null!=c?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,f=Math.max(0,parseFloat(mxUtils.getValue(this.state.style,
-"size",e?c:b)));return new mxPoint(d.x+Math.min(.75*d.width*a,f*(e?.75:.75*d.width)),d.y+d.height/4)},function(b,d){var e=null!=c&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?d.x-b.x:Math.max(0,Math.min(a,(d.x-b.x)/b.width*.75));this.state.style.size=e},!1,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ta(d));return e}},Ba=function(){return function(a){var b=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b}},ta=function(a,b){return S(a,
+Math.round(2*b)/a.view.scale-c})},Da=function(a,b,c,d,e){return T(a,b,function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,m=Math.sqrt(f*f+k*k),h=d.call(this,m,f/m,k/m,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g=a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,m=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-m.x,l=g.y-m.y,q=Math.sqrt(h*h+l*l);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,
+q,h/q,l/q,m,g,d,f)})},va=function(a){return function(b){return[T(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",aa.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",aa.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1-c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,
+Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Ta=function(a){return function(b){return[T(b,["size"],function(b){var c=Math.max(0,Math.min(.5*b.height,parseFloat(mxUtils.getValue(this.state.style,"size",a))));return new mxPoint(b.x,b.y+c)},function(a,b){this.state.style.size=Math.max(0,b.y-a.y)},!0)]}},Ra=function(a,b,c){return function(d){var e=[T(d,["size"],function(c){var d=Math.max(0,Math.min(c.width,Math.min(c.height,parseFloat(mxUtils.getValue(this.state.style,"size",b)))))*a;return new mxPoint(c.x+
+d,c.y+d)},function(b,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(b.width,c.x-b.x),Math.min(b.height,c.y-b.y)))/a)},!1)];c&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ta(d));return e}},Ja=function(a,b,c,d,e){c=null!=c?c:.5;return function(f){var g=[T(f,["size"],function(b){var c=null!=e?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",c?e:a));return new mxPoint(b.x+Math.max(0,Math.min(.5*b.width,
+d*(c?1:b.width))),b.getCenterY())},function(a,b,d){a=null!=e&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));this.state.style.size=a},!1,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ta(f));return g}},Ua=function(a,b,c){a=null!=a?a:.5;return function(d){var e=[T(d,["size"],function(d){var e=null!=c?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,f=Math.max(0,parseFloat(mxUtils.getValue(this.state.style,
+"size",e?c:b)));return new mxPoint(d.x+Math.min(.75*d.width*a,f*(e?.75:.75*d.width)),d.y+d.height/4)},function(b,d){var e=null!=c&&"0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?d.x-b.x:Math.max(0,Math.min(a,(d.x-b.x)/b.width*.75));this.state.style.size=e},!1,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ta(d));return e}},Ba=function(){return function(a){var b=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b}},ta=function(a,b){return T(a,
[mxConstants.STYLE_ARCSIZE],function(c){var d=null!=b?b:c.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var e=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(c.x+c.width-Math.min(c.width/2,e),c.y+d)}e=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(c.x+c.width-Math.min(Math.max(c.width/2,c.height/2),Math.min(c.width,c.height)*
-e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},S=function(a,b,c,d,e,f,g){var h=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);h.execute=function(a){for(var c=0;c<b.length;c++)this.copyStyle(b[c]);
+e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},T=function(a,b,c,d,e,f,g){var h=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);h.execute=function(a){for(var c=0;c<b.length;c++)this.copyStyle(b[c]);
g&&g(a)};h.getPosition=c;h.setPosition=d;h.ignoreGrid=null!=e?e:!0;if(f){var k=h.positionChanged;h.positionChanged=function(){k.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return h},Ka={link:function(a){return[Wa(a,!0,10),Wa(a,!1,10)]},flexArrow:function(a){var b=a.view.graph.gridSize/a.view.scale,c=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(Da(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],
!0,function(b,c,d,e,f){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)+d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)-c*b/2)},function(c,d,e,f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/
3)/100/a.view.scale;a.style.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(k.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),c.push(Da(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,
@@ -3426,36 +3426,36 @@ parseFloat(a.style.endWidth))<b&&(a.style.startWidth=a.style.endWidth))})));mxUt
a.view.scale)+c*b/2)},function(c,d,e,f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(k.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<
b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),c.push(Da(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,f){b=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)-d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)+c*b/2)},function(c,d,e,f,g,h,k){c=
Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*c)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(k.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-
-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<b&&(a.style.endWidth=a.style.startWidth))})));return c},swimlane:function(a){var b=[];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ta(a,c/2))}b.push(S(a,[mxConstants.STYLE_STARTSIZE],
+parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<b&&(a.style.endWidth=a.style.startWidth))})));return c},swimlane:function(a){var b=[];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ta(a,c/2))}b.push(T(a,[mxConstants.STYLE_STARTSIZE],
function(b){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(b.getCenterX(),b.y+Math.max(0,Math.min(b.height,c))):new mxPoint(b.x+Math.max(0,Math.min(b.width,c)),b.getCenterY())},function(b,c){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,
Math.min(b.width,c.x-b.x)))},!1,null,function(b){if(mxEvent.isControlDown(b.getEvent())&&(b=a.view.graph,b.isTableRow(a.cell)||b.isTableCell(a.cell))){for(var c=b.getSwimlaneDirection(a.style),d=b.model.getParent(a.cell),d=b.model.getChildCells(d,!0),e=[],f=0;f<d.length;f++)d[f]!=a.cell&&b.isSwimlane(d[f])&&b.getSwimlaneDirection(b.getCurrentCellStyle(d[f]))==c&&e.push(d[f]);b.setCellStyles(mxConstants.STYLE_STARTSIZE,a.style[mxConstants.STYLE_STARTSIZE],e)}}));return b},label:Ba(),ext:Ba(),rectangle:Ba(),
-triangle:Ba(),rhombus:Ba(),umlLifeline:function(a){return[S(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",U.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[S(a,["width","height"],function(a){var b=Math.max(X.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",X.prototype.width))),
-c=Math.max(1.5*X.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",X.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(X.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*X.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[S(a,["size"],function(a){var b="0"!=mxUtils.getValue(this.state.style,"fixedSize","0"),c=parseFloat(mxUtils.getValue(this.state.style,
-"size",G.prototype.size));return b?new mxPoint(a.x+c,a.y+a.height/4):new mxPoint(a.x+a.width*c,a.y+a.height/4)},function(a,b){var c="0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?Math.max(0,Math.min(.5*a.width,b.x-a.x)):Math.max(0,Math.min(.5,(b.x-a.x)/a.width));this.state.style.size=c},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},cross:function(a){return[S(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,
-"size",ya.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[S(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=
-Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},note2:function(a){return[S(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},manualInput:function(a){var b=[S(a,["size"],function(a){var b=
-Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",ja.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},dataStorage:function(a){return[S(a,["size"],function(a){var b="0"!=mxUtils.getValue(this.state.style,"fixedSize","0"),c=parseFloat(mxUtils.getValue(this.state.style,"size",b?P.prototype.fixedSize:
-P.prototype.size));return new mxPoint(a.x+a.width-c*(b?1:a.width),a.getCenterY())},function(a,b){var c="0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?Math.max(0,Math.min(a.width,a.x+a.width-b.x)):Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width));this.state.style.size=c},!1)]},callout:function(a){var b=[S(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",D.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,
-"position",D.prototype.position)));mxUtils.getValue(this.state.style,"base",D.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height-b)},function(a,b){mxUtils.getValue(this.state.style,"base",D.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100},!1),S(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",D.prototype.position2)));
-return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100},!1),S(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",D.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",D.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",D.prototype.base)));return new mxPoint(a.x+Math.min(a.width,
-c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",D.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},internalStorage:function(a){var b=[S(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",ea.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
-"dy",ea.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},module:function(a){return[S(a,["jettyWidth","jettyHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"jettyWidth",ga.prototype.jettyWidth))),c=Math.max(0,Math.min(a.height,
-mxUtils.getValue(this.state.style,"jettyHeight",ga.prototype.jettyHeight)));return new mxPoint(a.x+b/2,a.y+2*c)},function(a,b){this.state.style.jettyWidth=Math.round(2*Math.max(0,Math.min(a.width,b.x-a.x)));this.state.style.jettyHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y))/2)})]},corner:function(a){return[S(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",fa.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
-"dy",fa.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},tee:function(a){return[S(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",Z.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",Z.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,
-b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},singleArrow:va(1),doubleArrow:va(.5),folder:function(a){return[S(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",r.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",r.prototype.tabHeight)));mxUtils.getValue(this.state.style,
-"tabPosition",r.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c=Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",r.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},document:function(a){return[S(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,
-"size",x.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))},!1)]},tape:function(a){return[S(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",t.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))},!1)]},isoCube2:function(a){return[S(a,
-["isoAngle"],function(a){var b=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.state.style,"isoAngle",m.isoAngle))))*Math.PI/200;return new mxPoint(a.x,a.y+Math.min(a.width*Math.tan(b),.5*a.height))},function(a,b){this.state.style.isoAngle=Math.max(0,50*(b.y-a.y)/a.height)},!0)]},cylinder2:Ta(l.prototype.size),cylinder3:Ta(n.prototype.size),offPageConnector:function(a){return[S(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ha.prototype.size))));
+triangle:Ba(),rhombus:Ba(),umlLifeline:function(a){return[T(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",Q.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[T(a,["width","height"],function(a){var b=Math.max(X.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",X.prototype.width))),
+c=Math.max(1.5*X.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",X.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(X.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*X.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[T(a,["size"],function(a){var b="0"!=mxUtils.getValue(this.state.style,"fixedSize","0"),c=parseFloat(mxUtils.getValue(this.state.style,
+"size",G.prototype.size));return b?new mxPoint(a.x+c,a.y+a.height/4):new mxPoint(a.x+a.width*c,a.y+a.height/4)},function(a,b){var c="0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?Math.max(0,Math.min(.5*a.width,b.x-a.x)):Math.max(0,Math.min(.5,(b.x-a.x)/a.width));this.state.style.size=c},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},cross:function(a){return[T(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,
+"size",ya.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[T(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=
+Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},note2:function(a){return[T(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},manualInput:function(a){var b=[T(a,["size"],function(a){var b=
+Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",ja.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},dataStorage:function(a){return[T(a,["size"],function(a){var b="0"!=mxUtils.getValue(this.state.style,"fixedSize","0"),c=parseFloat(mxUtils.getValue(this.state.style,"size",b?P.prototype.fixedSize:
+P.prototype.size));return new mxPoint(a.x+a.width-c*(b?1:a.width),a.getCenterY())},function(a,b){var c="0"!=mxUtils.getValue(this.state.style,"fixedSize","0")?Math.max(0,Math.min(a.width,a.x+a.width-b.x)):Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width));this.state.style.size=c},!1)]},callout:function(a){var b=[T(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",F.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,
+"position",F.prototype.position)));mxUtils.getValue(this.state.style,"base",F.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height-b)},function(a,b){mxUtils.getValue(this.state.style,"base",F.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100},!1),T(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",F.prototype.position2)));
+return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100},!1),T(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",F.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",F.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",F.prototype.base)));return new mxPoint(a.x+Math.min(a.width,
+c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",F.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},internalStorage:function(a){var b=[T(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",ea.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
+"dy",ea.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ta(a));return b},module:function(a){return[T(a,["jettyWidth","jettyHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"jettyWidth",ga.prototype.jettyWidth))),c=Math.max(0,Math.min(a.height,
+mxUtils.getValue(this.state.style,"jettyHeight",ga.prototype.jettyHeight)));return new mxPoint(a.x+b/2,a.y+2*c)},function(a,b){this.state.style.jettyWidth=Math.round(2*Math.max(0,Math.min(a.width,b.x-a.x)));this.state.style.jettyHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y))/2)})]},corner:function(a){return[T(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",fa.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
+"dy",fa.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},tee:function(a){return[T(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",Z.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",Z.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,
+b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},singleArrow:va(1),doubleArrow:va(.5),folder:function(a){return[T(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",r.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",r.prototype.tabHeight)));mxUtils.getValue(this.state.style,
+"tabPosition",r.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c=Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",r.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},document:function(a){return[T(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,
+"size",x.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))},!1)]},tape:function(a){return[T(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",t.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))},!1)]},isoCube2:function(a){return[T(a,
+["isoAngle"],function(a){var b=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.state.style,"isoAngle",m.isoAngle))))*Math.PI/200;return new mxPoint(a.x,a.y+Math.min(a.width*Math.tan(b),.5*a.height))},function(a,b){this.state.style.isoAngle=Math.max(0,50*(b.y-a.y)/a.height)},!0)]},cylinder2:Ta(l.prototype.size),cylinder3:Ta(n.prototype.size),offPageConnector:function(a){return[T(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ha.prototype.size))));
return new mxPoint(a.getCenterX(),a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))},!1)]},"mxgraph.basic.rect":function(a){var b=[Graph.createHandle(a,["size"],function(a){var b=Math.max(0,Math.min(a.width/2,a.height/2,parseFloat(mxUtils.getValue(this.state.style,"size",this.size))));return new mxPoint(a.x+b,a.y+b)},function(a,b){this.state.style.size=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,b.x-a.x)))/100})];a=Graph.createHandle(a,
-["indent"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"indent",this.dx2))));return new mxPoint(a.x+.75*a.width,a.y+b*a.height/200)},function(a,b){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(b.y-a.y)/a.height)))/100});b.push(a);return b},step:Ja(K.prototype.size,!0,null,!0,K.prototype.fixedSize),hexagon:Ja(L.prototype.size,!0,.5,!0,L.prototype.fixedSize),curlyBracket:Ja(F.prototype.size,!1),display:Ja(za.prototype.size,!1),cube:Ra(1,
-c.prototype.size,!1),card:Ra(.5,v.prototype.size,!0),loopLimit:Ra(.5,V.prototype.size,!0),trapezoid:Ua(.5,y.prototype.size,y.prototype.fixedSize),parallelogram:Ua(1,w.prototype.size,w.prototype.fixedSize)};Graph.createHandle=S;Graph.handleFactory=Ka;var ab=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var a=ab.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var b=this.state.style.shape;null==mxCellRenderer.defaultShapes[b]&&
+["indent"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"indent",this.dx2))));return new mxPoint(a.x+.75*a.width,a.y+b*a.height/200)},function(a,b){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(b.y-a.y)/a.height)))/100});b.push(a);return b},step:Ja(K.prototype.size,!0,null,!0,K.prototype.fixedSize),hexagon:Ja(L.prototype.size,!0,.5,!0,L.prototype.fixedSize),curlyBracket:Ja(E.prototype.size,!1),display:Ja(za.prototype.size,!1),cube:Ra(1,
+c.prototype.size,!1),card:Ra(.5,v.prototype.size,!0),loopLimit:Ra(.5,V.prototype.size,!0),trapezoid:Ua(.5,y.prototype.size,y.prototype.fixedSize),parallelogram:Ua(1,w.prototype.size,w.prototype.fixedSize)};Graph.createHandle=T;Graph.handleFactory=Ka;var ab=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var a=ab.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var b=this.state.style.shape;null==mxCellRenderer.defaultShapes[b]&&
null==mxStencilRegistry.getStencil(b)?b=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(b=mxConstants.SHAPE_SWIMLANE);b=Ka[b];null==b&&null!=this.state.shape&&this.state.shape.isRoundable()&&(b=Ka[mxConstants.SHAPE_RECTANGLE]);null!=b&&(b=b(this.state),null!=b&&(a=null==a?b:a.concat(b)))}return a};mxEdgeHandler.prototype.createCustomHandles=function(){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR);
a=Ka[a];return null!=a?a(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var La=new mxPoint(1,0),Ma=new mxPoint(1,0),va=mxUtils.toRadians(-30),La=mxUtils.getRotatedPoint(La,Math.cos(va),Math.sin(va)),va=mxUtils.toRadians(-150),Ma=mxUtils.getRotatedPoint(Ma,Math.cos(va),Math.sin(va));mxEdgeStyle.IsometricConnector=function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=d&&(d=f.transformControlPoint(a,d));null==
h&&null!=b&&(h=new mxPoint(b.getCenterX(),b.getCenterY()));null==g&&null!=c&&(g=new mxPoint(c.getCenterX(),c.getCenterY()));var k=La.x,m=La.y,l=Ma.x,n=Ma.y,q="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,b,c){a-=p.x;var d=b-p.y;b=(n*a-l*d)/(k*n-m*l);a=(m*a-k*d)/(m*l-k*n);q?(c&&(p=new mxPoint(p.x+k*b,p.y+m*b),e.push(p)),p=new mxPoint(p.x+l*a,p.y+n*a)):(c&&(p=new mxPoint(p.x+l*a,p.y+n*a),e.push(p)),p=new mxPoint(p.x+k*b,p.y+m*b));e.push(p)};var p=h;null==
d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var bb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return bb.apply(this,arguments)};d.prototype.constraints=[];f.prototype.getConstraints=function(a,b,c){a=[];var d=Math.tan(mxUtils.toRadians(30)),e=(.5-
d)/2,d=Math.min(b,c/(.5+d));b=(b-d)/2;c=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c+.25*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.5*d,c+d*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+d,c+.25*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+d,c+.75*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.5*d,c+(1-e)*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c+.75*d));return a};m.prototype.getConstraints=
function(a,b,c){a=[];var d=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200,d=Math.min(b*Math.tan(d),.5*c);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,d));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c-d));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,0,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));return a};D.prototype.getConstraints=function(a,b,c){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
+0),!1,null,0,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));return a};F.prototype.getConstraints=function(a,b,c){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
"position2",this.position2))));parseFloat(mxUtils.getValue(this.style,"base",this.base));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*(c-d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,
b,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(c-d)));b>=2*d&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,
0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,
@@ -3500,7 +3500,7 @@ function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(t
function(a,b,c){a=[];var d=Math.min(c,b),e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),d=(c-e)/2,f=d+e,g=(b-e)/2,e=g+e;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,0));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,c));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+e),d));a.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,b,d));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+e),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,d));return a};U.prototype.constraints=null;W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,
+0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,d));return a};Q.prototype.constraints=null;W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,
.9),!1)];da.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];oa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];pa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,
.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()}
Actions.prototype.init=function(){function a(a){d.escape();a=d.deleteCells(d.getDeletableCells(d.getSelectionCells()),a);null!=a&&d.setSelectionCells(a)}function b(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();try{for(var a=d.getSelectionCells(),b=0;b<a.length;b++)d.cellLabelChanged(a[b],"")}finally{d.getModel().endUpdate()}}}var c=this.editorUi,e=c.editor,d=e.graph,f=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...",function(){d.openLink(c.getUrl())});
@@ -3703,7 +3703,7 @@ function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&b.appendCh
d.appendChild(f);a.editor.graph.isEnabled()&&(f=document.createElement("option"),f.setAttribute("value","import"),mxUtils.write(f,mxResources.get("addToExistingDrawing")),d.appendChild(f));b.appendChild(d);f=mxUtils.button(mxResources.get("ok"),function(){var b=Graph.zapGremlins(mxUtils.trim(c.value)),e=null;if("new"==d.value)a.hideDialog(),a.editor.editAsNew(b);else if("replace"==d.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(b).documentElement),a.hideDialog()}catch(n){e=
n}finally{a.editor.graph.model.endUpdate()}}else if("import"==d.value){a.editor.graph.model.beginUpdate();try{var f=mxUtils.parseXml(b),m=new mxGraphModel;(new mxCodec(f)).decode(f.documentElement,m);var l=m.getChildren(m.getChildAt(m.getRoot(),0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(l));a.hideDialog()}catch(n){e=n}finally{a.editor.graph.model.endUpdate()}}null!=e&&mxUtils.alert(e.message)});f.className="geBtn gePrimaryBtn";b.appendChild(f);a.editor.cancelFirst||b.appendChild(e);
this.container=b};EditDiagramDialog.showNewWindowOption=!0;
-var ExportDialog=function(a){function b(){var a=l.value,b=a.lastIndexOf(".");l.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),r.setAttribute("disabled","true"),u.setAttribute("disabled","true"),F.setAttribute("disabled","true")):(p.removeAttribute("disabled"),r.removeAttribute("disabled"),u.removeAttribute("disabled"),F.removeAttribute("disabled"));"png"===n.value||"svg"===n.value||"pdf"===n.value?w.removeAttribute("disabled"):w.setAttribute("disabled",
+var ExportDialog=function(a){function b(){var a=l.value,b=a.lastIndexOf(".");l.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),r.setAttribute("disabled","true"),u.setAttribute("disabled","true"),E.setAttribute("disabled","true")):(p.removeAttribute("disabled"),r.removeAttribute("disabled"),u.removeAttribute("disabled"),E.removeAttribute("disabled"));"png"===n.value||"svg"===n.value||"pdf"===n.value?w.removeAttribute("disabled"):w.setAttribute("disabled",
"disabled");"png"===n.value||"jpg"===n.value||"pdf"===n.value?y.removeAttribute("disabled"):y.setAttribute("disabled","disabled");"png"===n.value?(v.removeAttribute("disabled"),t.removeAttribute("disabled")):(v.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled"))}function c(){r.style.backgroundColor=r.value*u.value>MAX_AREA||0>=r.value?"red":"";u.style.backgroundColor=r.value*u.value>MAX_AREA||0>=u.value?"red":""}var e=a.editor.graph,d=e.getGraphBounds(),f=e.view.scale,h=Math.ceil(d.width/
f),k=Math.ceil(d.height/f),g,f=document.createElement("table"),m=document.createElement("tbody");f.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");d=document.createElement("tr");g=document.createElement("td");g.style.fontSize="10pt";g.style.width="100px";mxUtils.write(g,mxResources.get("filename")+":");d.appendChild(g);var l=document.createElement("input");l.setAttribute("value",a.editor.getOrCreateFilename());l.style.width="180px";g=document.createElement("td");g.appendChild(l);d.appendChild(g);
m.appendChild(d);d=document.createElement("tr");g=document.createElement("td");g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("format")+":");d.appendChild(g);var n=document.createElement("select");n.style.width="180px";g=document.createElement("option");g.setAttribute("value","png");mxUtils.write(g,mxResources.get("formatPng"));n.appendChild(g);g=document.createElement("option");ExportDialog.showGifOption&&(g.setAttribute("value","gif"),mxUtils.write(g,mxResources.get("formatGif")),n.appendChild(g));
@@ -3714,23 +3714,23 @@ g.appendChild(u);d.appendChild(g);m.appendChild(d);d=document.createElement("tr"
g.setAttribute("value","300");mxUtils.write(g,"300dpi");v.appendChild(g);g=document.createElement("option");g.setAttribute("value","400");mxUtils.write(g,"400dpi");v.appendChild(g);g=document.createElement("option");g.setAttribute("value","custom");mxUtils.write(g,mxResources.get("custom"));v.appendChild(g);var t=document.createElement("input");t.style.width="180px";t.style.display="none";t.setAttribute("value","100");t.setAttribute("type","number");t.setAttribute("min","50");t.setAttribute("step",
"50");var x=!1;mxEvent.addListener(v,"change",function(){"custom"==this.value?(this.style.display="none",t.style.display="",t.focus()):(t.value=this.value,x||(p.value=this.value))});mxEvent.addListener(t,"change",function(){var a=parseInt(t.value);isNaN(a)||0>=a?t.style.backgroundColor="red":(t.style.backgroundColor="",x||(p.value=a))});g=document.createElement("td");g.appendChild(v);g.appendChild(t);d.appendChild(g);m.appendChild(d);d=document.createElement("tr");g=document.createElement("td");g.style.fontSize=
"10pt";mxUtils.write(g,mxResources.get("background")+":");d.appendChild(g);var w=document.createElement("input");w.setAttribute("type","checkbox");w.checked=null==e.background||e.background==mxConstants.NONE;g=document.createElement("td");g.appendChild(w);mxUtils.write(g,mxResources.get("transparent"));d.appendChild(g);m.appendChild(d);d=document.createElement("tr");g=document.createElement("td");g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("grid")+":");d.appendChild(g);var y=document.createElement("input");
-y.setAttribute("type","checkbox");y.checked=!1;g=document.createElement("td");g.appendChild(y);d.appendChild(g);m.appendChild(d);d=document.createElement("tr");g=document.createElement("td");g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("borderWidth")+":");d.appendChild(g);var F=document.createElement("input");F.setAttribute("type","number");F.setAttribute("value",ExportDialog.lastBorderValue);F.style.width="180px";g=document.createElement("td");g.appendChild(F);d.appendChild(g);m.appendChild(d);
+y.setAttribute("type","checkbox");y.checked=!1;g=document.createElement("td");g.appendChild(y);d.appendChild(g);m.appendChild(d);d=document.createElement("tr");g=document.createElement("td");g.style.fontSize="10pt";mxUtils.write(g,mxResources.get("borderWidth")+":");d.appendChild(g);var E=document.createElement("input");E.setAttribute("type","number");E.setAttribute("value",ExportDialog.lastBorderValue);E.style.width="180px";g=document.createElement("td");g.appendChild(E);d.appendChild(g);m.appendChild(d);
f.appendChild(m);mxEvent.addListener(n,"change",b);b();mxEvent.addListener(p,"change",function(){x=!0;var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<h?(r.value=Math.floor(h*a),u.value=Math.floor(k*a)):(p.value="100",r.value=h,u.value=k);c()});mxEvent.addListener(r,"change",function(){var a=parseInt(r.value)/h;0<a?(p.value=parseFloat((100*a).toFixed(2)),u.value=Math.floor(k*a)):(p.value="100",r.value=h,u.value=k);c()});mxEvent.addListener(u,"change",function(){var a=
-parseInt(u.value)/k;0<a?(p.value=parseFloat((100*a).toFixed(2)),r.value=Math.floor(h*a)):(p.value="100",r.value=h,u.value=k);c()});d=document.createElement("tr");g=document.createElement("td");g.setAttribute("align","right");g.style.paddingTop="22px";g.colSpan=2;var I=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var b=l.value,c=n.value,d=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(F.value)),
+parseInt(u.value)/k;0<a?(p.value=parseFloat((100*a).toFixed(2)),r.value=Math.floor(h*a)):(p.value="100",r.value=h,u.value=k);c()});d=document.createElement("tr");g=document.createElement("td");g.setAttribute("align","right");g.style.paddingTop="22px";g.colSpan=2;var I=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var b=l.value,c=n.value,d=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(E.value)),
g=e.background,h=Math.max(1,parseInt(t.value));if(("svg"==c||"png"==c||"pdf"==c)&&w.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,b,c,g,d,f,h,y.checked)}}));I.className="geBtn gePrimaryBtn";var B=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});B.className="geBtn";a.editor.cancelFirst?(g.appendChild(B),g.appendChild(I)):(g.appendChild(I),g.appendChild(B));d.appendChild(g);m.appendChild(d);f.appendChild(m);
this.container=f};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0;
ExportDialog.exportFile=function(a,b,c,e,d,f,h,k){k=a.editor.graph;if("xml"==c)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),b,c);else if("svg"==c)ExportDialog.saveLocalFile(a,mxUtils.getXml(k.getSvg(e,d,f)),b,c);else{var g=k.getGraphBounds(),m=mxUtils.createXmlDocument(),l=m.createElement("output");m.appendChild(l);m=new mxXmlCanvas2D(l);m.translate(Math.floor((f/d-g.x)/k.view.scale),Math.floor((f/d-g.y)/k.view.scale));m.scale(d/k.view.scale);(new mxImageExport).drawState(k.getView().getState(k.model.root),
m);l="xml="+encodeURIComponent(mxUtils.getXml(l));m=Math.ceil(g.width*d/k.view.scale+2*f);d=Math.ceil(g.height*d/k.view.scale+2*f);l.length<=MAX_REQUEST_SIZE&&m*d<MAX_AREA?(a.hideDialog(),(new mxXmlRequest(EXPORT_URL,"format="+c+"&filename="+encodeURIComponent(b)+"&bg="+(null!=e?e:"none")+"&w="+m+"&h="+d+"&"+l+"&dpi="+h)).simulate(document,"_blank")):mxUtils.alert(mxResources.get("drawingTooLarge"))}};
ExportDialog.saveLocalFile=function(a,b,c,e){b.length<MAX_REQUEST_SIZE?(a.hideDialog(),(new mxXmlRequest(SAVE_URL,"xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(c)+"&format="+e)).simulate(document,"_blank")):(mxUtils.alert(mxResources.get("drawingTooLarge")),mxUtils.popup(xml))};
-var EditDataDialog=function(a,b){function c(){0<y.value.length?F.removeAttribute("disabled"):F.setAttribute("disabled","disabled")}var e=document.createElement("div"),d=a.editor.graph,f=d.getModel().getValue(b);if(!mxUtils.isNode(f)){var h=mxUtils.createXmlDocument().createElement("object");h.setAttribute("label",f||"");f=h}var k={};try{var g=mxUtils.getValue(a.editor.graph.getCurrentCellStyle(b),"metaData",null);null!=g&&(k=JSON.parse(g))}catch(B){}var m=new mxForm("properties");m.table.style.width=
+var EditDataDialog=function(a,b){function c(){0<y.value.length?E.removeAttribute("disabled"):E.setAttribute("disabled","disabled")}var e=document.createElement("div"),d=a.editor.graph,f=d.getModel().getValue(b);if(!mxUtils.isNode(f)){var h=mxUtils.createXmlDocument().createElement("object");h.setAttribute("label",f||"");f=h}var k={};try{var g=mxUtils.getValue(a.editor.graph.getCurrentCellStyle(b),"metaData",null);null!=g&&(k=JSON.parse(g))}catch(B){}var m=new mxForm("properties");m.table.style.width=
"100%";for(var l=f.attributes,n=[],p=[],r=0,u=null!=EditDataDialog.getDisplayIdForCell?EditDataDialog.getDisplayIdForCell(a,b):null,v=function(a,b){var c=document.createElement("div");c.style.position="relative";c.style.paddingRight="20px";c.style.boxSizing="border-box";c.style.width="100%";var d=document.createElement("a"),e=mxUtils.createImage(Dialog.prototype.closeImage);e.style.height="9px";e.style.fontSize="9px";e.style.marginBottom=mxClient.IS_IE11?"-1px":"5px";d.className="geButton";d.setAttribute("title",
mxResources.get("delete"));d.style.position="absolute";d.style.top="4px";d.style.right="0px";d.style.margin="0px";d.style.width="9px";d.style.height="9px";d.style.cursor="pointer";d.appendChild(e);e=function(a){return function(){for(var b=0,c=0;c<n.length;c++){if(n[c]==a){p[c]=null;m.table.deleteRow(b+(null!=u?1:0));break}null!=p[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},h=function(a,b,c){n[a]=b;p[a]=m.addTextarea(n[r]+":",c,
2);p[a].style.width="100%";0<c.indexOf("\n")&&p[a].setAttribute("rows","2");v(p[a],b);null!=k[b]&&0==k[b].editable&&p[a].setAttribute("disabled","disabled")},g=[],t=d.getModel().getParent(b)==d.getModel().getRoot(),x=0;x<l.length;x++)!t&&"label"==l[x].nodeName||"placeholders"==l[x].nodeName||g.push({name:l[x].nodeName,value:l[x].nodeValue});g.sort(function(a,b){return a.name<b.name?-1:a.name>b.name?1:0});if(null!=u){l=document.createElement("div");l.style.width="100%";l.style.fontSize="11px";l.style.textAlign=
"center";mxUtils.write(l,u);var w=m.addField(mxResources.get("id")+":",l);mxEvent.addListener(l,"dblclick",function(c){mxEvent.isShiftDown(c)&&(c=new FilenameDialog(a,u,mxResources.get("apply"),mxUtils.bind(this,function(c){null!=c&&0<c.length&&c!=u&&(null==d.getModel().getCell(c)?(d.getModel().cellRemoved(b),b.setId(c),u=c,w.innerHTML=mxUtils.htmlEntities(c),d.getModel().cellAdded(b)):a.handleError({message:mxResources.get("alreadyExst",[c])}))}),mxResources.get("id")),a.showDialog(c.container,300,
80,!0,!0),c.init())});l.setAttribute("title","Shift+Double Click to Edit ID")}for(x=0;x<g.length;x++)h(r,g[x].name,g[x].value),r++;g=document.createElement("div");g.style.position="absolute";g.style.top="30px";g.style.left="30px";g.style.right="30px";g.style.bottom="80px";g.style.overflowY="auto";g.appendChild(m.table);h=document.createElement("div");h.style.boxSizing="border-box";h.style.paddingRight="160px";h.style.whiteSpace="nowrap";h.style.marginTop="6px";h.style.width="100%";var y=document.createElement("input");
-y.setAttribute("placeholder",mxResources.get("enterPropertyName"));y.setAttribute("type","text");y.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"36":"40");y.style.boxSizing="border-box";y.style.marginLeft="2px";y.style.width="100%";h.appendChild(y);g.appendChild(h);e.appendChild(g);var F=mxUtils.button(mxResources.get("addProperty"),function(){var a=y.value;if(0<a.length&&"label"!=a&&"placeholders"!=a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(n,a);if(0<=b&&null!=p[b])p[b].focus();else{f.cloneNode(!1).setAttribute(a,
-"");0<=b&&(n.splice(b,1),p.splice(b,1));n.push(a);var c=m.addTextarea(a+":","",2);c.style.width="100%";p.push(c);v(c,a);c.focus()}F.setAttribute("disabled","disabled");y.value=""}catch(D){mxUtils.alert(D)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(y,"keypress",function(a){13==a.keyCode&&F.click()});this.init=function(){0<p.length?p[0].focus():y.focus()};F.setAttribute("title",mxResources.get("addProperty"));F.setAttribute("disabled","disabled");F.style.textOverflow="ellipsis";
-F.style.position="absolute";F.style.overflow="hidden";F.style.width="144px";F.style.right="0px";F.className="geBtn";h.appendChild(F);g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)});g.setAttribute("title","Escape");g.className="geBtn";var I=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);f=f.cloneNode(!0);for(var c=!1,e=0;e<n.length;e++)null==p[e]?f.removeAttribute(n[e]):(f.setAttribute(n[e],p[e].value),c=c||"placeholder"==
+y.setAttribute("placeholder",mxResources.get("enterPropertyName"));y.setAttribute("type","text");y.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"36":"40");y.style.boxSizing="border-box";y.style.marginLeft="2px";y.style.width="100%";h.appendChild(y);g.appendChild(h);e.appendChild(g);var E=mxUtils.button(mxResources.get("addProperty"),function(){var a=y.value;if(0<a.length&&"label"!=a&&"placeholders"!=a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(n,a);if(0<=b&&null!=p[b])p[b].focus();else{f.cloneNode(!1).setAttribute(a,
+"");0<=b&&(n.splice(b,1),p.splice(b,1));n.push(a);var c=m.addTextarea(a+":","",2);c.style.width="100%";p.push(c);v(c,a);c.focus()}E.setAttribute("disabled","disabled");y.value=""}catch(F){mxUtils.alert(F)}else mxUtils.alert(mxResources.get("invalidName"))});mxEvent.addListener(y,"keypress",function(a){13==a.keyCode&&E.click()});this.init=function(){0<p.length?p[0].focus():y.focus()};E.setAttribute("title",mxResources.get("addProperty"));E.setAttribute("disabled","disabled");E.style.textOverflow="ellipsis";
+E.style.position="absolute";E.style.overflow="hidden";E.style.width="144px";E.style.right="0px";E.className="geBtn";h.appendChild(E);g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)});g.setAttribute("title","Escape");g.className="geBtn";var I=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);f=f.cloneNode(!0);for(var c=!1,e=0;e<n.length;e++)null==p[e]?f.removeAttribute(n[e]):(f.setAttribute(n[e],p[e].value),c=c||"placeholder"==
n[e]&&"1"==f.getAttribute("placeholders"));c&&f.removeAttribute("label");d.getModel().setValue(b,f)}catch(z){mxUtils.alert(z)}});I.setAttribute("title","Ctrl+Enter");I.className="geBtn gePrimaryBtn";mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&mxEvent.isControlDown(a)&&I.click()});mxEvent.addListener(y,"keyup",c);mxEvent.addListener(y,"change",c);h=document.createElement("div");h.style.cssText="position:absolute;left:30px;right:30px;text-align:right;bottom:30px;height:40px;";if(a.editor.graph.getModel().isVertex(b)||
a.editor.graph.getModel().isEdge(b))l=document.createElement("span"),l.style.marginRight="10px",t=document.createElement("input"),t.setAttribute("type","checkbox"),t.style.marginRight="6px","1"==f.getAttribute("placeholders")&&(t.setAttribute("checked","checked"),t.defaultChecked=!0),mxEvent.addListener(t,"click",function(){"1"==f.getAttribute("placeholders")?f.removeAttribute("placeholders"):f.setAttribute("placeholders","1")}),l.appendChild(t),mxUtils.write(l,mxResources.get("placeholders")),null!=
EditDataDialog.placeholderHelpLink&&(t=document.createElement("a"),t.setAttribute("href",EditDataDialog.placeholderHelpLink),t.setAttribute("title",mxResources.get("help")),t.setAttribute("target","_blank"),t.style.marginLeft="8px",t.style.cursor="help",x=document.createElement("img"),mxUtils.setOpacity(x,50),x.style.height="16px",x.style.width="16px",x.setAttribute("border","0"),x.setAttribute("valign","middle"),x.style.marginTop=mxClient.IS_IE11?"0px":"-4px",x.setAttribute("src",Editor.helpImage),
@@ -3758,7 +3758,7 @@ a.preventDefault()});mxEvent.addListener(m,"drop",function(a){a.stopPropagation(
"#c3c3c3";t.style.borderStyle="solid";t.style.display="block";t.style.whiteSpace="nowrap";var x=document.createElement("a");x.className="geButton";var w=x.cloneNode(!1),l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("width","22");l.setAttribute("src",Editor.trashImage);l.style.opacity="0.9";Editor.isDarkMode()&&(l.style.filter="invert(100%)");w.appendChild(l);mxEvent.addListener(w,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(v);
g.removeCells([v],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(w.className="geButton mxDisabled");t.appendChild(w);var y=x.cloneNode();y.setAttribute("title",mxUtils.trim(mxResources.get("moveSelectionTo",["..."])));l=l.cloneNode(!1);l.setAttribute("src",
Editor.verticalDotsImage);y.appendChild(l);mxEvent.addListener(y,"click",function(b){if(g.isEnabled()&&!g.isSelectionEmpty()){var c=mxUtils.getOffset(y);a.showPopupMenu(mxUtils.bind(this,function(a,b){for(var c=u-1;0<=c;c--)mxUtils.bind(this,function(c){var d=a.addItem(g.convertValueToString(c)||mxResources.get("background"),null,mxUtils.bind(this,function(){g.moveCells(g.getSelectionCells(),0,0,!1,c)}),b);1==g.getSelectionCount()&&g.model.isAncestor(c,g.getSelectionCell())&&a.addCheckmark(d,Editor.checkmarkImage)})(g.model.getChildAt(g.model.root,
-c))}),c.x,c.y+y.offsetHeight,b)}});t.appendChild(y);var F=x.cloneNode(!1);F.setAttribute("title",mxResources.get("editData"));l=l.cloneNode(!1);l.setAttribute("src",Editor.editImage);F.appendChild(l);mxEvent.addListener(F,"click",function(b){g.isEnabled()&&a.showDataDialog(v);mxEvent.consume(b)});g.isEnabled()||(F.className="geButton mxDisabled");t.appendChild(F);var I=x.cloneNode(!1);I.setAttribute("title",mxResources.get("duplicate"));l=l.cloneNode(!1);l.setAttribute("src",Editor.duplicateImage);
+c))}),c.x,c.y+y.offsetHeight,b)}});t.appendChild(y);var E=x.cloneNode(!1);E.setAttribute("title",mxResources.get("editData"));l=l.cloneNode(!1);l.setAttribute("src",Editor.editImage);E.appendChild(l);mxEvent.addListener(E,"click",function(b){g.isEnabled()&&a.showDataDialog(v);mxEvent.consume(b)});g.isEnabled()||(E.className="geButton mxDisabled");t.appendChild(E);var I=x.cloneNode(!1);I.setAttribute("title",mxResources.get("duplicate"));l=l.cloneNode(!1);l.setAttribute("src",Editor.duplicateImage);
I.appendChild(l);mxEvent.addListener(I,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCell(v),g.cellLabelChanged(a,mxResources.get("untitledLayer")),a.setVisible(!0),a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(I.className="geButton mxDisabled");t.appendChild(I);x=x.cloneNode(!1);x.setAttribute("title",mxResources.get("addLayer"));l=l.cloneNode(!1);l.setAttribute("src",Editor.addImage);
x.appendChild(l);mxEvent.addListener(x,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(x.className="geButton mxDisabled");t.appendChild(x);m.appendChild(t);var B=new mxDictionary,G=document.createElement("span");G.setAttribute("title",mxResources.get("selectionOnly"));G.innerHTML="&#8226;";G.style.position="absolute";G.style.fontWeight=
"bold";G.style.fontSize="16pt";G.style.right="2px";G.style.top="2px";k();g.model.addListener(mxEvent.CHANGE,k);g.addListener("defaultParentChanged",k);g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?y.className="geButton mxDisabled":y.className="geButton";h()});this.window=new mxWindow(mxResources.get("layers"),m,b,c,e,d,!0,!0);this.window.minimumSize=new mxRectangle(0,0,150,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);
@@ -10738,7 +10738,7 @@ this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.colo
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"),O=new Image;O.onload=function(){try{N.getContext("2d").drawImage(O,0,0);var b=N.toDataURL("image/png");Editor.prototype.useCanvasForExport=
null!=b&&6<b.length}catch(T){}};O.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(J){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(b,d,c){c.ui=b.ui;return d};b.afterDecode=function(b,d,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(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(b,d,c){c.ui=b.ui;return d};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="16.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(b,d,c){c.ui=b.ui;return d};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="16.0.2";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="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.nativeFileSupport=
!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.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(b,c,d,e,g,k,n){k=null!=k?k:0<=b.indexOf("NetworkError")||0<=b.indexOf("SecurityError")||0<=b.indexOf("NS_ERROR_FAILURE")||0<=b.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -11694,8 +11694,8 @@ function(b){var c=this.getCurrentFile();EditorUi.debug("storage event",b,c);null
var c=this.getDiagramId(),d=this.getCurrentFile();null!=d&&d.getHash()==c||this.loadFile(c,!0)}catch(l){null!=document.body&&this.handleError(l,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}))}}))}if((null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.desc)try{this.loadDescriptor(JSON.parse(Graph.decompress(urlParams.desc)),null,mxUtils.bind(this,function(b){this.handleError(b,mxResources.get("errorLoadingFile"))}))}catch(k){this.handleError(k,
mxResources.get("errorLoadingFile"))}else if((null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var e=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length||"#P"==window.location.hash.substring(0,2))){var b=mxUtils.bind(this,function(b){Editor.isPngDataUrl(b)&&(b=Editor.extractGraphModelFromPng(b));var c=urlParams.title,c=null!=c?decodeURIComponent(c):
this.defaultFilename;b=new LocalFile(this,b,c,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(b.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(b);this.getCurrentFile().setModified(!this.editor.chromeless)}),c=window.opener||window.parent;if(c!=window){var d=urlParams.create;null!=d?b(c[decodeURIComponent(d)]):(d=urlParams.data,null!=d?b(decodeURIComponent(d)):this.installMessageHandler(mxUtils.bind(this,function(d,e){e.source==c&&b(d)})))}}else if(null==
-this.dialog)if("1"==urlParams.demo)d=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=d;else{d=!1;try{d=null!=window.opener&&null!=window.opener.openFile}catch(l){}d?this.spinner.spin(document.body,mxResources.get("loading")):(d=this.getDiagramId(),!EditorUi.enableDrafts||null!=urlParams.mode&&!EditorUi.isElectronApp||"draw.io"!=this.getServiceName()||null!=d&&0!=d.length||this.editor.isChromelessView()?null!=d&&0<d.length?this.loadFile(d,
-null,null,mxUtils.bind(this,function(){var b=decodeURIComponent(urlParams.viewbox||"");if(""!=b)try{var c=JSON.parse(b);this.editor.graph.fitWindow(c,c.border)}catch(p){console.error(p)}})):"0"!=urlParams.splash?this.loadFile():this.createFile(this.defaultFilename,this.getFileData(),null,null,null,null,null,!0):this.checkDrafts())}}),d=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=d&&0<d.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=
+this.dialog)if("1"==urlParams.demo)d=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=d;else{d=!1;try{d=null!=window.opener&&null!=window.opener.openFile}catch(l){}d?this.spinner.spin(document.body,mxResources.get("loading")):(d=this.getDiagramId(),!EditorUi.enableDrafts||null!=urlParams.mode||"draw.io"!=this.getServiceName()||null!=d&&0!=d.length||this.editor.isChromelessView()?null!=d&&0<d.length?this.loadFile(d,null,null,mxUtils.bind(this,
+function(){var b=decodeURIComponent(urlParams.viewbox||"");if(""!=b)try{var c=JSON.parse(b);this.editor.graph.fitWindow(c,c.border)}catch(p){console.error(p)}})):"0"!=urlParams.splash?this.loadFile():this.createFile(this.defaultFilename,this.getFileData(),null,null,null,null,null,!0):this.checkDrafts())}}),d=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=d&&0<d.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=
mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create","title"]))}),g=mxUtils.bind(this,function(b){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,b,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var c=urlParams.title,c=null!=c?decodeURIComponent(c):this.defaultFilename;b=this.getServiceCount(!0);isLocalStorage&&b++;var d=4>=b?2:6<b?4:3,c=new CreateDialog(this,
c,mxUtils.bind(this,function(b,c){if(null==c){this.hideDialog();var d=Editor.useLocalStorage;this.createFile(0<b.length?b:this.defaultFilename,this.getFileData(),null,null,null,!0,null,!0);Editor.useLocalStorage=d}else this.pickFolder(c,mxUtils.bind(this,function(d){this.createFile(b,this.getFileData(!0),null,c,null,!0,d)}))}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d,null,null,null,this.editor.fileExtensions);this.showDialog(c.container,400,b>d?390:270,!0,!1,mxUtils.bind(this,function(b){b&&
null==this.getCurrentFile()&&this.showSplash()}));c.init()}}),d=decodeURIComponent(d);if("http://"!=d.substring(0,7)&&"https://"!=d.substring(0,8))try{null!=window.opener&&null!=window.opener[d]?g(window.opener[d]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(k){this.handleError(k,mxResources.get("errorLoadingFile"))}else this.loadTemplate(d,function(b){g(b)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),c)}))}else(null==window.location.hash||
@@ -11843,7 +11843,7 @@ null==this.userPanel.parentNode||this.userPanel.parentNode.removeChild(this.user
null!=this.oneDrive&&null!=this.oneDrive.getUser()?b=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?b=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()?b=this.gitHub.getUser():null!=this.gitLab&&null!=this.gitLab.getUser()?b=this.gitLab.getUser():null!=this.notion&&null!=this.notion.getUser()&&(b=this.notion.getUser());null!=b?(this.userElement.innerHTML="",560<screen.width&&(mxUtils.write(this.userElement,b.displayName),this.userElement.style.display=
"block")):this.userElement.style.display="none"}else null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null)};
App.prototype.getCurrentUser=function(){var b=null;null!=this.drive&&null!=this.drive.getUser()?b=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?b=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?b=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()&&(b=this.gitHub.getUser());return b};var editorResetGraph=Editor.prototype.resetGraph;
-Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);null==this.graph.defaultPageFormat&&(this.graph.pageFormat=mxSettings.getPageFormat())};(function(){var b=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){b.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px"};Menus.prototype.createHelpLink=function(b){var c=document.createElement("span");c.setAttribute("title",mxResources.get("help"));c.style.cssText="color:blue;text-decoration:underline;margin-left:8px;cursor:help;";
+Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);null==this.graph.defaultPageFormat&&(this.graph.pageFormat=mxSettings.getPageFormat())};(function(){var b=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-(EditorUi.isElectronApp?50:10)+"px";b.apply(this,arguments)};Menus.prototype.createHelpLink=function(b){var c=document.createElement("span");c.setAttribute("title",mxResources.get("help"));c.style.cssText="color:blue;text-decoration:underline;margin-left:8px;cursor:help;";
var d=document.createElement("img");mxUtils.setOpacity(d,50);d.style.height="16px";d.style.width="16px";d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);c.appendChild(d);mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){this.editorUi.hideCurrentMenu();this.editorUi.openLink(b);mxEvent.consume(c)}));return c};Menus.prototype.addLinkToItem=function(b,c){null!=b&&b.firstChild.nextSibling.appendChild(this.createHelpLink(c))};var e=Menus.prototype.init;
Menus.prototype.init=function(){function b(b,c,d){this.ui=b;this.previousExtFonts=this.extFonts=c;this.prevCustomFonts=this.customFonts=d}e.apply(this,arguments);var c=this.editorUi,g=c.editor.graph,k=mxUtils.bind(g,g.isEnabled),n=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),f=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&
(null==document.documentMode||9<document.documentMode),l=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"app.diagrams.net"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!mxClient.IS_IOS&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),m="1"==urlParams.tr&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||
diff --git a/src/main/webapp/js/diagramly/App.js b/src/main/webapp/js/diagramly/App.js
index f1d5f900..13e6bb53 100644
--- a/src/main/webapp/js/diagramly/App.js
+++ b/src/main/webapp/js/diagramly/App.js
@@ -3266,7 +3266,7 @@ App.prototype.start = function()
{
var id = this.getDiagramId();
- if (EditorUi.enableDrafts && (urlParams['mode'] == null || EditorUi.isElectronApp) &&
+ if (EditorUi.enableDrafts && urlParams['mode'] == null &&
this.getServiceName() == 'draw.io' && (id == null || id.length == 0) &&
!this.editor.isChromelessView())
{
diff --git a/src/main/webapp/js/diagramly/Editor.js b/src/main/webapp/js/diagramly/Editor.js
index 5a4e4f7a..343954e6 100644
--- a/src/main/webapp/js/diagramly/Editor.js
+++ b/src/main/webapp/js/diagramly/Editor.js
@@ -899,7 +899,7 @@
}
else
{
- delete style.stroke;
+ style.stroke = 'none';
}
var gradient = null;
@@ -4231,6 +4231,8 @@
mxCellRenderer.defaultShapes['swimlane'].prototype.customProperties = [
{name: 'arcSize', dispName: 'Arc Size', type: 'float', min:0, defVal: 15},
{name: 'startSize', dispName: 'Header Size', type: 'float'},
+ {name: 'swimlaneHead', dispName: 'Head Border', type: 'bool', defVal: true},
+ {name: 'swimlaneBody', dispName: 'Body Border', type: 'bool', defVal: true},
{name: 'horizontal', dispName: 'Horizontal', type: 'bool', defVal: true},
{name: 'separatorColor', dispName: 'Separator Color', type: 'color', defVal: null},
];
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index bd3a8cae..f926defe 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -10475,7 +10475,9 @@
* Persists default grid color.
*/
this.editor.graph.view.gridColor = mxSettings.getGridColor(Editor.isDarkMode());
-
+ this.editor.graph.view.defaultDarkGridColor = mxSettings.getGridColor(true);
+ this.editor.graph.view.defaultGridColor = mxSettings.getGridColor(false);
+
this.addListener('gridColorChanged', mxUtils.bind(this, function(sender, evt)
{
mxSettings.setGridColor(this.editor.graph.view.gridColor, Editor.isDarkMode());
diff --git a/src/main/webapp/js/diagramly/ElectronApp.js b/src/main/webapp/js/diagramly/ElectronApp.js
index a103a8e4..40370c20 100644
--- a/src/main/webapp/js/diagramly/ElectronApp.js
+++ b/src/main/webapp/js/diagramly/ElectronApp.js
@@ -845,7 +845,11 @@ mxStencilRegistry.allowEval = false;
var data = this.emptyDiagramXml;
var file = new LocalFile(this, data, title, null);
this.fileCreated(file, null, null, null);
- }
+ }
+ else
+ {
+ this.checkDrafts();
+ }
}
var origFileLoaded = EditorUi.prototype.fileLoaded;
@@ -1150,7 +1154,7 @@ mxStencilRegistry.allowEval = false;
data = this.extractGraphModelFromPng('data:image/png;base64,' + data);
}
- fs.stat(path, function(err, stat_p)
+ fs.stat(path, mxUtils.bind(this, function(err, stat_p)
{
if (err)
{
@@ -1160,10 +1164,24 @@ mxStencilRegistry.allowEval = false;
{
stat = stat_p;
fn(fileEntry, data, stat, null, false);
+
+ fs.access(path, fs.constants.W_OK, mxUtils.bind(this, function(err)
+ {
+ if (err)
+ {
+ var file = this.getCurrentFile();
+
+ if (file != null && file.fileObject != null && file.fileObject.path == path)
+ {
+ file.setEditable(false);
+ this.editor.setStatus('<div class="geStatusAlert">' + mxResources.get('readOnly') + '</div>');
+ }
+ }
+ }));
}
checkDrafts();
- });
+ }));
}
});
@@ -1319,6 +1337,16 @@ mxStencilRegistry.allowEval = false;
return stat != null && this.stat != null && stat.mtimeMs != this.stat.mtimeMs;
};
+ LocalFile.prototype.isEditable = function()
+ {
+ return this.editable != null? this.editable : this.ui.editor.editable;
+ };
+
+ LocalFile.prototype.setEditable = function(editable)
+ {
+ this.editable = editable;
+ };
+
LocalFile.prototype.getFilename = function()
{
var filename = this.title;
@@ -1414,13 +1442,17 @@ mxStencilRegistry.allowEval = false;
if (errMsg == 'empty data')
{
this.ui.handleError({message: mxResources.get('errorSavingFile')});
+ errorWrapper();
}
else if (errMsg == 'conflict')
{
this.inConflictState = true;
+ errorWrapper();
+ }
+ else
+ {
+ errorWrapper(err || errMsg);
}
-
- errorWrapper();
}));
});
diff --git a/src/main/webapp/js/diagramly/Menus.js b/src/main/webapp/js/diagramly/Menus.js
index 66ca6dcf..8fcb1bb1 100644
--- a/src/main/webapp/js/diagramly/Menus.js
+++ b/src/main/webapp/js/diagramly/Menus.js
@@ -8,12 +8,12 @@
var mxPopupMenuShowMenu = mxPopupMenu.prototype.showMenu;
mxPopupMenu.prototype.showMenu = function()
{
- mxPopupMenuShowMenu.apply(this, arguments);
-
this.div.style.overflowY = 'auto';
this.div.style.overflowX = 'hidden';
var h0 = Math.max(document.body.clientHeight, document.documentElement.clientHeight);
- this.div.style.maxHeight = (h0 - 10) + 'px';
+ this.div.style.maxHeight = (h0 - (EditorUi.isElectronApp? 50 : 10)) + 'px'; //In Electron and without titlebar, the top item is not selectable
+
+ mxPopupMenuShowMenu.apply(this, arguments);
};
Menus.prototype.createHelpLink = function(href)
diff --git a/src/main/webapp/js/diagramly/Minimal.js b/src/main/webapp/js/diagramly/Minimal.js
index af931f0c..e8f77e7b 100644
--- a/src/main/webapp/js/diagramly/Minimal.js
+++ b/src/main/webapp/js/diagramly/Minimal.js
@@ -1127,16 +1127,22 @@ EditorUi.initMinimalTheme = function()
ui.menus.addSubmenu('importFrom', menu, parent);
}
+ menu.addSeparator(parent);
+
if (urlParams['sketch'] != '1')
{
- ui.menus.addMenuItems(menu, ['-', 'outline'], parent);
-
- if (ui.commentsSupported())
- {
- ui.menus.addMenuItems(menu, ['comments'], parent);
- }
+ ui.menus.addMenuItems(menu, ['outline'], parent);
}
-
+ else if (file.constructor == DriveFile)
+ {
+ ui.menus.addMenuItems(menu, ['share'], parent);
+ }
+
+ if (ui.commentsSupported())
+ {
+ ui.menus.addMenuItems(menu, ['comments'], parent);
+ }
+
ui.menus.addMenuItems(menu, ['-', 'findReplace',
'layers', 'tags', '-', 'pageSetup'], parent);
diff --git a/src/main/webapp/js/grapheditor/Dialogs.js b/src/main/webapp/js/grapheditor/Dialogs.js
index 60d4a072..3340bf37 100644
--- a/src/main/webapp/js/grapheditor/Dialogs.js
+++ b/src/main/webapp/js/grapheditor/Dialogs.js
@@ -101,6 +101,7 @@ var ColorDialog = function(editorUi, color, apply, cancelFn)
table.setAttribute('cellspacing', '0');
table.style.marginBottom = '20px';
table.style.cellSpacing = '0px';
+ table.style.marginLeft = '1px';
var tbody = document.createElement('tbody');
table.appendChild(tbody);
@@ -115,7 +116,7 @@ var ColorDialog = function(editorUi, color, apply, cancelFn)
(mxUtils.bind(this, function(clr)
{
var td = document.createElement('td');
- td.style.border = '1px solid black';
+ td.style.border = '0px solid black';
td.style.padding = '0px';
td.style.width = '16px';
td.style.height = '16px';
@@ -124,14 +125,20 @@ var ColorDialog = function(editorUi, color, apply, cancelFn)
{
clr = defaultColor;
}
-
- if (clr == 'none')
- {
- td.style.background = 'url(\'' + Dialog.prototype.noColorImage + '\')';
- }
- else if (clr != null)
+
+ if (clr != null)
{
- td.style.backgroundColor = '#' + clr;
+ td.style.borderWidth = '1px';
+
+ if (clr == 'none')
+ {
+ td.style.background = 'url(\'' + Dialog.prototype.noColorImage + '\')';
+ }
+ else
+ {
+ td.style.backgroundColor = '#' + clr;
+ }
+
var name = this.colorNames[clr.toUpperCase()];
if (name != null)
diff --git a/src/main/webapp/js/grapheditor/EditorUi.js b/src/main/webapp/js/grapheditor/EditorUi.js
index bac0f217..c0357e78 100644
--- a/src/main/webapp/js/grapheditor/EditorUi.js
+++ b/src/main/webapp/js/grapheditor/EditorUi.js
@@ -1299,7 +1299,7 @@ EditorUi.prototype.initSelectionState = function()
style: {}, containsImage: false, containsLabel: false, fill: true, glass: true,
rounded: true, autoSize: false, image: true, shadow: true, lineJumps: true, resizable: true,
table: false, cell: false, row: false, movable: true, rotatable: true, stroke: true,
- unlocked: this.editor.graph.isEnabled(), connections: false};
+ swimlane: false, unlocked: this.editor.graph.isEnabled(), connections: false};
};
/**
@@ -1364,6 +1364,7 @@ EditorUi.prototype.updateSelectionStateForCell = function(result, cell, cells, i
result.rotatable = result.rotatable && graph.isCellRotatable(cell);
result.movable = result.movable && graph.isCellMovable(cell) &&
!graph.isTableRow(cell) && !graph.isTableCell(cell);
+ result.swimlane = result.swimlane || graph.isSwimlane(cell);
result.table = result.table || graph.isTable(cell);
result.cell = result.cell || graph.isTableCell(cell);
result.row = result.row || graph.isTableRow(cell);
diff --git a/src/main/webapp/js/grapheditor/Format.js b/src/main/webapp/js/grapheditor/Format.js
index ec41d280..36d1da58 100644
--- a/src/main/webapp/js/grapheditor/Format.js
+++ b/src/main/webapp/js/grapheditor/Format.js
@@ -4539,9 +4539,10 @@ StyleFormatPanel.prototype.getCustomColors = function()
var ss = this.editorUi.getSelectionState();
var result = [];
- if (ss.style.shape == 'swimlane' || ss.style.shape == 'table')
+ if (ss.swimlane)
{
- result.push({title: mxResources.get('laneColor'), key: 'swimlaneFillColor', defaultValue: 'default'});
+ result.push({title: mxResources.get('laneColor'),
+ key: 'swimlaneFillColor', defaultValue: 'default'});
}
return result;
@@ -4850,7 +4851,10 @@ StyleFormatPanel.prototype.addStroke = function(container)
window.setTimeout(mxUtils.bind(this, function()
{
- mxUtils.fit(menu.div);
+ if (menu.div != null)
+ {
+ mxUtils.fit(menu.div);
+ }
}), 0);
}
}));
@@ -4913,7 +4917,10 @@ StyleFormatPanel.prototype.addStroke = function(container)
window.setTimeout(mxUtils.bind(this, function()
{
- mxUtils.fit(menu.div);
+ if (menu.div != null)
+ {
+ mxUtils.fit(menu.div);
+ }
}), 0);
}
}));
@@ -5459,7 +5466,7 @@ StyleFormatPanel.prototype.addEffects = function(div)
addOption(mxResources.get('rounded'), mxConstants.STYLE_ROUNDED, 0);
}
- if (ss.style.shape == 'swimlane')
+ if (ss.swimlane)
{
addOption(mxResources.get('divider'), 'swimlaneLine', 1);
}
diff --git a/src/main/webapp/js/grapheditor/Graph.js b/src/main/webapp/js/grapheditor/Graph.js
index 6c9e2f37..643c57e8 100644
--- a/src/main/webapp/js/grapheditor/Graph.js
+++ b/src/main/webapp/js/grapheditor/Graph.js
@@ -360,11 +360,18 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
if (handler == null || handler.getHandleForEvent(me) == null)
{
var box = new mxRectangle(me.getGraphX() - 1, me.getGraphY() - 1);
- box.grow(mxEvent.isTouchEvent(me.getEvent()) ?
- mxShape.prototype.svgStrokeTolerance - 1 :
- (mxShape.prototype.svgStrokeTolerance + 1) / 2);
-
- if (this.isTableCell(state.cell) && !this.isCellSelected(state.cell))
+ var tol = mxEvent.isTouchEvent(me.getEvent()) ?
+ mxShape.prototype.svgStrokeTolerance - 1 :
+ (mxShape.prototype.svgStrokeTolerance + 1) / 2;
+ box.grow(tol);
+
+ // Ignores clicks on cell background to avoid delayed selection on
+ // merged cells when clicking on invisible dividers
+ if (this.isTableCell(state.cell) && !this.isCellSelected(state.cell) &&
+ (!mxUtils.contains(state, me.getGraphX() - tol, me.getGraphY() - tol) ||
+ !mxUtils.contains(state, me.getGraphX() - tol, me.getGraphY() + tol) ||
+ !mxUtils.contains(state, me.getGraphX() + tol, me.getGraphY() + tol) ||
+ !mxUtils.contains(state, me.getGraphX() + tol, me.getGraphY() - tol)))
{
var row = this.model.getParent(state.cell);
var table = this.model.getParent(row);
@@ -382,7 +389,7 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
state.x + g.width * s - 2, state.y, 2, g.height * s)))
{
var wasSelected = this.selectionCellsHandler.isHandled(table);
- this.selectCellForEvent(table, me.getEvent());
+ this.selectCellForEvent(table, me.getEvent());
handler = this.selectionCellsHandler.getHandler(table);
if (handler != null)
@@ -649,8 +656,9 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
}
else if (!mxEvent.isControlDown(me.getEvent()))
{
+ var tol = mxShape.prototype.svgStrokeTolerance / 2;
var box = new mxRectangle(me.getGraphX() - 1, me.getGraphY() - 1);
- box.grow(mxShape.prototype.svgStrokeTolerance / 2);
+ box.grow(tol);
if (this.isTableCell(state.cell))
{
@@ -659,15 +667,15 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
if (!this.isCellSelected(table))
{
- if ((mxUtils.intersects(box, new mxRectangle(state.x - 2, state.y, 2, state.height)) &&
+ if ((mxUtils.intersects(box, new mxRectangle(state.x - 2, state.y, 4, state.height)) &&
this.model.getChildAt(row, 0) != state.cell) || mxUtils.intersects(box,
- new mxRectangle(state.x + state.width - 2, state.y, 2, state.height)))
+ new mxRectangle(state.x + state.width - 2, state.y, 4, state.height)))
{
cursor ='col-resize';
}
- else if ((mxUtils.intersects(box, new mxRectangle(state.x, state.y - 2, state.width, 3)) &&
+ else if ((mxUtils.intersects(box, new mxRectangle(state.x, state.y - 2, state.width, 4)) &&
this.model.getChildAt(table, 0) != row) || mxUtils.intersects(box,
- new mxRectangle(state.x, state.y + state.height - 2, state.width, 3)))
+ new mxRectangle(state.x, state.y + state.height - 2, state.width, 4)))
{
cursor ='row-resize';
}
@@ -5956,7 +5964,7 @@ Graph.prototype.createTable = function(rowCount, colCount, w, h, title, startSiz
tableStyle = (tableStyle != null) ? tableStyle : 'shape=table;startSize=' +
((title != null) ? startSize : '0') + ';container=1;collapsible=0;childLayout=tableLayout;';
rowStyle = (rowStyle != null) ? rowStyle : 'shape=partialRectangle;collapsible=0;dropTarget=0;' +
- 'pointerEvents=0;fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;';
+ 'fillColor=none;top=0;left=0;bottom=0;right=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;';
cellStyle = (cellStyle != null) ? cellStyle : 'shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;' +
'overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;';
@@ -6005,17 +6013,16 @@ Graph.prototype.createCrossFunctionalSwimlane = function(rowCount, colCount, w,
{
w = (w != null) ? w : 120;
h = (h != null) ? h : 120;
- var startSize = (title == null) ? 0 : 40;
- var s = 'collapsible=0;recursiveResize=0;expand=0;pointerEvents=0;';
- tableStyle = (tableStyle != null) ? tableStyle : 'shape=table;childLayout=tableLayout;startSize=' + startSize + ';' +
- ((title == null) ? 'fillColor=none;' : '') + s;
-
- rowStyle = (rowStyle != null) ? rowStyle : 'swimlane;horizontal=0;fontStyle=0;points=[[0,0.5],[1,0.5]];' +
- 'fillColor=none;strokeColor=none;portConstraint=eastwest;startSize=' + startSize + ';' + s;
- firstCellStyle = (firstCellStyle != null) ? firstCellStyle : 'swimlane;fontStyle=0;connectable=0;fillColor=none;startSize=40;' + s;
- cellStyle = (cellStyle != null) ? cellStyle : 'swimlane;fontStyle=0;connectable=0;fillColor=none;startSize=' +
- ((title == null) ? '40' : '0') + ';' + s;
+ var s = 'collapsible=0;recursiveResize=0;expand=0;';
+ tableStyle = (tableStyle != null) ? tableStyle : 'shape=table;childLayout=tableLayout;' +
+ ((title == null) ? 'startSize=0;fillColor=none;' : 'startSize=40;') + s;
+ rowStyle = (rowStyle != null) ? rowStyle : 'swimlane;horizontal=0;swimlaneHead=0;swimlaneBody=0;fontStyle=0;' +
+ 'fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;startSize=40;' + s;
+ firstCellStyle = (firstCellStyle != null) ? firstCellStyle : 'swimlane;swimlaneHead=0;swimlaneBody=0;fontStyle=0;' +
+ 'connectable=0;fillColor=none;startSize=40;' + s;
+ cellStyle = (cellStyle != null) ? cellStyle : 'swimlane;swimlaneHead=0;swimlaneBody=0;fontStyle=0;connectable=0;' +
+ 'fillColor=none;startSize=0;' + s;
var table = this.createVertex(null, null, (title != null) ? title : '', 0, 0,
colCount * w, rowCount * h, tableStyle);
@@ -6055,6 +6062,7 @@ Graph.prototype.visitTableCells = function(cell, visitor)
{
var rowStart = this.getActualStartSize(rows[i], true);
var cols = this.model.getChildCells(rows[i], true);
+ var rowStyle = this.getCellStyle(rows[i], true);
var lastCol = null;
var row = [];
@@ -6093,7 +6101,13 @@ Graph.prototype.visitTableCells = function(cell, visitor)
}
}
- visitor(col, cols.length, rows.length, start.x + rowStart.x, start.y + rowStart.y);
+ var head = mxUtils.getValue(rowStyle, mxConstants.STYLE_SWIMLANE_HEAD, 1) == 1 &&
+ mxUtils.getValue(rowStyle, mxConstants.STYLE_STROKECOLOR,
+ mxConstants.NONE) != mxConstants.NONE;
+
+ visitor(col, cols.length, rows.length,
+ start.x + ((head) ? rowStart.x : 0),
+ start.y + ((head) ? rowStart.y : 0));
row.push(col);
lastCol = col;
}
@@ -7849,20 +7863,21 @@ if (typeof mxVertexHandler != 'undefined')
};
/**
- * Overridden to check for table shape.
+ * Overridden to use table cell instead of table as parent.
*/
Graph.prototype.isSwimlane = function(cell, ignoreState)
{
- if (cell != null && this.model.getParent(cell) != this.model.getRoot() &&
- !this.model.isEdge(cell))
+ var shape = null;
+
+ if (cell != null && !this.model.isEdge(cell) &&
+ this.model.getParent(cell) !=
+ this.model.getRoot())
{
- var shape = this.getCurrentCellStyle(cell, ignoreState)
- [mxConstants.STYLE_SHAPE];
-
- return shape == mxConstants.SHAPE_SWIMLANE || shape == 'table';
+ var style = this.getCurrentCellStyle(cell, ignoreState)
+ shape = style[mxConstants.STYLE_SHAPE];
}
- return false;
+ return shape == mxConstants.SHAPE_SWIMLANE || shape == 'table';
};
/**
diff --git a/src/main/webapp/js/grapheditor/Shapes.js b/src/main/webapp/js/grapheditor/Shapes.js
index 43fa08b7..a5a49af5 100644
--- a/src/main/webapp/js/grapheditor/Shapes.js
+++ b/src/main/webapp/js/grapheditor/Shapes.js
@@ -260,7 +260,7 @@
TableShape.prototype.paintVertexShape = function(c, x, y, w, h)
{
- // LATER: Split background to add striping
+ // LATER: Split background to add striping, paint rows and cells
//paintTableBackground(this.state, c, x, y, w, h);
var start = this.getTitleSize();
@@ -316,7 +316,7 @@
}
mxCellRenderer.registerShape('table', TableShape);
-
+
// Cube Shape, supports size style
function CubeShape()
{
@@ -5694,7 +5694,7 @@
state.style['width'] = Math.round(w * 2) / state.view.scale;
// Applies to opposite side
- if (mxEvent.isControlDown(me.getEvent()))
+ if (mxEvent.isShiftDown(me.getEvent()) || mxEvent.isControlDown(me.getEvent()))
{
state.style[mxConstants.STYLE_ENDSIZE] = state.style[mxConstants.STYLE_STARTSIZE];
}
@@ -5725,7 +5725,7 @@
state.style['startWidth'] = Math.max(0, Math.round(w * 2) - state.shape.getEdgeWidth()) / state.view.scale;
// Applies to opposite side
- if (mxEvent.isControlDown(me.getEvent()))
+ if (mxEvent.isShiftDown(me.getEvent()) || mxEvent.isControlDown(me.getEvent()))
{
state.style[mxConstants.STYLE_ENDSIZE] = state.style[mxConstants.STYLE_STARTSIZE];
state.style['endWidth'] = state.style['startWidth'];
@@ -5765,7 +5765,7 @@
state.style['width'] = Math.round(w * 2) / state.view.scale;
// Applies to opposite side
- if (mxEvent.isControlDown(me.getEvent()))
+ if (mxEvent.isShiftDown(me.getEvent()) || mxEvent.isControlDown(me.getEvent()))
{
state.style[mxConstants.STYLE_STARTSIZE] = state.style[mxConstants.STYLE_ENDSIZE];
}
@@ -5796,7 +5796,7 @@
state.style['endWidth'] = Math.max(0, Math.round(w * 2) - state.shape.getEdgeWidth()) / state.view.scale;
// Applies to opposite side
- if (mxEvent.isControlDown(me.getEvent()))
+ if (mxEvent.isShiftDown(me.getEvent()) || mxEvent.isControlDown(me.getEvent()))
{
state.style[mxConstants.STYLE_STARTSIZE] = state.style[mxConstants.STYLE_ENDSIZE];
state.style['startWidth'] = state.style['endWidth'];
@@ -5829,7 +5829,7 @@
var size = parseFloat(mxUtils.getValue(state.style, mxConstants.STYLE_STARTSIZE, mxConstants.DEFAULT_STARTSIZE));
handles.push(createArcHandle(state, size / 2));
}
-
+
// Start size handle must be last item in handles for hover to work in tables (see mouse event handler in Graph)
handles.push(createHandle(state, [mxConstants.STYLE_STARTSIZE], function(bounds)
{
@@ -5851,31 +5851,29 @@
Math.round(Math.max(0, Math.min(bounds.width, pt.x - bounds.x)));
}, false, null, function(me)
{
- if (mxEvent.isControlDown(me.getEvent()))
+ var graph = state.view.graph;
+
+ if (!mxEvent.isShiftDown(me.getEvent()) && !mxEvent.isControlDown(me.getEvent()) &&
+ (graph.isTableRow(state.cell) || graph.isTableCell(state.cell)))
{
- var graph = state.view.graph;
+ var dir = graph.getSwimlaneDirection(state.style);
+ var parent = graph.model.getParent(state.cell);
+ var cells = graph.model.getChildCells(parent, true);
+ var temp = [];
- if (graph.isTableRow(state.cell) || graph.isTableCell(state.cell))
+ for (var i = 0; i < cells.length; i++)
{
- var dir = graph.getSwimlaneDirection(state.style);
- var parent = graph.model.getParent(state.cell);
- var cells = graph.model.getChildCells(parent, true);
- var temp = [];
-
- for (var i = 0; i < cells.length; i++)
+ // Finds siblings with the same direction and to set start size
+ if (cells[i] != state.cell && graph.isSwimlane(cells[i]) &&
+ graph.getSwimlaneDirection(graph.getCurrentCellStyle(
+ cells[i])) == dir)
{
- // Finds siblings with the same direction and to set start size
- if (cells[i] != state.cell && graph.isSwimlane(cells[i]) &&
- graph.getSwimlaneDirection(graph.getCurrentCellStyle(
- cells[i])) == dir)
- {
- temp.push(cells[i]);
- }
+ temp.push(cells[i]);
}
-
- graph.setCellStyles(mxConstants.STYLE_STARTSIZE,
- state.style[mxConstants.STYLE_STARTSIZE], temp);
}
+
+ graph.setCellStyles(mxConstants.STYLE_STARTSIZE,
+ state.style[mxConstants.STYLE_STARTSIZE], temp);
}
}));
diff --git a/src/main/webapp/js/grapheditor/Sidebar.js b/src/main/webapp/js/grapheditor/Sidebar.js
index 7c9490cb..d949cb11 100644
--- a/src/main/webapp/js/grapheditor/Sidebar.js
+++ b/src/main/webapp/js/grapheditor/Sidebar.js
@@ -1335,7 +1335,7 @@ Sidebar.prototype.addMiscPalette = function(expand)
this.addDataEntry('table', 180, 120, 'Table 2', '7ZhRb5swEMc/Da+TDSFJX0u7vrQv7bR3NzjBkvEhcynJPv3OYDeLUlS0JURTkUDyne+M+f05nXCUZOXuwYqqeIJc6ii5j5LMAmA3KneZ1DqKmcqj5C6KY0Z3FH/vmeXtLKuElQaHJMRdwpvQW9l5OkeNe+0ddSEqN0Tx6ly3BZa0zTtOw6ZQKF8qsXLzDb0E+WoUFl/UL+diZK/AoFBGWp+zAq1FVat2sS6iUDp/FHvYYnhMsFz0tjSPlF/7aAvNn6bfv7Qod70MWpcH8CChlGj3FNKoHAsfsew4sUKqTRHSPDwm6s6xec89IKWBp/ox4WQ4YdoyKqGf5QqF2QyBfQozt1D9EHYj0TsqUAalvX8jGgHaWmmdgQaniQHjHoRQ+Ukt1yH3FRChDOA9mPdFWyjpLV2EKWPf0iilt8nI5gebLhduMQNTo6Uvwa0hRY2NrHGogPHfCTg7g36zE/1+tsOY8bMKaYyLPgj5zxoBMV1raMgsVJ5L88HHwIcKkHwqwPxC/NNe/uctpP+S/+6Y/QhyzHvlSCY5QkI8nh6Lqb1crL3sj2Uao9sse8tr9oXKa3G1bnPTyz+d+I/fbTjr1WM+6XGFdsP51G8u3W+WI/YbfnoAEAps8YUKjH9+QnCxijo9IAgKLCcFrtFz+v/4byZBRmg6ZB4OQNu5o/PR3w=='),
this.addDataEntry('table title', 180, 150, 'Table with Title 1', '7VjBbqMwEP0arisMpeleQ7u9tJemP+CGCbZkbGRPQtKv37FxGnWTKJVa0q6CBJLnecbg9xg9mSQvm/W95a14NBWoJL9L8tIag/2oWZegVJKlskry2yTLUrqT7M+RWRZm05Zb0PiRgqwvWHG1hB555i8KetThRkXUCd76IYbZfOqQW5zJV4/lKQFzo5FLDZYAFmKleOtkSL8NGUKq6oFvzBK3C22j6YKqZ/FpvporWWsaz2kbfslpa6Qf3a0IcDEpvjpYhPXR7Qco7v0eTANoN5TSyQpFzLjpKUoFyFpsy4oIctcD9Vvtjk0aREIPk5vvkXuUV3pllFw9wRy5rgPFAhsVd9oJiTBr+dyndvSxHCS4sqZ95rYGjMC/pHlsIZUqjTJeJ220fxCaNk4qWGxrXwyiaWJgIzFviwZSiildRFOZ/iqSgnZTUsx2MV0+3WJptENLX4dfA7jDDhx+VMDssICbSHGU6ZSeV18g59Wwcmrts3dyflopQ8wulOkoFLKqQH+mj/KTfXQ9EO3FSPse7ev3lJ9BhetRhWMqsOx8MkxGSxnaUiZntJSbS+6qybdZyu+R9h9gKSwdZfgJnsLYaCpDmwpjZ3QVtn+qv6DGYqeP/IN10sAn/v+T+G9wlos+qp/QYUBroXD36zLMvfuz+Rc='),
this.addDataEntry('table title', 180, 150, 'Table with Title 2', '7VjBbqMwEP0arivAJdtcod1e0ktT7d0NBiwZG9nTQvbrd2xMsy1B7WoTglaVQJp5nhnwe/gdCEhWd3eaNtW9ypkIyG1AMq0U9FHdZUyIIA55HpCbII5DvIP4x8Rq5FbDhmom4TMNcd/wQsUz65FH+iRYjxrYC4+aijY2BLdKUgNUw5b/shgJEdgpCZRLphGIXC4EbQx35TeuouIi39C9eoZh0JClBe9Y/qBa47u1ajc4zPjWAodv/cvYZSp4KTHe4S7tE9NGcRvdviAwzPA7YxpYN8mOgzw1d0zVDPQeS1qeQ+UrrnsGw4rxshraEg9S0wPla++BbAw838e5JyPuJ2nHVwZOxQPbAZWlU6CCWvidthUHtm3ozpa2+C0d5T/XqnmkumTggWOkFVyITAllZZRK2geBanyDYMXQ+6QAVD2o5Yl5HepISVK8kKYs/JYECe4mwzw65HjZcg2ZkgY0fjx2BqMGWmbgswLGxwXce4q9TB/pSU4g59VIzuikekppqw96/rVU4TupFFJbCNViWvE8Z/JfDhL58CBdnYn3ZMT7TxfG4cL5H1ysr00NPpDLctN3rmYSqHsrzp8H5VyCrf4H33sv5rJ8bzWj730fyXlaPZfte6uL+d71pO8tnP95fW9CoAv43vrL987te+sZfS8KR3qSZR+8k56r9cWML4omnW/hAszrfBMKnd/5MD38wXBrb35w/AY='),
- this.addDataEntry('crossfunctional cross-functional cross functional flowchart swimlane table', 400, 400, 'Cross-Functional Flowchart', '5ZjfbpswFMafhstNGJK2u1xY05tOmtYn8OAstmRsZB8C6dPvmD9NN6CNqoStTCKSz/GxcX6f+ZAJ4iSv7ywvxFeTgQri2yBOrDHYtvI6AaWCKJRZEH8JoiikXxBtJ3pZ0xsW3ILGUwZE7YA9VyW0Gbq5cx+2pU5RGs198VaZKhXcYlvs8KC6Yid44ZvIf/jUJhVSZff8YErss320saa6lxocdYS+1Kgy188zDukWD/LRT7jqShQvnGzmbkospKV1cg/fwbWFPgt1wXXWBYWRGsHe7olAP/NPo/GhWzWjmCu509ROwZdSoqMAFqGeJNmkOox3YHJAe6CSSmYo2opV2NIOBcidwD+S3LWJ3dPYozDU6LQZ1yke6PQ5RWMpxYaiVDJXXHs9hLHykf48yfiMTrOO9YYuWlkSflwHaxqXUMyOMV2+3GJitEPLZYMBuMMKHM4o1ynSROPSHHoF2hGvKcWiMyi1Gij1TXAHrymVGq0h7Z6jCz8OJyGNx5HWk0if6J0d6XoSabQgpOxqTqZXk0zjBTGNbuZkej1p0i/u0/dp0mfw5bEdfzljvhmo8/aNPj/J63/Hjj8tGOS8JszCBaOc13sZG6DszffFF9p/a75j8lzOfNnwoPmedjqbOPv9Dftlw7PgglDObMDD09qCWF7UgSk8fqZq+n77ivUL'),
+ this.addDataEntry('crossfunctional cross-functional cross functional flowchart swimlane table', 400, 400, 'Cross-Functional Flowchart', '7ZhRb5swEMc/DY+dsEna7nEhS/ewStX6CTy41pYcG9mXBvrpa2NotBBKMnUp1ZB44P45O879zvpHFyXpurwxrOC3OgcZJd8jGvsnSY3WuItbdV2mIKV7F3mULCPqdRrR1RGZpM6MC2ZA4amLaVj8xOQGguIOaO3FaqMyFFoxn7ySeptxZjAkW6xkk2w5K/wrst9eWmRcyPwnq/QGW7WNFhbdDvfi2efPYp+spWSFFfXSpVcMZBtjxRP8AhsSvQplwVTeBA9a4X1zAOLi5vxgEMreetTSXjF2JbkBvQY0lYu3Ikce1sziUMWYg3jkuCcyG4TH17WHC+7EpubDLJIOi28ZauMk0i38VqwlU77mXBvx7KriUIUStZ/9AJbvSQudVwcKWcdCylRL933JUul650ILhfUPnS/c486dxl/m0dwdIHUx2cXu8ekGU60sGibqygOzuAX7wfDpsfCrlnHYY6gXCP2HvTDr9MIdZxaGeuHv0GdaKciaO9zXDB9IMDmWYNlL8BXW2QjOewnSieAQQXI5BoSXvQiTCeEQQno9BoRXvZ765i2cPPV9PfXQfT6/qV53mmEE1/i84K4+o5V+nbidym0cBkriidyp5Mbhm4T0Gueb/30m43xf4zzUDec3TtIdE/1395gcPUQak3WS7lBpIvdJzLM7A5rQjco9a7Gd5zcZfwz9XwA='),
this.createVertexTemplateEntry('text;html=1;strokeColor=#c0c0c0;fillColor=#ffffff;overflow=fill;rounded=0;', 280, 160,
'<table border="1" width="100%" height="100%" cellpadding="4" style="width:100%;height:100%;border-collapse:collapse;">' +
'<tr style="background-color:#A7C942;color:#ffffff;border:1px solid #98bf21;"><th align="left">Title 1</th><th align="left">Title 2</th><th align="left">Title 3</th></tr>' +
diff --git a/src/main/webapp/js/viewer-static.min.js b/src/main/webapp/js/viewer-static.min.js
index 1319af74..2cadaa9d 100644
--- a/src/main/webapp/js/viewer-static.min.js
+++ b/src/main/webapp/js/viewer-static.min.js
@@ -202,7 +202,7 @@ null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.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:"16.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.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:"16.0.2",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==document.createElementNS("http://www.w3.org/2000/svg","foreignObject").toString()||0<=navigator.userAgent.indexOf("Opera/"),
@@ -3373,7 +3373,7 @@ this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.colo
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 O=document.createElement("canvas"),U=new Image;U.onload=function(){try{O.getContext("2d").drawImage(U,0,0);var b=O.toDataURL("image/png");Editor.prototype.useCanvasForExport=
null!=b&&6<b.length}catch(I){}};U.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(G){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(b,e,k){k.ui=b.ui;return e};b.afterDecode=function(b,e,k){k.previousColor=k.color;k.previousImage=k.image;k.previousFormat=k.format;null!=k.foldingEnabled&&(k.foldingEnabled=!k.foldingEnabled);null!=k.mathEnabled&&(k.mathEnabled=!k.mathEnabled);null!=k.shadowVisible&&(k.shadowVisible=!k.shadowVisible);return k};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(b,e,k){k.ui=b.ui;return e};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="16.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(b,e,k){k.ui=b.ui;return e};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="16.0.2";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="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.nativeFileSupport=
!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.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(b,c,e,f,m,k,u){k=null!=k?k:0<=b.indexOf("NetworkError")||0<=b.indexOf("SecurityError")||0<=b.indexOf("NS_ERROR_FAILURE")||0<=b.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index 642dda00..33788d0e 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -202,7 +202,7 @@ null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local||"1"==urlParams.lockdown)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.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:"16.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.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:"16.0.2",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==document.createElementNS("http://www.w3.org/2000/svg","foreignObject").toString()||0<=navigator.userAgent.indexOf("Opera/"),
@@ -3373,7 +3373,7 @@ this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.colo
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 O=document.createElement("canvas"),U=new Image;U.onload=function(){try{O.getContext("2d").drawImage(U,0,0);var b=O.toDataURL("image/png");Editor.prototype.useCanvasForExport=
null!=b&&6<b.length}catch(I){}};U.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(G){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(b,e,k){k.ui=b.ui;return e};b.afterDecode=function(b,e,k){k.previousColor=k.color;k.previousImage=k.image;k.previousFormat=k.format;null!=k.foldingEnabled&&(k.foldingEnabled=!k.foldingEnabled);null!=k.mathEnabled&&(k.mathEnabled=!k.mathEnabled);null!=k.shadowVisible&&(k.shadowVisible=!k.shadowVisible);return k};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(b,e,k){k.ui=b.ui;return e};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="16.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(b,e,k){k.ui=b.ui;return e};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="16.0.2";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="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.nativeFileSupport=
!mxClient.IS_OP&&!EditorUi.isElectronApp&&"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.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(b,c,e,f,m,k,u){k=null!=k?k:0<=b.indexOf("NetworkError")||0<=b.indexOf("SecurityError")||0<=b.indexOf("NS_ERROR_FAILURE")||0<=b.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
diff --git a/src/main/webapp/mxgraph/mxClient.js b/src/main/webapp/mxgraph/mxClient.js
index 7de19ebe..a7f0155c 100644
--- a/src/main/webapp/mxgraph/mxClient.js
+++ b/src/main/webapp/mxgraph/mxClient.js
@@ -1,4 +1,4 @@
-var mxClient={VERSION:"16.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+var mxClient={VERSION:"16.0.2",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==document.createElementNS("http://www.w3.org/2000/svg","foreignObject").toString()||0<=navigator.userAgent.indexOf("Opera/"),
diff --git a/src/main/webapp/package.json b/src/main/webapp/package.json
index 51c09b95..ce16d54c 100644
--- a/src/main/webapp/package.json
+++ b/src/main/webapp/package.json
@@ -34,6 +34,6 @@
"pdf-lib": "^1.16.0"
},
"devDependencies": {
- "electron": "^13.6.1"
+ "electron": "^16.0.5"
}
}
diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js
index fbd1e24b..df067fe9 100644
--- a/src/main/webapp/service-worker.js
+++ b/src/main/webapp/service-worker.js
@@ -1,2 +1,2 @@
-if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let i=Promise.resolve();return r[e]||(i=new Promise((async i=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=i}else importScripts(e),i()}))),i.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},i=(i,r)=>{Promise.all(i.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(i)};self.define=(i,a,c)=>{r[i]||(r[i]=Promise.resolve().then((()=>{let r={};const s={uri:location.origin+i.slice(1)};return Promise.all(a.map((i=>{switch(i){case"exports":return r;case"module":return s;default:return e(i)}}))).then((e=>{const i=c(...e);return r.default||(r.default=i),r}))})))}}define("./service-worker.js",["./workbox-dfbb910f"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"js/app.min.js",revision:"953b6bc9958b5f3822bd4274508d8437"},{url:"js/extensions.min.js",revision:"44f4bd1a585836eb684bc07c94238837"},{url:"js/stencils.min.js",revision:"a4363c11e41442d41b1e073606f5566d"},{url:"js/shapes-14-6-5.min.js",revision:"ebce9c260798e9465fa3c3e3c1607d43"},{url:"js/math-print.js",revision:"9d98c920695f6c3395da4b68f723e60a"},{url:"index.html",revision:"9200e0815b5a48cae7db8f54f9604990"},{url:"open.html",revision:"d71816b3b00e769fc6019fcdd6921662"},{url:"styles/grapheditor.css",revision:"748da0cd0a068a52eac70ee2b2c194fe"},{url:"styles/atlas.css",revision:"e8152cda9233d3a3af017422993abfce"},{url:"styles/dark.css",revision:"3179f617dd02efd2cefeb8c06f965880"},{url:"js/croppie/croppie.min.css",revision:"fc297c9002c79c15a132f13ee3ec427e"},{url:"js/dropbox/Dropbox-sdk.min.js",revision:"4b9842892aa37b156db0a8364b7a83b0"},{url:"js/onedrive/OneDrive.js",revision:"505e8280346666f7ee801bc59521fa67"},{url:"js/viewer-static.min.js",revision:"c9678257a127910f35e8bb84e7145019"},{url:"connect/jira/editor-1-3-3.html",revision:"a2b0e7267a08a838f3cc404eba831ec0"},{url:"connect/jira/viewerPanel-1-3-12.html",revision:"2ce6e99d95113e9ca6b24343cea202e0"},{url:"connect/jira/fullScreenViewer-1-3-3.html",revision:"ba7ece2dfb2833b72f97280d7092f25e"},{url:"connect/jira/viewerPanel.js",revision:"6e9412c359a21b86dc7c5128bf6208d4"},{url:"connect/jira/spinner.gif",revision:"7d857ab9d86123e93d74d48e958fe743"},{url:"connect/jira/editor.js",revision:"01caa325f3ad3f6565e0b4228907fb63"},{url:"connect/jira/fullscreen-viewer-init.js",revision:"197ed5837ed27992688fc424699a9a78"},{url:"connect/jira/fullscreen-viewer.js",revision:"4e0775a6c156a803e777870623ac7c3e"},{url:"plugins/connectJira.js",revision:"4cefa13414e0d406550f3c073923080c"},{url:"plugins/cConf-comments.js",revision:"c787357209cff2986dcca567b599e2ef"},{url:"plugins/cConf-1-4-8.js",revision:"d7577d8f21716423852c343f027c4c27"},{url:"connect/confluence/connectUtils-1-4-8.js",revision:"8f6c85460791915b01d83cd0a793effb"},{url:"connect/new_common/cac.js",revision:"3d8c436c566db645fb1e6e6ba9f69bbc"},{url:"connect/gdrive_common/gac.js",revision:"38f1df3ecc4d78290493f47e62202138"},{url:"connect/onedrive_common/ac.js",revision:"887d3ac605a7bb297067537e7c1f5686"},{url:"connect/confluence/viewer-init.js",revision:"4a60c6c805cab7bc782f1e52f7818d9f"},{url:"connect/confluence/viewer.js",revision:"d025b0929817299fa154f273525aa0ec"},{url:"connect/confluence/viewer-1-4-42.html",revision:"c7b38b3af4eb7a58ab6dc4791216530e"},{url:"connect/confluence/macroEditor-1-4-8.html",revision:"8cd74a2fb60bf2e3e86026d66107cf11"},{url:"connect/confluence/includeDiagram-1-4-8.js",revision:"8b670f4b6ccde55358851da705ae884f"},{url:"connect/confluence/includeDiagram.html",revision:"c03c89622d22227313645900af4e3c3d"},{url:"connect/confluence/macro-editor.js",revision:"e273a48b8e81faac4530bf1a68d75aa0"},{url:"math/MathJax.js",revision:"b2c103388b71bb3d11cbf9aa45fe9b68"},{url:"math/config/TeX-MML-AM_SVG-full.js",revision:"d5cb8ac04050983170ae4af145bc66ff"},{url:"math/jax/output/SVG/fonts/TeX/fontdata.js",revision:"495e5a410955d1b6178870e605890ede"},{url:"math/jax/element/mml/optable/BasicLatin.js",revision:"cac9b2e71382e62270baa55fab07cc13"},{url:"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js",revision:"e3e5e4d5924beed29f0844550b5c8f46"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js",revision:"0767cbad7275b53da128e7e5e1109f7c"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js",revision:"346302a5c5ee00e01c302148c56dbfe3"},{url:"resources/dia.txt",revision:"6ac22c2dd7bf24f2ce4db6ea5cd82470"},{url:"resources/dia_am.txt",revision:"7b87288182abf40af0364ee000959b7b"},{url:"resources/dia_ar.txt",revision:"8cb02cb9d3740ac3306b963f060db29f"},{url:"resources/dia_bg.txt",revision:"c3fe70b41c1c99a3817f45a533f0d3d1"},{url:"resources/dia_bn.txt",revision:"50da78b0b7f2f65bdf25eabae73b3228"},{url:"resources/dia_bs.txt",revision:"568b22ef20ebfe162fce127fa9bcc6b5"},{url:"resources/dia_ca.txt",revision:"a4f3c89b030191d40999805696e6859b"},{url:"resources/dia_cs.txt",revision:"feebdfef9385384c37fbadd1a1a1b6c2"},{url:"resources/dia_da.txt",revision:"163d26afd66826247cf1553314ec70f5"},{url:"resources/dia_de.txt",revision:"9aa8d6e1d10659624519c88a7ad3e042"},{url:"resources/dia_el.txt",revision:"5289ac0ed78737231ca568be2c777d1a"},{url:"resources/dia_eo.txt",revision:"98e0cca265917fe115de548ca2c6d7a4"},{url:"resources/dia_es.txt",revision:"1a590b0b38299487e1267d440ba04350"},{url:"resources/dia_et.txt",revision:"bed7cfc8f949531f762ad86a225c15a2"},{url:"resources/dia_eu.txt",revision:"5186a4cce8e53bb454e4d539d1792b4d"},{url:"resources/dia_fa.txt",revision:"21e0279f46bcdd79063c06fcfc7b1120"},{url:"resources/dia_fi.txt",revision:"649cea556e9168919b0492f8565bac8b"},{url:"resources/dia_fil.txt",revision:"a717e0751e11dbb6502acfcc51c1a704"},{url:"resources/dia_fr.txt",revision:"4e6530553659158b0f55cc43ec46cc7e"},{url:"resources/dia_gl.txt",revision:"4fe5a563571d23001fb0dcd28dadcb32"},{url:"resources/dia_gu.txt",revision:"5eef301316f5945a700c13d1d96570ed"},{url:"resources/dia_he.txt",revision:"d13e2c3ec4f6f34948f874eda3d63a55"},{url:"resources/dia_hi.txt",revision:"65a2374e09cee44447e9462f3acb7f6a"},{url:"resources/dia_hr.txt",revision:"21626f14592c1b84ee28b058fcb74194"},{url:"resources/dia_hu.txt",revision:"1698e21cde2ed5f5b599429e5e68a8c4"},{url:"resources/dia_id.txt",revision:"a3af078b5bc5cd36df5368fb2604ed02"},{url:"resources/dia_it.txt",revision:"f3b29c577b79c37687f37c1b0748b9d1"},{url:"resources/dia_ja.txt",revision:"990f1ad82383245f1f9e37678a1c9bab"},{url:"resources/dia_kn.txt",revision:"836030c27dc0bb91a25ebcc722f2df41"},{url:"resources/dia_ko.txt",revision:"4a5032d2cad4be2a1815f7e29238664a"},{url:"resources/dia_lt.txt",revision:"d0a2bbb32c3d7d860c8c0385075407ee"},{url:"resources/dia_lv.txt",revision:"8cdfac8996f69486b99302eb0c01757a"},{url:"resources/dia_ml.txt",revision:"53f0f853779db48abc46023e507cb698"},{url:"resources/dia_mr.txt",revision:"4f3bffbf25b0d07a0946e77a288f40b9"},{url:"resources/dia_ms.txt",revision:"55d9c222689543ab6a091636d12dc92f"},{url:"resources/dia_my.txt",revision:"6ac22c2dd7bf24f2ce4db6ea5cd82470"},{url:"resources/dia_nl.txt",revision:"da45f841b898121c268b02e5cf0c0f5e"},{url:"resources/dia_no.txt",revision:"afa660c88bef1253c9827f857e3c2a99"},{url:"resources/dia_pl.txt",revision:"934cb78df740c1377b724cc68b28b436"},{url:"resources/dia_pt-br.txt",revision:"128c5640c8ea34d4e5296bbb2ef35db3"},{url:"resources/dia_pt.txt",revision:"1d30c678b01d010a0c8a5cf415fa68a0"},{url:"resources/dia_ro.txt",revision:"a90bf597059e90eff0d955d12058df23"},{url:"resources/dia_ru.txt",revision:"b225c1bd151294617e8d600181d9e44e"},{url:"resources/dia_si.txt",revision:"6ac22c2dd7bf24f2ce4db6ea5cd82470"},{url:"resources/dia_sk.txt",revision:"be785304786ae06fe6cdae4c029e5f28"},{url:"resources/dia_sl.txt",revision:"c3748f17f0775bdd539ed69a49acd1e1"},{url:"resources/dia_sr.txt",revision:"611506593ed67893a50c3a9000a12c79"},{url:"resources/dia_sv.txt",revision:"54157da886c9c17d4eb1fe9e3d195368"},{url:"resources/dia_sw.txt",revision:"0cd0148f07578cbac9dc4e2222277266"},{url:"resources/dia_ta.txt",revision:"79cb0ed533e753ae646f055fb75d25fc"},{url:"resources/dia_te.txt",revision:"305740ddcfe539071f9f65d844c13068"},{url:"resources/dia_th.txt",revision:"ffc4698dc2f34eb02bf02f3ac26c5c7e"},{url:"resources/dia_tr.txt",revision:"1092cea9e131780ae817c5c5915be3b6"},{url:"resources/dia_uk.txt",revision:"e1ab64d71b13935ef5ef05c09a8f95d9"},{url:"resources/dia_vi.txt",revision:"a9ead4c2e8460af1b127b7405dba35a3"},{url:"resources/dia_zh-tw.txt",revision:"28d610fd1f35a68bcc8a555fea09dc12"},{url:"resources/dia_zh.txt",revision:"f49748b5eb13dee86003c5f57aa628ff"},{url:"favicon.ico",revision:"fab2d88b37c72d83607527573de45281"},{url:"images/manifest.json",revision:"c6236bde53ed79aaaec60a1aca8ee2ef"},{url:"images/logo.png",revision:"89630b64b911ebe0daa3dfe442087cfa"},{url:"images/drawlogo.svg",revision:"4bf4d14ebcf072d8bd4c5a1c89e88fc6"},{url:"images/drawlogo48.png",revision:"8b13428373aca67b895364d025f42417"},{url:"images/drawlogo-gray.svg",revision:"0aabacbc0873816e1e09e4736ae44c7d"},{url:"images/drawlogo-text-bottom.svg",revision:"f6c438823ab31f290940bd4feb8dd9c2"},{url:"images/default-user.jpg",revision:"2c399696a87c8921f12d2f9e1990cc6e"},{url:"images/logo-flat-small.png",revision:"4b178e59ff499d6dd1894fc498b59877"},{url:"images/apple-touch-icon.png",revision:"73da7989a23ce9a4be565ec65658a239"},{url:"images/favicon-16x16.png",revision:"1a79d5461a5d2bf21f6652e0ac20d6e5"},{url:"images/favicon-32x32.png",revision:"e3b92da2febe70bad5372f6f3474b034"},{url:"images/android-chrome-196x196.png",revision:"f8c045b2d7b1c719fda64edab04c415c"},{url:"images/android-chrome-512x512.png",revision:"959b5fac2453963ff6d60fb85e4b73fd"},{url:"images/delete.png",revision:"5f2350f2fd20f1a229637aed32ed8f29"},{url:"images/droptarget.png",revision:"bbf7f563fb6784de1ce96f329519b043"},{url:"images/help.png",revision:"9266c6c3915bd33c243d80037d37bf61"},{url:"images/download.png",revision:"35418dd7bd48d87502c71b578cc6c37f"},{url:"images/logo-flat.png",revision:"038070ab43aee6e54a791211859fc67b"},{url:"images/google-drive-logo.svg",revision:"5d9f2f5bbc7dcc252730a0072bb23059"},{url:"images/onedrive-logo.svg",revision:"3645b344ec0634c1290dd58d7dc87b97"},{url:"images/dropbox-logo.svg",revision:"e6be408c77cf9c82d41ac64fa854280a"},{url:"images/github-logo.svg",revision:"a1a999b69a275eac0cb918360ac05ae1"},{url:"images/gitlab-logo.svg",revision:"0faea8c818899e58533e153c44b10517"},{url:"images/trello-logo.svg",revision:"006fd0d7d70d7e95dc691674cb12e044"},{url:"images/osa_drive-harddisk.png",revision:"b954e1ae772087c5b4c6ae797e1f9649"},{url:"images/osa_database.png",revision:"c350d9d9b95f37b6cfe798b40ede5fb0"},{url:"images/google-drive-logo-white.svg",revision:"f329d8b1be7778515a85b93fc35d9f26"},{url:"images/dropbox-logo-white.svg",revision:"4ea8299ac3bc31a16f199ee3aec223bf"},{url:"images/onedrive-logo-white.svg",revision:"b3602fa0fc947009cff3f33a581cff4d"},{url:"images/github-logo-white.svg",revision:"537b1127b3ca0f95b45782d1304fb77a"},{url:"images/gitlab-logo-white.svg",revision:"5fede9ac2f394c716b8c23e3fddc3910"},{url:"images/trello-logo-white-orange.svg",revision:"e2a0a52ba3766682f138138d10a75eb5"},{url:"images/logo-confluence.png",revision:"ed1e55d44ae5eba8f999aba2c93e8331"},{url:"images/logo-jira.png",revision:"f8d460555a0d1f87cfd901e940666629"},{url:"images/clear.gif",revision:"db13c778e4382e0b55258d0f811d5d70"},{url:"images/spin.gif",revision:"487cbb40b9ced439aa1ad914e816d773"},{url:"images/checkmark.gif",revision:"ba764ce62f2bf952df5bbc2bb4d381c5"},{url:"images/hs.png",revision:"fefa1a03d92ebad25c88dca94a0b63db"},{url:"images/aui-wait.gif",revision:"5a474bcbd8d2f2826f03d10ea44bf60e"},{url:"mxgraph/css/common.css",revision:"b5b7280ec98671bb6c3847a36bc7ea12"},{url:"mxgraph/images/expanded.gif",revision:"2b67c2c035af1e9a5cc814f0d22074cf"},{url:"mxgraph/images/collapsed.gif",revision:"73cc826da002a3d740ca4ce6ec5c1f4a"},{url:"mxgraph/images/maximize.gif",revision:"5cd13d6925493ab51e876694cc1c2ec2"},{url:"mxgraph/images/minimize.gif",revision:"8957741b9b0f86af9438775f2aadbb54"},{url:"mxgraph/images/close.gif",revision:"8b84669812ac7382984fca35de8da48b"},{url:"mxgraph/images/resize.gif",revision:"a6477612b3567a34033f9cac6184eed3"},{url:"mxgraph/images/separator.gif",revision:"7819742ff106c97da7a801c2372bbbe5"},{url:"mxgraph/images/window.gif",revision:"fd9a21dd4181f98052a202a0a01f18ab"},{url:"mxgraph/images/window-title.gif",revision:"3fb1d6c43246cdf991a11dfe826dfe99"},{url:"mxgraph/images/button.gif",revision:"00759bdc3ad218fa739f584369541809"},{url:"mxgraph/images/point.gif",revision:"83a43717b284902442620f61bc4e9fa6"}],{ignoreURLParametersMatching:[/.*/]})}));
+if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let i=Promise.resolve();return r[e]||(i=new Promise((async i=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=i}else importScripts(e),i()}))),i.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},i=(i,r)=>{Promise.all(i.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(i)};self.define=(i,a,c)=>{r[i]||(r[i]=Promise.resolve().then((()=>{let r={};const s={uri:location.origin+i.slice(1)};return Promise.all(a.map((i=>{switch(i){case"exports":return r;case"module":return s;default:return e(i)}}))).then((e=>{const i=c(...e);return r.default||(r.default=i),r}))})))}}define("./service-worker.js",["./workbox-dfbb910f"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"js/app.min.js",revision:"9e95d759c2ab233f0291ee64f0883a97"},{url:"js/extensions.min.js",revision:"44f4bd1a585836eb684bc07c94238837"},{url:"js/stencils.min.js",revision:"a4363c11e41442d41b1e073606f5566d"},{url:"js/shapes-14-6-5.min.js",revision:"ebce9c260798e9465fa3c3e3c1607d43"},{url:"js/math-print.js",revision:"9d98c920695f6c3395da4b68f723e60a"},{url:"index.html",revision:"9200e0815b5a48cae7db8f54f9604990"},{url:"open.html",revision:"d71816b3b00e769fc6019fcdd6921662"},{url:"styles/grapheditor.css",revision:"748da0cd0a068a52eac70ee2b2c194fe"},{url:"styles/atlas.css",revision:"e8152cda9233d3a3af017422993abfce"},{url:"styles/dark.css",revision:"3179f617dd02efd2cefeb8c06f965880"},{url:"js/croppie/croppie.min.css",revision:"fc297c9002c79c15a132f13ee3ec427e"},{url:"js/dropbox/Dropbox-sdk.min.js",revision:"4b9842892aa37b156db0a8364b7a83b0"},{url:"js/onedrive/OneDrive.js",revision:"505e8280346666f7ee801bc59521fa67"},{url:"js/viewer-static.min.js",revision:"84e1bc39fdde78a67118a1762f8c23de"},{url:"connect/jira/editor-1-3-3.html",revision:"a2b0e7267a08a838f3cc404eba831ec0"},{url:"connect/jira/viewerPanel-1-3-12.html",revision:"2ce6e99d95113e9ca6b24343cea202e0"},{url:"connect/jira/fullScreenViewer-1-3-3.html",revision:"ba7ece2dfb2833b72f97280d7092f25e"},{url:"connect/jira/viewerPanel.js",revision:"6e9412c359a21b86dc7c5128bf6208d4"},{url:"connect/jira/spinner.gif",revision:"7d857ab9d86123e93d74d48e958fe743"},{url:"connect/jira/editor.js",revision:"01caa325f3ad3f6565e0b4228907fb63"},{url:"connect/jira/fullscreen-viewer-init.js",revision:"197ed5837ed27992688fc424699a9a78"},{url:"connect/jira/fullscreen-viewer.js",revision:"4e0775a6c156a803e777870623ac7c3e"},{url:"plugins/connectJira.js",revision:"4cefa13414e0d406550f3c073923080c"},{url:"plugins/cConf-comments.js",revision:"c787357209cff2986dcca567b599e2ef"},{url:"plugins/cConf-1-4-8.js",revision:"d7577d8f21716423852c343f027c4c27"},{url:"connect/confluence/connectUtils-1-4-8.js",revision:"8f6c85460791915b01d83cd0a793effb"},{url:"connect/new_common/cac.js",revision:"3d8c436c566db645fb1e6e6ba9f69bbc"},{url:"connect/gdrive_common/gac.js",revision:"38f1df3ecc4d78290493f47e62202138"},{url:"connect/onedrive_common/ac.js",revision:"887d3ac605a7bb297067537e7c1f5686"},{url:"connect/confluence/viewer-init.js",revision:"4a60c6c805cab7bc782f1e52f7818d9f"},{url:"connect/confluence/viewer.js",revision:"d025b0929817299fa154f273525aa0ec"},{url:"connect/confluence/viewer-1-4-42.html",revision:"c7b38b3af4eb7a58ab6dc4791216530e"},{url:"connect/confluence/macroEditor-1-4-8.html",revision:"8cd74a2fb60bf2e3e86026d66107cf11"},{url:"connect/confluence/includeDiagram-1-4-8.js",revision:"8b670f4b6ccde55358851da705ae884f"},{url:"connect/confluence/includeDiagram.html",revision:"c03c89622d22227313645900af4e3c3d"},{url:"connect/confluence/macro-editor.js",revision:"e273a48b8e81faac4530bf1a68d75aa0"},{url:"math/MathJax.js",revision:"b2c103388b71bb3d11cbf9aa45fe9b68"},{url:"math/config/TeX-MML-AM_SVG-full.js",revision:"d5cb8ac04050983170ae4af145bc66ff"},{url:"math/jax/output/SVG/fonts/TeX/fontdata.js",revision:"495e5a410955d1b6178870e605890ede"},{url:"math/jax/element/mml/optable/BasicLatin.js",revision:"cac9b2e71382e62270baa55fab07cc13"},{url:"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js",revision:"e3e5e4d5924beed29f0844550b5c8f46"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js",revision:"0767cbad7275b53da128e7e5e1109f7c"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js",revision:"346302a5c5ee00e01c302148c56dbfe3"},{url:"resources/dia.txt",revision:"6ac22c2dd7bf24f2ce4db6ea5cd82470"},{url:"resources/dia_am.txt",revision:"7b87288182abf40af0364ee000959b7b"},{url:"resources/dia_ar.txt",revision:"0ab712083c7e9e5fe881c37250074d4c"},{url:"resources/dia_bg.txt",revision:"c3fe70b41c1c99a3817f45a533f0d3d1"},{url:"resources/dia_bn.txt",revision:"50da78b0b7f2f65bdf25eabae73b3228"},{url:"resources/dia_bs.txt",revision:"568b22ef20ebfe162fce127fa9bcc6b5"},{url:"resources/dia_ca.txt",revision:"a4f3c89b030191d40999805696e6859b"},{url:"resources/dia_cs.txt",revision:"feebdfef9385384c37fbadd1a1a1b6c2"},{url:"resources/dia_da.txt",revision:"163d26afd66826247cf1553314ec70f5"},{url:"resources/dia_de.txt",revision:"9aa8d6e1d10659624519c88a7ad3e042"},{url:"resources/dia_el.txt",revision:"5289ac0ed78737231ca568be2c777d1a"},{url:"resources/dia_eo.txt",revision:"98e0cca265917fe115de548ca2c6d7a4"},{url:"resources/dia_es.txt",revision:"1a590b0b38299487e1267d440ba04350"},{url:"resources/dia_et.txt",revision:"bed7cfc8f949531f762ad86a225c15a2"},{url:"resources/dia_eu.txt",revision:"1d65da41d45cf45dfb81d13f360d7193"},{url:"resources/dia_fa.txt",revision:"21e0279f46bcdd79063c06fcfc7b1120"},{url:"resources/dia_fi.txt",revision:"649cea556e9168919b0492f8565bac8b"},{url:"resources/dia_fil.txt",revision:"a717e0751e11dbb6502acfcc51c1a704"},{url:"resources/dia_fr.txt",revision:"4e6530553659158b0f55cc43ec46cc7e"},{url:"resources/dia_gl.txt",revision:"4fe5a563571d23001fb0dcd28dadcb32"},{url:"resources/dia_gu.txt",revision:"5eef301316f5945a700c13d1d96570ed"},{url:"resources/dia_he.txt",revision:"d13e2c3ec4f6f34948f874eda3d63a55"},{url:"resources/dia_hi.txt",revision:"65a2374e09cee44447e9462f3acb7f6a"},{url:"resources/dia_hr.txt",revision:"21626f14592c1b84ee28b058fcb74194"},{url:"resources/dia_hu.txt",revision:"1698e21cde2ed5f5b599429e5e68a8c4"},{url:"resources/dia_id.txt",revision:"a3af078b5bc5cd36df5368fb2604ed02"},{url:"resources/dia_it.txt",revision:"1330d09037dddd6e5aa3d4843168b88b"},{url:"resources/dia_ja.txt",revision:"990f1ad82383245f1f9e37678a1c9bab"},{url:"resources/dia_kn.txt",revision:"836030c27dc0bb91a25ebcc722f2df41"},{url:"resources/dia_ko.txt",revision:"4a5032d2cad4be2a1815f7e29238664a"},{url:"resources/dia_lt.txt",revision:"d0a2bbb32c3d7d860c8c0385075407ee"},{url:"resources/dia_lv.txt",revision:"8cdfac8996f69486b99302eb0c01757a"},{url:"resources/dia_ml.txt",revision:"53f0f853779db48abc46023e507cb698"},{url:"resources/dia_mr.txt",revision:"4f3bffbf25b0d07a0946e77a288f40b9"},{url:"resources/dia_ms.txt",revision:"55d9c222689543ab6a091636d12dc92f"},{url:"resources/dia_my.txt",revision:"6ac22c2dd7bf24f2ce4db6ea5cd82470"},{url:"resources/dia_nl.txt",revision:"da45f841b898121c268b02e5cf0c0f5e"},{url:"resources/dia_no.txt",revision:"afa660c88bef1253c9827f857e3c2a99"},{url:"resources/dia_pl.txt",revision:"934cb78df740c1377b724cc68b28b436"},{url:"resources/dia_pt-br.txt",revision:"128c5640c8ea34d4e5296bbb2ef35db3"},{url:"resources/dia_pt.txt",revision:"1d30c678b01d010a0c8a5cf415fa68a0"},{url:"resources/dia_ro.txt",revision:"a90bf597059e90eff0d955d12058df23"},{url:"resources/dia_ru.txt",revision:"b225c1bd151294617e8d600181d9e44e"},{url:"resources/dia_si.txt",revision:"6ac22c2dd7bf24f2ce4db6ea5cd82470"},{url:"resources/dia_sk.txt",revision:"be785304786ae06fe6cdae4c029e5f28"},{url:"resources/dia_sl.txt",revision:"c3748f17f0775bdd539ed69a49acd1e1"},{url:"resources/dia_sr.txt",revision:"611506593ed67893a50c3a9000a12c79"},{url:"resources/dia_sv.txt",revision:"54157da886c9c17d4eb1fe9e3d195368"},{url:"resources/dia_sw.txt",revision:"0cd0148f07578cbac9dc4e2222277266"},{url:"resources/dia_ta.txt",revision:"79cb0ed533e753ae646f055fb75d25fc"},{url:"resources/dia_te.txt",revision:"305740ddcfe539071f9f65d844c13068"},{url:"resources/dia_th.txt",revision:"ffc4698dc2f34eb02bf02f3ac26c5c7e"},{url:"resources/dia_tr.txt",revision:"1092cea9e131780ae817c5c5915be3b6"},{url:"resources/dia_uk.txt",revision:"e1ab64d71b13935ef5ef05c09a8f95d9"},{url:"resources/dia_vi.txt",revision:"a9ead4c2e8460af1b127b7405dba35a3"},{url:"resources/dia_zh-tw.txt",revision:"28d610fd1f35a68bcc8a555fea09dc12"},{url:"resources/dia_zh.txt",revision:"f49748b5eb13dee86003c5f57aa628ff"},{url:"favicon.ico",revision:"fab2d88b37c72d83607527573de45281"},{url:"images/manifest.json",revision:"c6236bde53ed79aaaec60a1aca8ee2ef"},{url:"images/logo.png",revision:"89630b64b911ebe0daa3dfe442087cfa"},{url:"images/drawlogo.svg",revision:"4bf4d14ebcf072d8bd4c5a1c89e88fc6"},{url:"images/drawlogo48.png",revision:"8b13428373aca67b895364d025f42417"},{url:"images/drawlogo-gray.svg",revision:"0aabacbc0873816e1e09e4736ae44c7d"},{url:"images/drawlogo-text-bottom.svg",revision:"f6c438823ab31f290940bd4feb8dd9c2"},{url:"images/default-user.jpg",revision:"2c399696a87c8921f12d2f9e1990cc6e"},{url:"images/logo-flat-small.png",revision:"4b178e59ff499d6dd1894fc498b59877"},{url:"images/apple-touch-icon.png",revision:"73da7989a23ce9a4be565ec65658a239"},{url:"images/favicon-16x16.png",revision:"1a79d5461a5d2bf21f6652e0ac20d6e5"},{url:"images/favicon-32x32.png",revision:"e3b92da2febe70bad5372f6f3474b034"},{url:"images/android-chrome-196x196.png",revision:"f8c045b2d7b1c719fda64edab04c415c"},{url:"images/android-chrome-512x512.png",revision:"959b5fac2453963ff6d60fb85e4b73fd"},{url:"images/delete.png",revision:"5f2350f2fd20f1a229637aed32ed8f29"},{url:"images/droptarget.png",revision:"bbf7f563fb6784de1ce96f329519b043"},{url:"images/help.png",revision:"9266c6c3915bd33c243d80037d37bf61"},{url:"images/download.png",revision:"35418dd7bd48d87502c71b578cc6c37f"},{url:"images/logo-flat.png",revision:"038070ab43aee6e54a791211859fc67b"},{url:"images/google-drive-logo.svg",revision:"5d9f2f5bbc7dcc252730a0072bb23059"},{url:"images/onedrive-logo.svg",revision:"3645b344ec0634c1290dd58d7dc87b97"},{url:"images/dropbox-logo.svg",revision:"e6be408c77cf9c82d41ac64fa854280a"},{url:"images/github-logo.svg",revision:"a1a999b69a275eac0cb918360ac05ae1"},{url:"images/gitlab-logo.svg",revision:"0faea8c818899e58533e153c44b10517"},{url:"images/trello-logo.svg",revision:"006fd0d7d70d7e95dc691674cb12e044"},{url:"images/osa_drive-harddisk.png",revision:"b954e1ae772087c5b4c6ae797e1f9649"},{url:"images/osa_database.png",revision:"c350d9d9b95f37b6cfe798b40ede5fb0"},{url:"images/google-drive-logo-white.svg",revision:"f329d8b1be7778515a85b93fc35d9f26"},{url:"images/dropbox-logo-white.svg",revision:"4ea8299ac3bc31a16f199ee3aec223bf"},{url:"images/onedrive-logo-white.svg",revision:"b3602fa0fc947009cff3f33a581cff4d"},{url:"images/github-logo-white.svg",revision:"537b1127b3ca0f95b45782d1304fb77a"},{url:"images/gitlab-logo-white.svg",revision:"5fede9ac2f394c716b8c23e3fddc3910"},{url:"images/trello-logo-white-orange.svg",revision:"e2a0a52ba3766682f138138d10a75eb5"},{url:"images/logo-confluence.png",revision:"ed1e55d44ae5eba8f999aba2c93e8331"},{url:"images/logo-jira.png",revision:"f8d460555a0d1f87cfd901e940666629"},{url:"images/clear.gif",revision:"db13c778e4382e0b55258d0f811d5d70"},{url:"images/spin.gif",revision:"487cbb40b9ced439aa1ad914e816d773"},{url:"images/checkmark.gif",revision:"ba764ce62f2bf952df5bbc2bb4d381c5"},{url:"images/hs.png",revision:"fefa1a03d92ebad25c88dca94a0b63db"},{url:"images/aui-wait.gif",revision:"5a474bcbd8d2f2826f03d10ea44bf60e"},{url:"mxgraph/css/common.css",revision:"b5b7280ec98671bb6c3847a36bc7ea12"},{url:"mxgraph/images/expanded.gif",revision:"2b67c2c035af1e9a5cc814f0d22074cf"},{url:"mxgraph/images/collapsed.gif",revision:"73cc826da002a3d740ca4ce6ec5c1f4a"},{url:"mxgraph/images/maximize.gif",revision:"5cd13d6925493ab51e876694cc1c2ec2"},{url:"mxgraph/images/minimize.gif",revision:"8957741b9b0f86af9438775f2aadbb54"},{url:"mxgraph/images/close.gif",revision:"8b84669812ac7382984fca35de8da48b"},{url:"mxgraph/images/resize.gif",revision:"a6477612b3567a34033f9cac6184eed3"},{url:"mxgraph/images/separator.gif",revision:"7819742ff106c97da7a801c2372bbbe5"},{url:"mxgraph/images/window.gif",revision:"fd9a21dd4181f98052a202a0a01f18ab"},{url:"mxgraph/images/window-title.gif",revision:"3fb1d6c43246cdf991a11dfe826dfe99"},{url:"mxgraph/images/button.gif",revision:"00759bdc3ad218fa739f584369541809"},{url:"mxgraph/images/point.gif",revision:"83a43717b284902442620f61bc4e9fa6"}],{ignoreURLParametersMatching:[/.*/]})}));
//# sourceMappingURL=service-worker.js.map
diff --git a/src/main/webapp/service-worker.js.map b/src/main/webapp/service-worker.js.map
index bf7e6393..e4ff4ebe 100644
--- a/src/main/webapp/service-worker.js.map
+++ b/src/main/webapp/service-worker.js.map
@@ -1 +1 @@
-{"version":3,"file":"service-worker.js","sources":["../../../../../../../tmp/af04eaf76617cc5c9b8e97e26eef551b/service-worker.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/opt/hostedtoolcache/node/14.18.2/x64/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"js/app.min.js\",\n \"revision\": \"953b6bc9958b5f3822bd4274508d8437\"\n },\n {\n \"url\": \"js/extensions.min.js\",\n \"revision\": \"44f4bd1a585836eb684bc07c94238837\"\n },\n {\n \"url\": \"js/stencils.min.js\",\n \"revision\": \"a4363c11e41442d41b1e073606f5566d\"\n },\n {\n \"url\": \"js/shapes-14-6-5.min.js\",\n \"revision\": \"ebce9c260798e9465fa3c3e3c1607d43\"\n },\n {\n \"url\": \"js/math-print.js\",\n \"revision\": \"9d98c920695f6c3395da4b68f723e60a\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"9200e0815b5a48cae7db8f54f9604990\"\n },\n {\n \"url\": \"open.html\",\n \"revision\": \"d71816b3b00e769fc6019fcdd6921662\"\n },\n {\n \"url\": \"styles/grapheditor.css\",\n \"revision\": \"748da0cd0a068a52eac70ee2b2c194fe\"\n },\n {\n \"url\": \"styles/atlas.css\",\n \"revision\": \"e8152cda9233d3a3af017422993abfce\"\n },\n {\n \"url\": \"styles/dark.css\",\n \"revision\": \"3179f617dd02efd2cefeb8c06f965880\"\n },\n {\n \"url\": \"js/croppie/croppie.min.css\",\n \"revision\": \"fc297c9002c79c15a132f13ee3ec427e\"\n },\n {\n \"url\": \"js/dropbox/Dropbox-sdk.min.js\",\n \"revision\": \"4b9842892aa37b156db0a8364b7a83b0\"\n },\n {\n \"url\": \"js/onedrive/OneDrive.js\",\n \"revision\": \"505e8280346666f7ee801bc59521fa67\"\n },\n {\n \"url\": \"js/viewer-static.min.js\",\n \"revision\": \"c9678257a127910f35e8bb84e7145019\"\n },\n {\n \"url\": \"connect/jira/editor-1-3-3.html\",\n \"revision\": \"a2b0e7267a08a838f3cc404eba831ec0\"\n },\n {\n \"url\": \"connect/jira/viewerPanel-1-3-12.html\",\n \"revision\": \"2ce6e99d95113e9ca6b24343cea202e0\"\n },\n {\n \"url\": \"connect/jira/fullScreenViewer-1-3-3.html\",\n \"revision\": \"ba7ece2dfb2833b72f97280d7092f25e\"\n },\n {\n \"url\": \"connect/jira/viewerPanel.js\",\n \"revision\": \"6e9412c359a21b86dc7c5128bf6208d4\"\n },\n {\n \"url\": \"connect/jira/spinner.gif\",\n \"revision\": \"7d857ab9d86123e93d74d48e958fe743\"\n },\n {\n \"url\": \"connect/jira/editor.js\",\n \"revision\": \"01caa325f3ad3f6565e0b4228907fb63\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer-init.js\",\n \"revision\": \"197ed5837ed27992688fc424699a9a78\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer.js\",\n \"revision\": \"4e0775a6c156a803e777870623ac7c3e\"\n },\n {\n \"url\": \"plugins/connectJira.js\",\n \"revision\": \"4cefa13414e0d406550f3c073923080c\"\n },\n {\n \"url\": \"plugins/cConf-comments.js\",\n \"revision\": \"c787357209cff2986dcca567b599e2ef\"\n },\n {\n \"url\": \"plugins/cConf-1-4-8.js\",\n \"revision\": \"d7577d8f21716423852c343f027c4c27\"\n },\n {\n \"url\": \"connect/confluence/connectUtils-1-4-8.js\",\n \"revision\": \"8f6c85460791915b01d83cd0a793effb\"\n },\n {\n \"url\": \"connect/new_common/cac.js\",\n \"revision\": \"3d8c436c566db645fb1e6e6ba9f69bbc\"\n },\n {\n \"url\": \"connect/gdrive_common/gac.js\",\n \"revision\": \"38f1df3ecc4d78290493f47e62202138\"\n },\n {\n \"url\": \"connect/onedrive_common/ac.js\",\n \"revision\": \"887d3ac605a7bb297067537e7c1f5686\"\n },\n {\n \"url\": \"connect/confluence/viewer-init.js\",\n \"revision\": \"4a60c6c805cab7bc782f1e52f7818d9f\"\n },\n {\n \"url\": \"connect/confluence/viewer.js\",\n \"revision\": \"d025b0929817299fa154f273525aa0ec\"\n },\n {\n \"url\": \"connect/confluence/viewer-1-4-42.html\",\n \"revision\": \"c7b38b3af4eb7a58ab6dc4791216530e\"\n },\n {\n \"url\": \"connect/confluence/macroEditor-1-4-8.html\",\n \"revision\": \"8cd74a2fb60bf2e3e86026d66107cf11\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram-1-4-8.js\",\n \"revision\": \"8b670f4b6ccde55358851da705ae884f\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram.html\",\n \"revision\": \"c03c89622d22227313645900af4e3c3d\"\n },\n {\n \"url\": \"connect/confluence/macro-editor.js\",\n \"revision\": \"e273a48b8e81faac4530bf1a68d75aa0\"\n },\n {\n \"url\": \"math/MathJax.js\",\n \"revision\": \"b2c103388b71bb3d11cbf9aa45fe9b68\"\n },\n {\n \"url\": \"math/config/TeX-MML-AM_SVG-full.js\",\n \"revision\": \"d5cb8ac04050983170ae4af145bc66ff\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/fontdata.js\",\n \"revision\": \"495e5a410955d1b6178870e605890ede\"\n },\n {\n \"url\": \"math/jax/element/mml/optable/BasicLatin.js\",\n \"revision\": \"cac9b2e71382e62270baa55fab07cc13\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js\",\n \"revision\": \"e3e5e4d5924beed29f0844550b5c8f46\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js\",\n \"revision\": \"0767cbad7275b53da128e7e5e1109f7c\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js\",\n \"revision\": \"346302a5c5ee00e01c302148c56dbfe3\"\n },\n {\n \"url\": \"resources/dia.txt\",\n \"revision\": \"6ac22c2dd7bf24f2ce4db6ea5cd82470\"\n },\n {\n \"url\": \"resources/dia_am.txt\",\n \"revision\": \"7b87288182abf40af0364ee000959b7b\"\n },\n {\n \"url\": \"resources/dia_ar.txt\",\n \"revision\": \"8cb02cb9d3740ac3306b963f060db29f\"\n },\n {\n \"url\": \"resources/dia_bg.txt\",\n \"revision\": \"c3fe70b41c1c99a3817f45a533f0d3d1\"\n },\n {\n \"url\": \"resources/dia_bn.txt\",\n \"revision\": \"50da78b0b7f2f65bdf25eabae73b3228\"\n },\n {\n \"url\": \"resources/dia_bs.txt\",\n \"revision\": \"568b22ef20ebfe162fce127fa9bcc6b5\"\n },\n {\n \"url\": \"resources/dia_ca.txt\",\n \"revision\": \"a4f3c89b030191d40999805696e6859b\"\n },\n {\n \"url\": \"resources/dia_cs.txt\",\n \"revision\": \"feebdfef9385384c37fbadd1a1a1b6c2\"\n },\n {\n \"url\": \"resources/dia_da.txt\",\n \"revision\": \"163d26afd66826247cf1553314ec70f5\"\n },\n {\n \"url\": \"resources/dia_de.txt\",\n \"revision\": \"9aa8d6e1d10659624519c88a7ad3e042\"\n },\n {\n \"url\": \"resources/dia_el.txt\",\n \"revision\": \"5289ac0ed78737231ca568be2c777d1a\"\n },\n {\n \"url\": \"resources/dia_eo.txt\",\n \"revision\": \"98e0cca265917fe115de548ca2c6d7a4\"\n },\n {\n \"url\": \"resources/dia_es.txt\",\n \"revision\": \"1a590b0b38299487e1267d440ba04350\"\n },\n {\n \"url\": \"resources/dia_et.txt\",\n \"revision\": \"bed7cfc8f949531f762ad86a225c15a2\"\n },\n {\n \"url\": \"resources/dia_eu.txt\",\n \"revision\": \"5186a4cce8e53bb454e4d539d1792b4d\"\n },\n {\n \"url\": \"resources/dia_fa.txt\",\n \"revision\": \"21e0279f46bcdd79063c06fcfc7b1120\"\n },\n {\n \"url\": \"resources/dia_fi.txt\",\n \"revision\": \"649cea556e9168919b0492f8565bac8b\"\n },\n {\n \"url\": \"resources/dia_fil.txt\",\n \"revision\": \"a717e0751e11dbb6502acfcc51c1a704\"\n },\n {\n \"url\": \"resources/dia_fr.txt\",\n \"revision\": \"4e6530553659158b0f55cc43ec46cc7e\"\n },\n {\n \"url\": \"resources/dia_gl.txt\",\n \"revision\": \"4fe5a563571d23001fb0dcd28dadcb32\"\n },\n {\n \"url\": \"resources/dia_gu.txt\",\n \"revision\": \"5eef301316f5945a700c13d1d96570ed\"\n },\n {\n \"url\": \"resources/dia_he.txt\",\n \"revision\": \"d13e2c3ec4f6f34948f874eda3d63a55\"\n },\n {\n \"url\": \"resources/dia_hi.txt\",\n \"revision\": \"65a2374e09cee44447e9462f3acb7f6a\"\n },\n {\n \"url\": \"resources/dia_hr.txt\",\n \"revision\": \"21626f14592c1b84ee28b058fcb74194\"\n },\n {\n \"url\": \"resources/dia_hu.txt\",\n \"revision\": \"1698e21cde2ed5f5b599429e5e68a8c4\"\n },\n {\n \"url\": \"resources/dia_id.txt\",\n \"revision\": \"a3af078b5bc5cd36df5368fb2604ed02\"\n },\n {\n \"url\": \"resources/dia_it.txt\",\n \"revision\": \"f3b29c577b79c37687f37c1b0748b9d1\"\n },\n {\n \"url\": \"resources/dia_ja.txt\",\n \"revision\": \"990f1ad82383245f1f9e37678a1c9bab\"\n },\n {\n \"url\": \"resources/dia_kn.txt\",\n \"revision\": \"836030c27dc0bb91a25ebcc722f2df41\"\n },\n {\n \"url\": \"resources/dia_ko.txt\",\n \"revision\": \"4a5032d2cad4be2a1815f7e29238664a\"\n },\n {\n \"url\": \"resources/dia_lt.txt\",\n \"revision\": \"d0a2bbb32c3d7d860c8c0385075407ee\"\n },\n {\n \"url\": \"resources/dia_lv.txt\",\n \"revision\": \"8cdfac8996f69486b99302eb0c01757a\"\n },\n {\n \"url\": \"resources/dia_ml.txt\",\n \"revision\": \"53f0f853779db48abc46023e507cb698\"\n },\n {\n \"url\": \"resources/dia_mr.txt\",\n \"revision\": \"4f3bffbf25b0d07a0946e77a288f40b9\"\n },\n {\n \"url\": \"resources/dia_ms.txt\",\n \"revision\": \"55d9c222689543ab6a091636d12dc92f\"\n },\n {\n \"url\": \"resources/dia_my.txt\",\n \"revision\": \"6ac22c2dd7bf24f2ce4db6ea5cd82470\"\n },\n {\n \"url\": \"resources/dia_nl.txt\",\n \"revision\": \"da45f841b898121c268b02e5cf0c0f5e\"\n },\n {\n \"url\": \"resources/dia_no.txt\",\n \"revision\": \"afa660c88bef1253c9827f857e3c2a99\"\n },\n {\n \"url\": \"resources/dia_pl.txt\",\n \"revision\": \"934cb78df740c1377b724cc68b28b436\"\n },\n {\n \"url\": \"resources/dia_pt-br.txt\",\n \"revision\": \"128c5640c8ea34d4e5296bbb2ef35db3\"\n },\n {\n \"url\": \"resources/dia_pt.txt\",\n \"revision\": \"1d30c678b01d010a0c8a5cf415fa68a0\"\n },\n {\n \"url\": \"resources/dia_ro.txt\",\n \"revision\": \"a90bf597059e90eff0d955d12058df23\"\n },\n {\n \"url\": \"resources/dia_ru.txt\",\n \"revision\": \"b225c1bd151294617e8d600181d9e44e\"\n },\n {\n \"url\": \"resources/dia_si.txt\",\n \"revision\": \"6ac22c2dd7bf24f2ce4db6ea5cd82470\"\n },\n {\n \"url\": \"resources/dia_sk.txt\",\n \"revision\": \"be785304786ae06fe6cdae4c029e5f28\"\n },\n {\n \"url\": \"resources/dia_sl.txt\",\n \"revision\": \"c3748f17f0775bdd539ed69a49acd1e1\"\n },\n {\n \"url\": \"resources/dia_sr.txt\",\n \"revision\": \"611506593ed67893a50c3a9000a12c79\"\n },\n {\n \"url\": \"resources/dia_sv.txt\",\n \"revision\": \"54157da886c9c17d4eb1fe9e3d195368\"\n },\n {\n \"url\": \"resources/dia_sw.txt\",\n \"revision\": \"0cd0148f07578cbac9dc4e2222277266\"\n },\n {\n \"url\": \"resources/dia_ta.txt\",\n \"revision\": \"79cb0ed533e753ae646f055fb75d25fc\"\n },\n {\n \"url\": \"resources/dia_te.txt\",\n \"revision\": \"305740ddcfe539071f9f65d844c13068\"\n },\n {\n \"url\": \"resources/dia_th.txt\",\n \"revision\": \"ffc4698dc2f34eb02bf02f3ac26c5c7e\"\n },\n {\n \"url\": \"resources/dia_tr.txt\",\n \"revision\": \"1092cea9e131780ae817c5c5915be3b6\"\n },\n {\n \"url\": \"resources/dia_uk.txt\",\n \"revision\": \"e1ab64d71b13935ef5ef05c09a8f95d9\"\n },\n {\n \"url\": \"resources/dia_vi.txt\",\n \"revision\": \"a9ead4c2e8460af1b127b7405dba35a3\"\n },\n {\n \"url\": \"resources/dia_zh-tw.txt\",\n \"revision\": \"28d610fd1f35a68bcc8a555fea09dc12\"\n },\n {\n \"url\": \"resources/dia_zh.txt\",\n \"revision\": \"f49748b5eb13dee86003c5f57aa628ff\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"fab2d88b37c72d83607527573de45281\"\n },\n {\n \"url\": \"images/manifest.json\",\n \"revision\": \"c6236bde53ed79aaaec60a1aca8ee2ef\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"89630b64b911ebe0daa3dfe442087cfa\"\n },\n {\n \"url\": \"images/drawlogo.svg\",\n \"revision\": \"4bf4d14ebcf072d8bd4c5a1c89e88fc6\"\n },\n {\n \"url\": \"images/drawlogo48.png\",\n \"revision\": \"8b13428373aca67b895364d025f42417\"\n },\n {\n \"url\": \"images/drawlogo-gray.svg\",\n \"revision\": \"0aabacbc0873816e1e09e4736ae44c7d\"\n },\n {\n \"url\": \"images/drawlogo-text-bottom.svg\",\n \"revision\": \"f6c438823ab31f290940bd4feb8dd9c2\"\n },\n {\n \"url\": \"images/default-user.jpg\",\n \"revision\": \"2c399696a87c8921f12d2f9e1990cc6e\"\n },\n {\n \"url\": \"images/logo-flat-small.png\",\n \"revision\": \"4b178e59ff499d6dd1894fc498b59877\"\n },\n {\n \"url\": \"images/apple-touch-icon.png\",\n \"revision\": \"73da7989a23ce9a4be565ec65658a239\"\n },\n {\n \"url\": \"images/favicon-16x16.png\",\n \"revision\": \"1a79d5461a5d2bf21f6652e0ac20d6e5\"\n },\n {\n \"url\": \"images/favicon-32x32.png\",\n \"revision\": \"e3b92da2febe70bad5372f6f3474b034\"\n },\n {\n \"url\": \"images/android-chrome-196x196.png\",\n \"revision\": \"f8c045b2d7b1c719fda64edab04c415c\"\n },\n {\n \"url\": \"images/android-chrome-512x512.png\",\n \"revision\": \"959b5fac2453963ff6d60fb85e4b73fd\"\n },\n {\n \"url\": \"images/delete.png\",\n \"revision\": \"5f2350f2fd20f1a229637aed32ed8f29\"\n },\n {\n \"url\": \"images/droptarget.png\",\n \"revision\": \"bbf7f563fb6784de1ce96f329519b043\"\n },\n {\n \"url\": \"images/help.png\",\n \"revision\": \"9266c6c3915bd33c243d80037d37bf61\"\n },\n {\n \"url\": \"images/download.png\",\n \"revision\": \"35418dd7bd48d87502c71b578cc6c37f\"\n },\n {\n \"url\": \"images/logo-flat.png\",\n \"revision\": \"038070ab43aee6e54a791211859fc67b\"\n },\n {\n \"url\": \"images/google-drive-logo.svg\",\n \"revision\": \"5d9f2f5bbc7dcc252730a0072bb23059\"\n },\n {\n \"url\": \"images/onedrive-logo.svg\",\n \"revision\": \"3645b344ec0634c1290dd58d7dc87b97\"\n },\n {\n \"url\": \"images/dropbox-logo.svg\",\n \"revision\": \"e6be408c77cf9c82d41ac64fa854280a\"\n },\n {\n \"url\": \"images/github-logo.svg\",\n \"revision\": \"a1a999b69a275eac0cb918360ac05ae1\"\n },\n {\n \"url\": \"images/gitlab-logo.svg\",\n \"revision\": \"0faea8c818899e58533e153c44b10517\"\n },\n {\n \"url\": \"images/trello-logo.svg\",\n \"revision\": \"006fd0d7d70d7e95dc691674cb12e044\"\n },\n {\n \"url\": \"images/osa_drive-harddisk.png\",\n \"revision\": \"b954e1ae772087c5b4c6ae797e1f9649\"\n },\n {\n \"url\": \"images/osa_database.png\",\n \"revision\": \"c350d9d9b95f37b6cfe798b40ede5fb0\"\n },\n {\n \"url\": \"images/google-drive-logo-white.svg\",\n \"revision\": \"f329d8b1be7778515a85b93fc35d9f26\"\n },\n {\n \"url\": \"images/dropbox-logo-white.svg\",\n \"revision\": \"4ea8299ac3bc31a16f199ee3aec223bf\"\n },\n {\n \"url\": \"images/onedrive-logo-white.svg\",\n \"revision\": \"b3602fa0fc947009cff3f33a581cff4d\"\n },\n {\n \"url\": \"images/github-logo-white.svg\",\n \"revision\": \"537b1127b3ca0f95b45782d1304fb77a\"\n },\n {\n \"url\": \"images/gitlab-logo-white.svg\",\n \"revision\": \"5fede9ac2f394c716b8c23e3fddc3910\"\n },\n {\n \"url\": \"images/trello-logo-white-orange.svg\",\n \"revision\": \"e2a0a52ba3766682f138138d10a75eb5\"\n },\n {\n \"url\": \"images/logo-confluence.png\",\n \"revision\": \"ed1e55d44ae5eba8f999aba2c93e8331\"\n },\n {\n \"url\": \"images/logo-jira.png\",\n \"revision\": \"f8d460555a0d1f87cfd901e940666629\"\n },\n {\n \"url\": \"images/clear.gif\",\n \"revision\": \"db13c778e4382e0b55258d0f811d5d70\"\n },\n {\n \"url\": \"images/spin.gif\",\n \"revision\": \"487cbb40b9ced439aa1ad914e816d773\"\n },\n {\n \"url\": \"images/checkmark.gif\",\n \"revision\": \"ba764ce62f2bf952df5bbc2bb4d381c5\"\n },\n {\n \"url\": \"images/hs.png\",\n \"revision\": \"fefa1a03d92ebad25c88dca94a0b63db\"\n },\n {\n \"url\": \"images/aui-wait.gif\",\n \"revision\": \"5a474bcbd8d2f2826f03d10ea44bf60e\"\n },\n {\n \"url\": \"mxgraph/css/common.css\",\n \"revision\": \"b5b7280ec98671bb6c3847a36bc7ea12\"\n },\n {\n \"url\": \"mxgraph/images/expanded.gif\",\n \"revision\": \"2b67c2c035af1e9a5cc814f0d22074cf\"\n },\n {\n \"url\": \"mxgraph/images/collapsed.gif\",\n \"revision\": \"73cc826da002a3d740ca4ce6ec5c1f4a\"\n },\n {\n \"url\": \"mxgraph/images/maximize.gif\",\n \"revision\": \"5cd13d6925493ab51e876694cc1c2ec2\"\n },\n {\n \"url\": \"mxgraph/images/minimize.gif\",\n \"revision\": \"8957741b9b0f86af9438775f2aadbb54\"\n },\n {\n \"url\": \"mxgraph/images/close.gif\",\n \"revision\": \"8b84669812ac7382984fca35de8da48b\"\n },\n {\n \"url\": \"mxgraph/images/resize.gif\",\n \"revision\": \"a6477612b3567a34033f9cac6184eed3\"\n },\n {\n \"url\": \"mxgraph/images/separator.gif\",\n \"revision\": \"7819742ff106c97da7a801c2372bbbe5\"\n },\n {\n \"url\": \"mxgraph/images/window.gif\",\n \"revision\": \"fd9a21dd4181f98052a202a0a01f18ab\"\n },\n {\n \"url\": \"mxgraph/images/window-title.gif\",\n \"revision\": \"3fb1d6c43246cdf991a11dfe826dfe99\"\n },\n {\n \"url\": \"mxgraph/images/button.gif\",\n \"revision\": \"00759bdc3ad218fa739f584369541809\"\n },\n {\n \"url\": \"mxgraph/images/point.gif\",\n \"revision\": \"83a43717b284902442620f61bc4e9fa6\"\n }\n], {\n \"ignoreURLParametersMatching\": [/.*/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting"],"mappings":"szBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,oCAY2B,CAClC,KACS,yBACK,oCAEd,KACS,gCACK,oCAEd,KACS,8BACK,oCAEd,KACS,mCACK,oCAEd,KACS,4BACK,oCAEd,KACS,sBACK,oCAEd,KACS,qBACK,oCAEd,KACS,kCACK,oCAEd,KACS,4BACK,oCAEd,KACS,2BACK,oCAEd,KACS,sCACK,oCAEd,KACS,yCACK,oCAEd,KACS,mCACK,oCAEd,KACS,mCACK,oCAEd,KACS,0CACK,oCAEd,KACS,gDACK,oCAEd,KACS,oDACK,oCAEd,KACS,uCACK,oCAEd,KACS,oCACK,oCAEd,KACS,kCACK,oCAEd,KACS,kDACK,oCAEd,KACS,6CACK,oCAEd,KACS,kCACK,oCAEd,KACS,qCACK,oCAEd,KACS,kCACK,oCAEd,KACS,oDACK,oCAEd,KACS,qCACK,oCAEd,KACS,wCACK,oCAEd,KACS,yCACK,oCAEd,KACS,6CACK,oCAEd,KACS,wCACK,oCAEd,KACS,iDACK,oCAEd,KACS,qDACK,oCAEd,KACS,sDACK,oCAEd,KACS,kDACK,oCAEd,KACS,8CACK,oCAEd,KACS,2BACK,oCAEd,KACS,8CACK,oCAEd,KACS,qDACK,oCAEd,KACS,sDACK,oCAEd,KACS,+DACK,oCAEd,KACS,2EACK,oCAEd,KACS,wEACK,oCAEd,KACS,6BACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,iCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,mCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,mCACK,oCAEd,KACS,gCACK,oCAEd,KACS,uBACK,oCAEd,KACS,gCACK,oCAEd,KACS,2BACK,oCAEd,KACS,+BACK,oCAEd,KACS,iCACK,oCAEd,KACS,oCACK,oCAEd,KACS,2CACK,oCAEd,KACS,mCACK,oCAEd,KACS,sCACK,oCAEd,KACS,uCACK,oCAEd,KACS,oCACK,oCAEd,KACS,oCACK,oCAEd,KACS,6CACK,oCAEd,KACS,6CACK,oCAEd,KACS,6BACK,oCAEd,KACS,iCACK,oCAEd,KACS,2BACK,oCAEd,KACS,+BACK,oCAEd,KACS,gCACK,oCAEd,KACS,wCACK,oCAEd,KACS,oCACK,oCAEd,KACS,mCACK,oCAEd,KACS,kCACK,oCAEd,KACS,kCACK,oCAEd,KACS,kCACK,oCAEd,KACS,yCACK,oCAEd,KACS,mCACK,oCAEd,KACS,8CACK,oCAEd,KACS,yCACK,oCAEd,KACS,0CACK,oCAEd,KACS,wCACK,oCAEd,KACS,wCACK,oCAEd,KACS,+CACK,oCAEd,KACS,sCACK,oCAEd,KACS,gCACK,oCAEd,KACS,4BACK,oCAEd,KACS,2BACK,oCAEd,KACS,gCACK,oCAEd,KACS,yBACK,oCAEd,KACS,+BACK,oCAEd,KACS,kCACK,oCAEd,KACS,uCACK,oCAEd,KACS,wCACK,oCAEd,KACS,uCACK,oCAEd,KACS,uCACK,oCAEd,KACS,oCACK,oCAEd,KACS,qCACK,oCAEd,KACS,wCACK,oCAEd,KACS,qCACK,oCAEd,KACS,2CACK,oCAEd,KACS,qCACK,oCAEd,KACS,oCACK,qCAEb,6BAC8B,CAAC"} \ No newline at end of file
+{"version":3,"file":"service-worker.js","sources":["../../../../../../../tmp/73dcccf0a0958ef286e2447b0a4d680c/service-worker.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/opt/hostedtoolcache/node/14.18.2/x64/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"js/app.min.js\",\n \"revision\": \"9e95d759c2ab233f0291ee64f0883a97\"\n },\n {\n \"url\": \"js/extensions.min.js\",\n \"revision\": \"44f4bd1a585836eb684bc07c94238837\"\n },\n {\n \"url\": \"js/stencils.min.js\",\n \"revision\": \"a4363c11e41442d41b1e073606f5566d\"\n },\n {\n \"url\": \"js/shapes-14-6-5.min.js\",\n \"revision\": \"ebce9c260798e9465fa3c3e3c1607d43\"\n },\n {\n \"url\": \"js/math-print.js\",\n \"revision\": \"9d98c920695f6c3395da4b68f723e60a\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"9200e0815b5a48cae7db8f54f9604990\"\n },\n {\n \"url\": \"open.html\",\n \"revision\": \"d71816b3b00e769fc6019fcdd6921662\"\n },\n {\n \"url\": \"styles/grapheditor.css\",\n \"revision\": \"748da0cd0a068a52eac70ee2b2c194fe\"\n },\n {\n \"url\": \"styles/atlas.css\",\n \"revision\": \"e8152cda9233d3a3af017422993abfce\"\n },\n {\n \"url\": \"styles/dark.css\",\n \"revision\": \"3179f617dd02efd2cefeb8c06f965880\"\n },\n {\n \"url\": \"js/croppie/croppie.min.css\",\n \"revision\": \"fc297c9002c79c15a132f13ee3ec427e\"\n },\n {\n \"url\": \"js/dropbox/Dropbox-sdk.min.js\",\n \"revision\": \"4b9842892aa37b156db0a8364b7a83b0\"\n },\n {\n \"url\": \"js/onedrive/OneDrive.js\",\n \"revision\": \"505e8280346666f7ee801bc59521fa67\"\n },\n {\n \"url\": \"js/viewer-static.min.js\",\n \"revision\": \"84e1bc39fdde78a67118a1762f8c23de\"\n },\n {\n \"url\": \"connect/jira/editor-1-3-3.html\",\n \"revision\": \"a2b0e7267a08a838f3cc404eba831ec0\"\n },\n {\n \"url\": \"connect/jira/viewerPanel-1-3-12.html\",\n \"revision\": \"2ce6e99d95113e9ca6b24343cea202e0\"\n },\n {\n \"url\": \"connect/jira/fullScreenViewer-1-3-3.html\",\n \"revision\": \"ba7ece2dfb2833b72f97280d7092f25e\"\n },\n {\n \"url\": \"connect/jira/viewerPanel.js\",\n \"revision\": \"6e9412c359a21b86dc7c5128bf6208d4\"\n },\n {\n \"url\": \"connect/jira/spinner.gif\",\n \"revision\": \"7d857ab9d86123e93d74d48e958fe743\"\n },\n {\n \"url\": \"connect/jira/editor.js\",\n \"revision\": \"01caa325f3ad3f6565e0b4228907fb63\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer-init.js\",\n \"revision\": \"197ed5837ed27992688fc424699a9a78\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer.js\",\n \"revision\": \"4e0775a6c156a803e777870623ac7c3e\"\n },\n {\n \"url\": \"plugins/connectJira.js\",\n \"revision\": \"4cefa13414e0d406550f3c073923080c\"\n },\n {\n \"url\": \"plugins/cConf-comments.js\",\n \"revision\": \"c787357209cff2986dcca567b599e2ef\"\n },\n {\n \"url\": \"plugins/cConf-1-4-8.js\",\n \"revision\": \"d7577d8f21716423852c343f027c4c27\"\n },\n {\n \"url\": \"connect/confluence/connectUtils-1-4-8.js\",\n \"revision\": \"8f6c85460791915b01d83cd0a793effb\"\n },\n {\n \"url\": \"connect/new_common/cac.js\",\n \"revision\": \"3d8c436c566db645fb1e6e6ba9f69bbc\"\n },\n {\n \"url\": \"connect/gdrive_common/gac.js\",\n \"revision\": \"38f1df3ecc4d78290493f47e62202138\"\n },\n {\n \"url\": \"connect/onedrive_common/ac.js\",\n \"revision\": \"887d3ac605a7bb297067537e7c1f5686\"\n },\n {\n \"url\": \"connect/confluence/viewer-init.js\",\n \"revision\": \"4a60c6c805cab7bc782f1e52f7818d9f\"\n },\n {\n \"url\": \"connect/confluence/viewer.js\",\n \"revision\": \"d025b0929817299fa154f273525aa0ec\"\n },\n {\n \"url\": \"connect/confluence/viewer-1-4-42.html\",\n \"revision\": \"c7b38b3af4eb7a58ab6dc4791216530e\"\n },\n {\n \"url\": \"connect/confluence/macroEditor-1-4-8.html\",\n \"revision\": \"8cd74a2fb60bf2e3e86026d66107cf11\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram-1-4-8.js\",\n \"revision\": \"8b670f4b6ccde55358851da705ae884f\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram.html\",\n \"revision\": \"c03c89622d22227313645900af4e3c3d\"\n },\n {\n \"url\": \"connect/confluence/macro-editor.js\",\n \"revision\": \"e273a48b8e81faac4530bf1a68d75aa0\"\n },\n {\n \"url\": \"math/MathJax.js\",\n \"revision\": \"b2c103388b71bb3d11cbf9aa45fe9b68\"\n },\n {\n \"url\": \"math/config/TeX-MML-AM_SVG-full.js\",\n \"revision\": \"d5cb8ac04050983170ae4af145bc66ff\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/fontdata.js\",\n \"revision\": \"495e5a410955d1b6178870e605890ede\"\n },\n {\n \"url\": \"math/jax/element/mml/optable/BasicLatin.js\",\n \"revision\": \"cac9b2e71382e62270baa55fab07cc13\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js\",\n \"revision\": \"e3e5e4d5924beed29f0844550b5c8f46\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js\",\n \"revision\": \"0767cbad7275b53da128e7e5e1109f7c\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js\",\n \"revision\": \"346302a5c5ee00e01c302148c56dbfe3\"\n },\n {\n \"url\": \"resources/dia.txt\",\n \"revision\": \"6ac22c2dd7bf24f2ce4db6ea5cd82470\"\n },\n {\n \"url\": \"resources/dia_am.txt\",\n \"revision\": \"7b87288182abf40af0364ee000959b7b\"\n },\n {\n \"url\": \"resources/dia_ar.txt\",\n \"revision\": \"0ab712083c7e9e5fe881c37250074d4c\"\n },\n {\n \"url\": \"resources/dia_bg.txt\",\n \"revision\": \"c3fe70b41c1c99a3817f45a533f0d3d1\"\n },\n {\n \"url\": \"resources/dia_bn.txt\",\n \"revision\": \"50da78b0b7f2f65bdf25eabae73b3228\"\n },\n {\n \"url\": \"resources/dia_bs.txt\",\n \"revision\": \"568b22ef20ebfe162fce127fa9bcc6b5\"\n },\n {\n \"url\": \"resources/dia_ca.txt\",\n \"revision\": \"a4f3c89b030191d40999805696e6859b\"\n },\n {\n \"url\": \"resources/dia_cs.txt\",\n \"revision\": \"feebdfef9385384c37fbadd1a1a1b6c2\"\n },\n {\n \"url\": \"resources/dia_da.txt\",\n \"revision\": \"163d26afd66826247cf1553314ec70f5\"\n },\n {\n \"url\": \"resources/dia_de.txt\",\n \"revision\": \"9aa8d6e1d10659624519c88a7ad3e042\"\n },\n {\n \"url\": \"resources/dia_el.txt\",\n \"revision\": \"5289ac0ed78737231ca568be2c777d1a\"\n },\n {\n \"url\": \"resources/dia_eo.txt\",\n \"revision\": \"98e0cca265917fe115de548ca2c6d7a4\"\n },\n {\n \"url\": \"resources/dia_es.txt\",\n \"revision\": \"1a590b0b38299487e1267d440ba04350\"\n },\n {\n \"url\": \"resources/dia_et.txt\",\n \"revision\": \"bed7cfc8f949531f762ad86a225c15a2\"\n },\n {\n \"url\": \"resources/dia_eu.txt\",\n \"revision\": \"1d65da41d45cf45dfb81d13f360d7193\"\n },\n {\n \"url\": \"resources/dia_fa.txt\",\n \"revision\": \"21e0279f46bcdd79063c06fcfc7b1120\"\n },\n {\n \"url\": \"resources/dia_fi.txt\",\n \"revision\": \"649cea556e9168919b0492f8565bac8b\"\n },\n {\n \"url\": \"resources/dia_fil.txt\",\n \"revision\": \"a717e0751e11dbb6502acfcc51c1a704\"\n },\n {\n \"url\": \"resources/dia_fr.txt\",\n \"revision\": \"4e6530553659158b0f55cc43ec46cc7e\"\n },\n {\n \"url\": \"resources/dia_gl.txt\",\n \"revision\": \"4fe5a563571d23001fb0dcd28dadcb32\"\n },\n {\n \"url\": \"resources/dia_gu.txt\",\n \"revision\": \"5eef301316f5945a700c13d1d96570ed\"\n },\n {\n \"url\": \"resources/dia_he.txt\",\n \"revision\": \"d13e2c3ec4f6f34948f874eda3d63a55\"\n },\n {\n \"url\": \"resources/dia_hi.txt\",\n \"revision\": \"65a2374e09cee44447e9462f3acb7f6a\"\n },\n {\n \"url\": \"resources/dia_hr.txt\",\n \"revision\": \"21626f14592c1b84ee28b058fcb74194\"\n },\n {\n \"url\": \"resources/dia_hu.txt\",\n \"revision\": \"1698e21cde2ed5f5b599429e5e68a8c4\"\n },\n {\n \"url\": \"resources/dia_id.txt\",\n \"revision\": \"a3af078b5bc5cd36df5368fb2604ed02\"\n },\n {\n \"url\": \"resources/dia_it.txt\",\n \"revision\": \"1330d09037dddd6e5aa3d4843168b88b\"\n },\n {\n \"url\": \"resources/dia_ja.txt\",\n \"revision\": \"990f1ad82383245f1f9e37678a1c9bab\"\n },\n {\n \"url\": \"resources/dia_kn.txt\",\n \"revision\": \"836030c27dc0bb91a25ebcc722f2df41\"\n },\n {\n \"url\": \"resources/dia_ko.txt\",\n \"revision\": \"4a5032d2cad4be2a1815f7e29238664a\"\n },\n {\n \"url\": \"resources/dia_lt.txt\",\n \"revision\": \"d0a2bbb32c3d7d860c8c0385075407ee\"\n },\n {\n \"url\": \"resources/dia_lv.txt\",\n \"revision\": \"8cdfac8996f69486b99302eb0c01757a\"\n },\n {\n \"url\": \"resources/dia_ml.txt\",\n \"revision\": \"53f0f853779db48abc46023e507cb698\"\n },\n {\n \"url\": \"resources/dia_mr.txt\",\n \"revision\": \"4f3bffbf25b0d07a0946e77a288f40b9\"\n },\n {\n \"url\": \"resources/dia_ms.txt\",\n \"revision\": \"55d9c222689543ab6a091636d12dc92f\"\n },\n {\n \"url\": \"resources/dia_my.txt\",\n \"revision\": \"6ac22c2dd7bf24f2ce4db6ea5cd82470\"\n },\n {\n \"url\": \"resources/dia_nl.txt\",\n \"revision\": \"da45f841b898121c268b02e5cf0c0f5e\"\n },\n {\n \"url\": \"resources/dia_no.txt\",\n \"revision\": \"afa660c88bef1253c9827f857e3c2a99\"\n },\n {\n \"url\": \"resources/dia_pl.txt\",\n \"revision\": \"934cb78df740c1377b724cc68b28b436\"\n },\n {\n \"url\": \"resources/dia_pt-br.txt\",\n \"revision\": \"128c5640c8ea34d4e5296bbb2ef35db3\"\n },\n {\n \"url\": \"resources/dia_pt.txt\",\n \"revision\": \"1d30c678b01d010a0c8a5cf415fa68a0\"\n },\n {\n \"url\": \"resources/dia_ro.txt\",\n \"revision\": \"a90bf597059e90eff0d955d12058df23\"\n },\n {\n \"url\": \"resources/dia_ru.txt\",\n \"revision\": \"b225c1bd151294617e8d600181d9e44e\"\n },\n {\n \"url\": \"resources/dia_si.txt\",\n \"revision\": \"6ac22c2dd7bf24f2ce4db6ea5cd82470\"\n },\n {\n \"url\": \"resources/dia_sk.txt\",\n \"revision\": \"be785304786ae06fe6cdae4c029e5f28\"\n },\n {\n \"url\": \"resources/dia_sl.txt\",\n \"revision\": \"c3748f17f0775bdd539ed69a49acd1e1\"\n },\n {\n \"url\": \"resources/dia_sr.txt\",\n \"revision\": \"611506593ed67893a50c3a9000a12c79\"\n },\n {\n \"url\": \"resources/dia_sv.txt\",\n \"revision\": \"54157da886c9c17d4eb1fe9e3d195368\"\n },\n {\n \"url\": \"resources/dia_sw.txt\",\n \"revision\": \"0cd0148f07578cbac9dc4e2222277266\"\n },\n {\n \"url\": \"resources/dia_ta.txt\",\n \"revision\": \"79cb0ed533e753ae646f055fb75d25fc\"\n },\n {\n \"url\": \"resources/dia_te.txt\",\n \"revision\": \"305740ddcfe539071f9f65d844c13068\"\n },\n {\n \"url\": \"resources/dia_th.txt\",\n \"revision\": \"ffc4698dc2f34eb02bf02f3ac26c5c7e\"\n },\n {\n \"url\": \"resources/dia_tr.txt\",\n \"revision\": \"1092cea9e131780ae817c5c5915be3b6\"\n },\n {\n \"url\": \"resources/dia_uk.txt\",\n \"revision\": \"e1ab64d71b13935ef5ef05c09a8f95d9\"\n },\n {\n \"url\": \"resources/dia_vi.txt\",\n \"revision\": \"a9ead4c2e8460af1b127b7405dba35a3\"\n },\n {\n \"url\": \"resources/dia_zh-tw.txt\",\n \"revision\": \"28d610fd1f35a68bcc8a555fea09dc12\"\n },\n {\n \"url\": \"resources/dia_zh.txt\",\n \"revision\": \"f49748b5eb13dee86003c5f57aa628ff\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"fab2d88b37c72d83607527573de45281\"\n },\n {\n \"url\": \"images/manifest.json\",\n \"revision\": \"c6236bde53ed79aaaec60a1aca8ee2ef\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"89630b64b911ebe0daa3dfe442087cfa\"\n },\n {\n \"url\": \"images/drawlogo.svg\",\n \"revision\": \"4bf4d14ebcf072d8bd4c5a1c89e88fc6\"\n },\n {\n \"url\": \"images/drawlogo48.png\",\n \"revision\": \"8b13428373aca67b895364d025f42417\"\n },\n {\n \"url\": \"images/drawlogo-gray.svg\",\n \"revision\": \"0aabacbc0873816e1e09e4736ae44c7d\"\n },\n {\n \"url\": \"images/drawlogo-text-bottom.svg\",\n \"revision\": \"f6c438823ab31f290940bd4feb8dd9c2\"\n },\n {\n \"url\": \"images/default-user.jpg\",\n \"revision\": \"2c399696a87c8921f12d2f9e1990cc6e\"\n },\n {\n \"url\": \"images/logo-flat-small.png\",\n \"revision\": \"4b178e59ff499d6dd1894fc498b59877\"\n },\n {\n \"url\": \"images/apple-touch-icon.png\",\n \"revision\": \"73da7989a23ce9a4be565ec65658a239\"\n },\n {\n \"url\": \"images/favicon-16x16.png\",\n \"revision\": \"1a79d5461a5d2bf21f6652e0ac20d6e5\"\n },\n {\n \"url\": \"images/favicon-32x32.png\",\n \"revision\": \"e3b92da2febe70bad5372f6f3474b034\"\n },\n {\n \"url\": \"images/android-chrome-196x196.png\",\n \"revision\": \"f8c045b2d7b1c719fda64edab04c415c\"\n },\n {\n \"url\": \"images/android-chrome-512x512.png\",\n \"revision\": \"959b5fac2453963ff6d60fb85e4b73fd\"\n },\n {\n \"url\": \"images/delete.png\",\n \"revision\": \"5f2350f2fd20f1a229637aed32ed8f29\"\n },\n {\n \"url\": \"images/droptarget.png\",\n \"revision\": \"bbf7f563fb6784de1ce96f329519b043\"\n },\n {\n \"url\": \"images/help.png\",\n \"revision\": \"9266c6c3915bd33c243d80037d37bf61\"\n },\n {\n \"url\": \"images/download.png\",\n \"revision\": \"35418dd7bd48d87502c71b578cc6c37f\"\n },\n {\n \"url\": \"images/logo-flat.png\",\n \"revision\": \"038070ab43aee6e54a791211859fc67b\"\n },\n {\n \"url\": \"images/google-drive-logo.svg\",\n \"revision\": \"5d9f2f5bbc7dcc252730a0072bb23059\"\n },\n {\n \"url\": \"images/onedrive-logo.svg\",\n \"revision\": \"3645b344ec0634c1290dd58d7dc87b97\"\n },\n {\n \"url\": \"images/dropbox-logo.svg\",\n \"revision\": \"e6be408c77cf9c82d41ac64fa854280a\"\n },\n {\n \"url\": \"images/github-logo.svg\",\n \"revision\": \"a1a999b69a275eac0cb918360ac05ae1\"\n },\n {\n \"url\": \"images/gitlab-logo.svg\",\n \"revision\": \"0faea8c818899e58533e153c44b10517\"\n },\n {\n \"url\": \"images/trello-logo.svg\",\n \"revision\": \"006fd0d7d70d7e95dc691674cb12e044\"\n },\n {\n \"url\": \"images/osa_drive-harddisk.png\",\n \"revision\": \"b954e1ae772087c5b4c6ae797e1f9649\"\n },\n {\n \"url\": \"images/osa_database.png\",\n \"revision\": \"c350d9d9b95f37b6cfe798b40ede5fb0\"\n },\n {\n \"url\": \"images/google-drive-logo-white.svg\",\n \"revision\": \"f329d8b1be7778515a85b93fc35d9f26\"\n },\n {\n \"url\": \"images/dropbox-logo-white.svg\",\n \"revision\": \"4ea8299ac3bc31a16f199ee3aec223bf\"\n },\n {\n \"url\": \"images/onedrive-logo-white.svg\",\n \"revision\": \"b3602fa0fc947009cff3f33a581cff4d\"\n },\n {\n \"url\": \"images/github-logo-white.svg\",\n \"revision\": \"537b1127b3ca0f95b45782d1304fb77a\"\n },\n {\n \"url\": \"images/gitlab-logo-white.svg\",\n \"revision\": \"5fede9ac2f394c716b8c23e3fddc3910\"\n },\n {\n \"url\": \"images/trello-logo-white-orange.svg\",\n \"revision\": \"e2a0a52ba3766682f138138d10a75eb5\"\n },\n {\n \"url\": \"images/logo-confluence.png\",\n \"revision\": \"ed1e55d44ae5eba8f999aba2c93e8331\"\n },\n {\n \"url\": \"images/logo-jira.png\",\n \"revision\": \"f8d460555a0d1f87cfd901e940666629\"\n },\n {\n \"url\": \"images/clear.gif\",\n \"revision\": \"db13c778e4382e0b55258d0f811d5d70\"\n },\n {\n \"url\": \"images/spin.gif\",\n \"revision\": \"487cbb40b9ced439aa1ad914e816d773\"\n },\n {\n \"url\": \"images/checkmark.gif\",\n \"revision\": \"ba764ce62f2bf952df5bbc2bb4d381c5\"\n },\n {\n \"url\": \"images/hs.png\",\n \"revision\": \"fefa1a03d92ebad25c88dca94a0b63db\"\n },\n {\n \"url\": \"images/aui-wait.gif\",\n \"revision\": \"5a474bcbd8d2f2826f03d10ea44bf60e\"\n },\n {\n \"url\": \"mxgraph/css/common.css\",\n \"revision\": \"b5b7280ec98671bb6c3847a36bc7ea12\"\n },\n {\n \"url\": \"mxgraph/images/expanded.gif\",\n \"revision\": \"2b67c2c035af1e9a5cc814f0d22074cf\"\n },\n {\n \"url\": \"mxgraph/images/collapsed.gif\",\n \"revision\": \"73cc826da002a3d740ca4ce6ec5c1f4a\"\n },\n {\n \"url\": \"mxgraph/images/maximize.gif\",\n \"revision\": \"5cd13d6925493ab51e876694cc1c2ec2\"\n },\n {\n \"url\": \"mxgraph/images/minimize.gif\",\n \"revision\": \"8957741b9b0f86af9438775f2aadbb54\"\n },\n {\n \"url\": \"mxgraph/images/close.gif\",\n \"revision\": \"8b84669812ac7382984fca35de8da48b\"\n },\n {\n \"url\": \"mxgraph/images/resize.gif\",\n \"revision\": \"a6477612b3567a34033f9cac6184eed3\"\n },\n {\n \"url\": \"mxgraph/images/separator.gif\",\n \"revision\": \"7819742ff106c97da7a801c2372bbbe5\"\n },\n {\n \"url\": \"mxgraph/images/window.gif\",\n \"revision\": \"fd9a21dd4181f98052a202a0a01f18ab\"\n },\n {\n \"url\": \"mxgraph/images/window-title.gif\",\n \"revision\": \"3fb1d6c43246cdf991a11dfe826dfe99\"\n },\n {\n \"url\": \"mxgraph/images/button.gif\",\n \"revision\": \"00759bdc3ad218fa739f584369541809\"\n },\n {\n \"url\": \"mxgraph/images/point.gif\",\n \"revision\": \"83a43717b284902442620f61bc4e9fa6\"\n }\n], {\n \"ignoreURLParametersMatching\": [/.*/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting"],"mappings":"szBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,oCAY2B,CAClC,KACS,yBACK,oCAEd,KACS,gCACK,oCAEd,KACS,8BACK,oCAEd,KACS,mCACK,oCAEd,KACS,4BACK,oCAEd,KACS,sBACK,oCAEd,KACS,qBACK,oCAEd,KACS,kCACK,oCAEd,KACS,4BACK,oCAEd,KACS,2BACK,oCAEd,KACS,sCACK,oCAEd,KACS,yCACK,oCAEd,KACS,mCACK,oCAEd,KACS,mCACK,oCAEd,KACS,0CACK,oCAEd,KACS,gDACK,oCAEd,KACS,oDACK,oCAEd,KACS,uCACK,oCAEd,KACS,oCACK,oCAEd,KACS,kCACK,oCAEd,KACS,kDACK,oCAEd,KACS,6CACK,oCAEd,KACS,kCACK,oCAEd,KACS,qCACK,oCAEd,KACS,kCACK,oCAEd,KACS,oDACK,oCAEd,KACS,qCACK,oCAEd,KACS,wCACK,oCAEd,KACS,yCACK,oCAEd,KACS,6CACK,oCAEd,KACS,wCACK,oCAEd,KACS,iDACK,oCAEd,KACS,qDACK,oCAEd,KACS,sDACK,oCAEd,KACS,kDACK,oCAEd,KACS,8CACK,oCAEd,KACS,2BACK,oCAEd,KACS,8CACK,oCAEd,KACS,qDACK,oCAEd,KACS,sDACK,oCAEd,KACS,+DACK,oCAEd,KACS,2EACK,oCAEd,KACS,wEACK,oCAEd,KACS,6BACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,iCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,mCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,gCACK,oCAEd,KACS,mCACK,oCAEd,KACS,gCACK,oCAEd,KACS,uBACK,oCAEd,KACS,gCACK,oCAEd,KACS,2BACK,oCAEd,KACS,+BACK,oCAEd,KACS,iCACK,oCAEd,KACS,oCACK,oCAEd,KACS,2CACK,oCAEd,KACS,mCACK,oCAEd,KACS,sCACK,oCAEd,KACS,uCACK,oCAEd,KACS,oCACK,oCAEd,KACS,oCACK,oCAEd,KACS,6CACK,oCAEd,KACS,6CACK,oCAEd,KACS,6BACK,oCAEd,KACS,iCACK,oCAEd,KACS,2BACK,oCAEd,KACS,+BACK,oCAEd,KACS,gCACK,oCAEd,KACS,wCACK,oCAEd,KACS,oCACK,oCAEd,KACS,mCACK,oCAEd,KACS,kCACK,oCAEd,KACS,kCACK,oCAEd,KACS,kCACK,oCAEd,KACS,yCACK,oCAEd,KACS,mCACK,oCAEd,KACS,8CACK,oCAEd,KACS,yCACK,oCAEd,KACS,0CACK,oCAEd,KACS,wCACK,oCAEd,KACS,wCACK,oCAEd,KACS,+CACK,oCAEd,KACS,sCACK,oCAEd,KACS,gCACK,oCAEd,KACS,4BACK,oCAEd,KACS,2BACK,oCAEd,KACS,gCACK,oCAEd,KACS,yBACK,oCAEd,KACS,+BACK,oCAEd,KACS,kCACK,oCAEd,KACS,uCACK,oCAEd,KACS,wCACK,oCAEd,KACS,uCACK,oCAEd,KACS,uCACK,oCAEd,KACS,oCACK,oCAEd,KACS,qCACK,oCAEd,KACS,wCACK,oCAEd,KACS,qCACK,oCAEd,KACS,2CACK,oCAEd,KACS,qCACK,oCAEd,KACS,oCACK,qCAEb,6BAC8B,CAAC"} \ No newline at end of file
diff --git a/src/main/webapp/templates/basic/cross.xml b/src/main/webapp/templates/basic/cross.xml
index 634e9afb..2644d33d 100644
--- a/src/main/webapp/templates/basic/cross.xml
+++ b/src/main/webapp/templates/basic/cross.xml
@@ -1 +1 @@
-<mxfile host="app.diagrams.net" modified="2020-06-30T13:24:54.162Z" agent="5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" etag="xvWZv3FZDG0C8Q3biTth" version="13.3.5" type="device"><diagram id="kgpKYQtTHZ0yAKxKKP6v" name="Page-1">7Vpvd5o6HP40vtw9BITqy+pstzN31lN7T19HyCS3SFgIU/bpl0BS1KiEtSC33TlayY8Q5Xme37+UgTNdb28pTMKvJEDRwLaC7cD5OLBtYNsO/xCWXFkcUFpWFAfSVhkW+BeSRktaMxygdG8iIyRiONk3+iSOkc/2bJBSstmf9p1E+9+awBXSDAsfRrr1EQcsLK0j16rsnxBeheqbgSXPrKGaLA1pCAOy2TE5s4EzpYSw8mi9naJIoKdwKa+7OXH2+YdRFDOTC5w4m9xs6djP51YSf3t8sOHtB7nKTxhl8obvZvdfuOXfO/7n8fPDJ/5xzd/z64eHmbwRlit0+D0l4pDBpTBN/BBHwRzmJGPKqkYTzsUcxwWXlphKomwd71pSBimTChgKQ8jWET8G/HATYoYWCfTFyQ3XWrlCBJMUF19drECRn9EU/0T3KC3XEVa0TWAcyMF3ErOFvIEjECo8EGVou2OSkN4iskaM5nyKOqv4lgK/ksNNJRZP2cIdoTjqOigFunpeuuKQH0gaG1Bqa5RqtKGAa1wOCWUhWZEYRrPKysnK4gAp0Ko5c0ISScl/iLFc0gUzRvYJ06E9p7+UZNRHZ+ZdSdeHdIXOricnijs8Sx9FEWRcKfsB47W5cDQuplnK+OJUd6UNXkcwFuCHhOJfXKcwkvgnBMes+G3uhL+4cqbWP+7A5ddN+RhUY/4S0ymbkjhlFOICfQRTtkEp68rJmpFv4GzSuYaGzgVGbTnXUCP0BhUpj2HK3eUMqTJBwQrIPlHhGFOxPUkFcDqlwu1xWBsahjXPMKz1K6p5mhMshJQ1Piq0T0l6B1lIfYm620C3yh+NdWvvp2tPl/H4iIqHbYn4So8nmPuubS0hxTxAnMHUqse0IxCBfWEURxqKX+ETEo5FYZxCn2ESv6PYDI4UoU63eXKsMXKPfmSiBLEtHqIY6kTYo6bI9U3YqgvewXGS5f3GELh9A1FvcmXRliD6lL+jwOBevmoDve5GTdtRIKGv70dlbu1J5Qb0hvQjxfFTpxEFNN5k6VnRBvQucBbrzV8H5e+Lobx8cHb1DHei9P27Q1K/Q2If4fPoFkl7AV7vDv88w14aftcY/4bbIu3Br3eUtxQhUXf7p7YeWwnyXlPoDiLTxQOT3lS+Ix0bt5DtCVlvITX8e1Q5SrXUVo5K1rWVo7rdnlSOtt6JXvs+Snhg8SKRNpc8rngrcZTAfC3Q6iTMvLg9vXScsfXu9JFiUYpbAWIQR6mOsNjN4uE80QOS/H9sQPys4KAW52VJynzZOvCHlacZ7l5ruNsa7nLT8HgnpKBNKPFRmhogC/2nVaH5bxmLsMgSLQPs9UzZerP5jjKo8V5LaxnU1tvUPmdQwwQKTB8FGL92/iwuvaYU5jsTZONZrXwnDDvp5tApvYOndGrmq524SgjlL6hk8XwrL1CK3oS/AaWMTSst0K9Ky6CB/v+R8fzwXu2OqdULv3WsZn57OL8bv9Wb/TcgFWDcIr26VF7muKM3AL5SUL2fOr3wU9dp5qeH89UG+B/6KR9WT/CW06sHoZ3Zbw==</diagram></mxfile> \ No newline at end of file
+<mxfile host="app.diagrams.net" modified="2020-06-30T13:24:54.162Z" agent="5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" etag="xvWZv3FZDG0C8Q3biTth" version="13.3.5" type="device"><diagram id="kgpKYQtTHZ0yAKxKKP6v" name="Page-1">7Vpdc6o4GP41Xu4OH0L1slrbnlnPnE7tTq8jpJLTSNgQjnJ+/SaYFDGoYa3IdpxpK3l5AfM873fpuePl+oGCJPpOQoh7jhWue+5dz3Fsx3H5h5DkSuLaG8mColDKSsEM/YZSaElphkKYVhQZIZihpCoMSBzDgFVkgFKyqqq9EVx9agIWUBPMAoB16SsKWbSRDjyrlD9CtIjUk21LnlkCpSwFaQRCstoSuZOeO6aEsM3Rcj2GWKCncNlcd7/n7McXozBmJhe4cTa6X9NhkE+tJP7x+uKAhz/kXX4BnMkNP02e/+KSv5/4n9dvL4/845b/Tm9fXiZyIyxX6PA9JeKQgbkQjYII4XAKcpIxJVWrUcoAZZLgviWUCcYgSVFx6Z2QUBhkNEW/4DNMN4pCCtcJiEO5eEMYjwkmlK9jEouHvpGYzeR3qkFFbRFSBtdbIonSAyRLyGjOVdRZRaG02Ru5XJX8+0oWbXHvquuAtLnFx61LWviBZKYBS47GksYEDLnZyiWhLCILEgM8KaUjSrI4hArHUmdKSFIg545+QsZySRHIGOGiiC2xPKtDe8ikUpLRAB7Qu5HeDOgCHryfVBQ7PEgfhRgwbjzVGPDZXLgaF+MsZfzmVPeOFVpiUNhoRCj6ze0UYIm/OvcIQbgjGpEiWu6x9oSgmBWb8kb8h5vc2PrT63n8gWO+tss1/xHqlI1JnDIKUEEbBClbwfQTPbLifk3NxMAtpRv2Dd3QHpzLDfsa9fewyHcMUe5YB+g3Y1vmMFDCX8P/RUlzjUlb7yXNdlslzetwqOwbhkrfMFR2K1L6mrvMhO1qfJRoC+hWEWJwloACkBWvKqvIAhpI1D2rMdDmdutUSwBfN+NhjRX3z2XEN3rkQdyXHWsOKOIR4QCm1nFMWwLRdi6M4kBD8Tt4h8KxKIhTEDBE4msUr6uIa0pgt93cO9S4e4b/ZKKOcSwezBhsxQUGTZHrmguotnoLx1GWdxtD2+saiHrXLAvBBNL3/BpCakj0Ll8J2p3umk3bZltCf7xvlvm6I9WgrTfOdxTF763GHrvxMKhjhaCt96CTWG89WyipT4by8mHc03PhnnL6Osk5hKOxIUjmnRrma0c550sFem96gazdOlGeMVMNxzfnI0rvfB8ohKLqD/aNXc+SOPym0O1Eu4sHO735vVr8Ka3u+Uxeb3U1pjpUt0q7Olq3Kgc4Wreq7XakbnX0jvk2CGDCQ5CPRe6d8wjkL8RRAvKlQKuVgHRyG33piOToXfQrRaIRsELIAMKpjrCYz/HAn+ihS/4jOiRBVnBwFOf5hpTp/OzA79a9Zrj7Z8Pd0XCXY9D6PkxBm1ASwDQ1QBYE74vC5n9kDKO4acxuDrDfMcvWW91rrj1lJnS2XOvo7XSXc61hqrVNX60YfnamLS69pRTkWwqyzy3v/CQEW4lp1339nReZjuiriWFpCJtvUJrFx1ZOsBR9WPAFLGVoWpPZ3arJDNr3/x8ZH+83Hp3sWp3wW9dq5re7+u34rT5A+AKmYhs3U59uKqc57uALgK8s6Lifup3wU89t5qe7+mpQ/x/9lC/Ll5w36uW74u7kXw==</diagram></mxfile> \ No newline at end of file