diff --git a/ChangeLog b/ChangeLog
index dc3a3961053830dab2c5eafb5bcd575ec9c4aaf7..c9fc3f86602c4521425857a98b8fd39909fea896 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+12-FEB-2018: 8.1.3
+
+- Fixes dynamic loading for VSDX export
+- Fixes possible NPEs in VSDX export
+
 12-FEB-2018: 8.1.2
 
 - Adds resize option in image dialog
diff --git a/VERSION b/VERSION
index c29b3b5dd815fdf1cd475cf7e41524f0eb4eab0e..d578315429402e0915e50f7a189b6e61d0530cd6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-8.1.2
\ No newline at end of file
+8.1.3
\ No newline at end of file
diff --git a/etc/build/build.xml b/etc/build/build.xml
index 7906ff18d3ca881e2983e74fc3782fb5983f8370..eb3739084aa18c84f339b7d8229e9b7ebbca19b7 100644
--- a/etc/build/build.xml
+++ b/etc/build/build.xml
@@ -231,6 +231,7 @@
 			<filelist dir="${basedir}" files="base-viewer.min.js,.tmp2.min.js"/>
     		</concat>
 
+		<delete file="${war.dir}/js/extensions.min.js"/>
 		<delete file="${basedir}/.tmp0.js"/>
 		<delete file="${basedir}/.tmp0.min.js"/>
 		<delete file="${basedir}/.tmp1.js"/>
diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest
index f1069b2455b10a8bb57397c1503ad88995a55de1..ad18c59791eeb5d601d3e01b5b74ca73180c000a 100644
--- a/src/main/webapp/cache.manifest
+++ b/src/main/webapp/cache.manifest
@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 02/12/2018 02:49 PM
+# 02/12/2018 04:53 PM
 
 app.html
 index.html?offline=1
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index bc8d0ac46909390491d6f7d4a27409668415231e..b964b2d0dba918b55624f844d5004ce59d4389a7 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -6660,7 +6660,7 @@ k.appendChild(h);e=document.createElement("div");e.style.cssText="text-align:rig
 d(!1)}),m.className="geBtn",e.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});m.className="geBtn gePrimaryBtn";e.appendChild(m);a.editor.cancelFirst||e.appendChild(h);k.appendChild(e);this.container=k};var v=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=
 this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(v.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=
 this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,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(a)})();(function(){EditorUi.VERSION="8.1.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,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(a)})();(function(){EditorUi.VERSION="8.1.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
 EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
 EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');svrc=EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=
 !0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(p){}};c.src="data:image/svg+xml;base64,"+
@@ -6807,7 +6807,7 @@ c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN
 23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image,d=this;c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(v){b(d.svgBrokenImage.src)}};
 c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var g=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var k=mxUtils.parseXml(a),h=this.editor.extractGraphModel(k.documentElement,null!=this.pages);if(null!=h&&"mxfile"==h.nodeName&&null!=this.pages){var n=h.getElementsByTagName("diagram");if(1==n.length)h=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(n[0]))).documentElement;else if(1<n.length){f.model.beginUpdate();
 try{for(a=0;a<n.length;a++){var l=this.updatePageRoot(new DiagramPage(n[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));f.model.execute(new ChangePage(this,l,l,m))}}finally{f.model.endUpdate()}}}null!=h&&"mxGraphModel"===h.nodeName&&(g=f.importGraphModel(h,b,c,d))}}catch(y){throw e||this.handleError(y,mxResources.get("invalidOrMissingFile")),y;}return g};EditorUi.prototype.importVisio=function(a,b,c){c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});
-var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,c)}catch(t){c(t)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(k){this.handleError(k)}});"undefined"===typeof VsdxExport||
+var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,c)}catch(t){c(t)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(k){this.handleError(k)}});"undefined"!==typeof VsdxExport||
 this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,d,e){var g=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,d,e)}catch(v){this.handleError(v)}finally{null!=e&&e()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(g,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",
 g):mxscript("js/extensions.min.js",g))};EditorUi.prototype.insertLucidChart=function(a,b,c,d,e){e=JSON.parse(a);a=[];if(null!=e.state){e=JSON.parse(e.state);for(var g in e.Pages)a.push(e.Pages[g]);a.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}else a.push(e);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,d),null!=this.pages){var f=this.currentPage;for(b=1;b<a.length;b++)this.insertPage(),
 this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f,h){f=null!=f?f:!0;h=null!=h?h:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,
diff --git a/src/main/webapp/js/atlas-viewer.min.js b/src/main/webapp/js/atlas-viewer.min.js
index dc72ad277b88062bc5752e0a848eb4a64f5a5afe..2995f6188123a75b96341185590ba06640b290ed 100644
--- a/src/main/webapp/js/atlas-viewer.min.js
+++ b/src/main/webapp/js/atlas-viewer.min.js
@@ -2834,7 +2834,7 @@ c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN
 23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var d=new Image,c=this;d.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=d.height;a.width=d.width;e.drawImage(d,0,0);try{b(a.toDataURL())}catch(w){b(c.svgBrokenImage.src)}};
 d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),n=this.editor.extractGraphModel(g.documentElement,null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var p=n.getElementsByTagName("diagram");if(1==p.length)n=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(p[0]))).documentElement;else if(1<p.length){f.model.beginUpdate();
 try{for(a=0;a<p.length;a++){var l=this.updatePageRoot(new DiagramPage(p[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));f.model.execute(new ChangePage(this,l,l,m))}}finally{f.model.endUpdate()}}}null!=n&&"mxGraphModel"===n.nodeName&&(d=f.importGraphModel(n,b,c,e))}}catch(y){throw k||this.handleError(y,mxResources.get("invalidOrMissingFile")),y;}return d};EditorUi.prototype.importVisio=function(a,b,c){c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});
-var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,c)}catch(n){c(n)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"===typeof VsdxExport||
+var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,c)}catch(n){c(n)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"!==typeof VsdxExport||
 this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(w){this.handleError(w)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",
 d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.insertLucidChart=function(a,b,c,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var d in k.Pages)a.push(k.Pages[d]);a.sort(function(a,d){return a.Properties.Order<d.Properties.Order?-1:a.Properties.Order>d.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,e),null!=this.pages){var f=this.currentPage;for(b=1;b<a.length;b++)this.insertPage(),
 this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,l){h=null!=h?h:!0;l=null!=l?l:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,
diff --git a/src/main/webapp/js/atlas.min.js b/src/main/webapp/js/atlas.min.js
index a87acac55be94fa68c765344281ba68bc334b090..7604d97969dac8c509a90fc2e1b7e46bb0adf8eb 100644
--- a/src/main/webapp/js/atlas.min.js
+++ b/src/main/webapp/js/atlas.min.js
@@ -6660,7 +6660,7 @@ e.appendChild(q);d=document.createElement("div");d.style.cssText="text-align:rig
 f(!1)}),n.className="geBtn",d.appendChild(n));n=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();f(!0)});n.className="geBtn gePrimaryBtn";d.appendChild(n);a.editor.cancelFirst||d.appendChild(q);e.appendChild(d);this.container=e};var x=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=
 this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(x.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=
 this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.1.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.1.3";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
 EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
 EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');svrc=EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=
 !0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(u){}try{var b=document.createElement("canvas"),g=new Image;g.onload=function(){try{b.getContext("2d").drawImage(g,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(t){}};g.src="data:image/svg+xml;base64,"+
@@ -6807,7 +6807,7 @@ d&&d({code:App.ERROR_UNKNOWN},a)}),function(){null!=d&&d({code:App.ERROR_UNKNOWN
 23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image,f=this;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);try{b(a.toDataURL())}catch(x){b(f.svgBrokenImage.src)}};
 c.onerror=function(){b(f.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,d,e,h){b=null!=b?b:0;d=null!=d?d:0;var c=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),k=this.editor.extractGraphModel(g.documentElement,null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var p=k.getElementsByTagName("diagram");if(1==p.length)k=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(p[0]))).documentElement;else if(1<p.length){f.model.beginUpdate();
 try{for(a=0;a<p.length;a++){var l=this.updatePageRoot(new DiagramPage(p[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));f.model.execute(new ChangePage(this,l,l,m))}}finally{f.model.endUpdate()}}}null!=k&&"mxGraphModel"===k.nodeName&&(c=f.importGraphModel(k,b,d,e))}}catch(B){throw h||this.handleError(B,mxResources.get("invalidOrMissingFile")),B;}return c};EditorUi.prototype.importVisio=function(a,b,d){d=null!=d?d:mxUtils.bind(this,function(a){this.handleError(a)});
-var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,d)}catch(u){d(u)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"===typeof VsdxExport||
+var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,d)}catch(u){d(u)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"!==typeof VsdxExport||
 this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,d,e,h){var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,d,e,h)}catch(x){this.handleError(x)}finally{null!=h&&h()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(c,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",
 c):mxscript("js/extensions.min.js",c))};EditorUi.prototype.insertLucidChart=function(a,b,d,e,h){h=JSON.parse(a);a=[];if(null!=h.state){h=JSON.parse(h.state);for(var c in h.Pages)a.push(h.Pages[c]);a.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}else a.push(h);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,d,e),null!=this.pages){var f=this.currentPage;for(b=1;b<a.length;b++)this.insertPage(),
 this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,d,e,h,k,l){k=null!=k?k:!0;l=null!=l?l:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,
@@ -7788,8 +7788,8 @@ a.style[mxConstants.STYLE_FILLCOLOR];if(n&&"none"!=n){if(d.appendChild(b("FillFo
 10;break;case "1 2":c=3;break;case "1 4":c=17}d.appendChild(b("LinePattern",c,g))}1==a.style[mxConstants.STYLE_SHADOW]&&(d.appendChild(b("ShdwPattern",1,g)),d.appendChild(b("ShdwForegnd","#000000",g)),d.appendChild(b("ShdwForegndTrans",.6,g)),d.appendChild(b("ShapeShdwType",1,g)),d.appendChild(b("ShapeShdwOffsetX","0.02946278254943948",g)),d.appendChild(b("ShapeShdwOffsetY","-0.02946278254943948",g)),d.appendChild(b("ShapeShdwScaleFactor","1",g)),d.appendChild(b("ShapeShdwBlur","0.05555555555555555",
 g)),d.appendChild(b("ShapeShdwShow",2,g)));1==a.style[mxConstants.STYLE_FLIPH]&&d.appendChild(b("FlipX",1,g));1==a.style[mxConstants.STYLE_FLIPV]&&d.appendChild(b("FlipY",1,g));1==a.style[mxConstants.STYLE_ROUNDED]&&d.appendChild(f("Rounding",.1*a.cell.geometry.width,g));(a=a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR])&&d.appendChild(b("TextBkgnd",a,g))}function g(a,b,d,g){var n=q(d,E.XMLNS,"Shape");n.setAttribute("ID",a);n.setAttribute("NameU","Shape"+a);n.setAttribute("LineStyle","0");n.setAttribute("FillStyle",
 "0");n.setAttribute("TextStyle","0");a=b.width/2;var c=b.height/2;n.appendChild(f("PinX",b.x+a+A.shiftX,d));n.appendChild(f("PinY",g-b.y-c-A.shiftY,d));n.appendChild(f("Width",b.width,d));n.appendChild(f("Height",b.height,d));n.appendChild(f("LocPinX",a,d));n.appendChild(f("LocPinY",c,d));return n}function n(a,b){var d=E.ARROWS_MAP[(null==a?"none":a)+"|"+(null==b?"1":b)];return null!=d?d:1}function C(a){return null==a?2:2>=a?0:3>=a?1:5>=a?2:7>=a?3:9>=a?4:22>=a?5:6}function D(g,c,D,y){var p=c.view.getState(g);
-c=q(D,E.XMLNS,"Shape");var h=l(g.id);c.setAttribute("ID",h);c.setAttribute("NameU","Dynamic connector."+h);c.setAttribute("Name","Dynamic connector."+h);c.setAttribute("Type","Shape");c.setAttribute("Master","4");var z=A.state,h=p.absolutePoints,W=p.cellBounds,u=W.width/2,P=W.height/2;c.appendChild(f("PinX",W.x+u,D));c.appendChild(f("PinY",y-W.y-P,D));c.appendChild(f("Width",W.width,D));c.appendChild(f("Height",W.height,D));c.appendChild(f("LocPinX",u,D));c.appendChild(f("LocPinY",P,D));A.newEdge(c,
-p,D);u=function(a,b){var d=a.x,g=a.y,d=d*z.scale-W.x+z.dx+A.shiftX,g=(b?0:W.height)-g*z.scale+W.y-z.dy-A.shiftY;return{x:d,y:g}};P=u(h[0],!0);c.appendChild(f("BeginX",W.x+P.x,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));c.appendChild(f("BeginY",y-W.y+P.y,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));P=u(h[h.length-1],!0);c.appendChild(f("EndX",W.x+P.x,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));c.appendChild(f("EndY",y-W.y+P.y,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));
+if(null==p)return null;c=q(D,E.XMLNS,"Shape");var h=l(g.id);c.setAttribute("ID",h);c.setAttribute("NameU","Dynamic connector."+h);c.setAttribute("Name","Dynamic connector."+h);c.setAttribute("Type","Shape");c.setAttribute("Master","4");var z=A.state,h=p.absolutePoints,W=p.cellBounds,u=W.width/2,P=W.height/2;c.appendChild(f("PinX",W.x+u,D));c.appendChild(f("PinY",y-W.y-P,D));c.appendChild(f("Width",W.width,D));c.appendChild(f("Height",W.height,D));c.appendChild(f("LocPinX",u,D));c.appendChild(f("LocPinY",
+P,D));A.newEdge(c,p,D);u=function(a,b){var d=a.x,g=a.y,d=d*z.scale-W.x+z.dx+A.shiftX,g=(b?0:W.height)-g*z.scale+W.y-z.dy-A.shiftY;return{x:d,y:g}};P=u(h[0],!0);c.appendChild(f("BeginX",W.x+P.x,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));c.appendChild(f("BeginY",y-W.y+P.y,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));P=u(h[h.length-1],!0);c.appendChild(f("EndX",W.x+P.x,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));c.appendChild(f("EndY",y-W.y+P.y,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));
 c.appendChild(b("BegTrigger","2",D,g.source?"_XFTRIGGER(Sheet."+l(g.source.id)+"!EventXFMod)":null));c.appendChild(b("EndTrigger","2",D,g.target?"_XFTRIGGER(Sheet."+l(g.target.id)+"!EventXFMod)":null));c.appendChild(b("ConFixedCode","6",D));c.appendChild(b("LayerMember","0",D));d(p,c,D);y=p.style[mxConstants.STYLE_STARTSIZE];g=n(p.style[mxConstants.STYLE_STARTARROW],p.style[mxConstants.STYLE_STARTFILL]);c.appendChild(b("BeginArrow",g,D));c.appendChild(b("BeginArrowSize",C(y),D));y=p.style[mxConstants.STYLE_ENDSIZE];
 g=n(p.style[mxConstants.STYLE_ENDARROW],p.style[mxConstants.STYLE_ENDFILL]);c.appendChild(b("EndArrow",g,D));c.appendChild(b("EndArrowSize",C(y),D));null!=p.text&&p.text.checkBounds()&&(A.save(),p.text.paint(A),A.restore());p=q(D,E.XMLNS,"Section");p.setAttribute("N","Geometry");p.setAttribute("IX","0");for(g=0;g<h.length;g++)y=u(h[g]),p.appendChild(a(0==g?"MoveTo":"LineTo",g+1,y.x,y.y,D));p.appendChild(b("NoFill","1",D));p.appendChild(b("NoLine","0",D));c.appendChild(p);return c}function y(a,b,n,
 c,f){var C=a.geometry;if(null!=C){C.relative&&f&&(C=C.clone(),C.x*=f.width,C.y*=f.height,C.relative=0);f=l(a.id);if(!a.treatAsSingle&&0<a.getChildCount()){c=g(f+"10000",C,n,c);c.setAttribute("Type","Group");f=q(n,E.XMLNS,"Shapes");A.save();A.translate(-C.x,-C.y);var p=C.clone();p.x=0;p.y=0;a.setGeometry(p);a.treatAsSingle=!0;p=y(a,b,n,C.height,C);a.treatAsSingle=!1;a.setGeometry(C);f.appendChild(p);for(var h=0;h<a.children.length;h++)p=y(a.children[h],b,n,C.height,C),f.appendChild(p);c.appendChild(f);
@@ -7829,7 +7829,7 @@ p.setAttribute("N","Character");var z=this.createElt("Section");z.setAttribute("
 P);b.fontColor&&C.appendChild(y.createCellElem("Color",b.fontColor));g&&C.appendChild(y.createCellElemScaled("Size",.97*g));f&&C.appendChild(y.createCellElem("Font",f));g=0;b.bold&&(g|=17);b.italic&&(g|=34);b.underline&&(g|=4);C.appendChild(y.createCellElem("Style",g));C.appendChild(y.createCellElem("Case","0"));C.appendChild(y.createCellElem("Pos","0"));C.appendChild(y.createCellElem("FontScale","1"));C.appendChild(y.createCellElem("Letterspace","0"));d.appendChild(C);d=y.createElt("cp");d.setAttribute("IX",
 P++);n.appendChild(d);b=y.xmlDoc.createTextNode(c+(b.blockElem?"\n":""));n.appendChild(b)},Y=function(a,b){b=b||{};for(var d=0;d<a.length;d++)if(3==a[d].nodeType){var g={fontColor:b.fontColor||y.cellState.style.fontColor,fontSize:b.fontSize||y.cellState.style.fontSize,fontFamily:b.fontFamily||y.cellState.style.fontFamily,align:b.align||y.cellState.style.align,bold:b.bold,italic:b.italic,underline:b.underline};K(g,p,z,W,a[d].textContent)}else if(1==a[d].nodeType){var g=a[d].nodeName.toUpperCase(),
 n=a[d].childNodes.length,c=window.getComputedStyle(a[d],null),f="bold"==c.getPropertyValue("font-weight")||b.bold,C="italic"==c.getPropertyValue("font-style")||b.italic,D=0<=c.getPropertyValue("text-decoration").indexOf("underline")||b.underline,h=c.getPropertyValue("text-align"),l;l=c.getPropertyValue("color");l=(l=l.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===l.length?"#"+("0"+parseInt(l[1],10).toString(16)).slice(-2)+("0"+parseInt(l[2],10).toString(16)).slice(-2)+
-("0"+parseInt(l[3],10).toString(16)).slice(-2):"";g={bold:f,italic:C,underline:D,align:h,fontColor:l,fontSize:parseFloat(c.getPropertyValue("font-size")),fontFamily:c.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==c.getPropertyValue("display")||"BR"==g||"LI"==g};0<n?(K(g,p,z,W,""),Y(a[d].childNodes,g)):K(g,p,z,W,a[d].textContent)}};"html"==d&&mxClient.IS_SVG?(h=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1].childNodes,Y(h,{})):K({fontColor:y.cellState.style.fontColor,
+("0"+parseInt(l[3],10).toString(16)).slice(-2):"";g={bold:f,italic:C,underline:D,align:h,fontColor:l,fontSize:parseFloat(c.getPropertyValue("font-size")),fontFamily:c.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==c.getPropertyValue("display")||"BR"==g||"LI"==g};0<n?(K(g,p,z,W,""),Y(a[d].childNodes,g)):K(g,p,z,W,a[d].textContent)}};"html"==d&&mxClient.IS_SVG?(h=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1],null!=h&&Y(h.childNodes,{})):K({fontColor:y.cellState.style.fontColor,
 fontSize:y.cellState.style.fontSize,fontFamily:y.cellState.style.fontFamily},p,z,W,h);d=h=0;switch(f){case "right":h=E/2;break;case "center":h=0;break;case "left":h=-E/2}switch(b){case "top":d=A/2;break;case "middle":d=0;break;case "bottom":d=-A/2}l=Math.max(l,A);q=Math.max(q,E);c=(c-n.x+g.dx)*g.scale;u=(n.height-u+n.y-g.dy)*g.scale;f=q/2;b=l/2;this.shape.appendChild(this.createCellElemScaled("TxtPinX",c));this.shape.appendChild(this.createCellElemScaled("TxtPinY",u));this.shape.appendChild(this.createCellElemScaled("TxtWidth",
 q));this.shape.appendChild(this.createCellElemScaled("TxtHeight",l));this.shape.appendChild(this.createCellElemScaled("TxtLocPinX",f+h));this.shape.appendChild(this.createCellElemScaled("TxtLocPinY",b+d));0!=C&&this.shape.appendChild(this.createCellElem("TxtAngle",(360-C)*Math.PI/180));this.shape.appendChild(p);this.shape.appendChild(W)}};
 mxVsdxCanvas2D.prototype.rotate=function(c,u,q,l,h){0!=c&&(u=this.state,l+=u.dx,h+=u.dy,l*=u.scale,h*=u.scale,this.shape.appendChild(this.createCellElem("Angle",(360-c)*Math.PI/180)),u.rotation+=c,u.rotationCx=l,u.rotationCy=h)};mxVsdxCanvas2D.prototype.stroke=function(){this.geoSec.appendChild(this.createCellElem("NoFill","1"));this.geoSec.appendChild(this.createCellElem("NoLine","0"))};
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index e516628aac7374c709273d294cad82912054bd3a..095036d138f121d02a1d5d8ef50675e6f6bd0d34 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -5426,7 +5426,7 @@
 			}
 		});
 		
-		if (typeof VsdxExport  !== 'undefined' && !this.loadingExtensions && !this.isOffline())
+		if (typeof VsdxExport === 'undefined' && !this.loadingExtensions && !this.isOffline())
 		{
 			this.loadingExtensions = true;
 			mxscript('js/extensions.min.js', delayed);
diff --git a/src/main/webapp/js/diagramly/vsdx/VsdxExport.js b/src/main/webapp/js/diagramly/vsdx/VsdxExport.js
index e7d26ba03f03136ab5e4c538fc85e63d22380610..b1e265616e15a63a715247ad0513474b02c00b5c 100644
--- a/src/main/webapp/js/diagramly/vsdx/VsdxExport.js
+++ b/src/main/webapp/js/diagramly/vsdx/VsdxExport.js
@@ -392,6 +392,11 @@ function VsdxExport(editorUi)
 	{
 		var state = graph.view.getState(cell);
 		
+		if (state == null)
+		{
+			return null;
+		}
+		
 		var shape = createElt(xmlDoc, that.XMLNS, "Shape");
 		var vsdxId = getCellVsdxId(cell.id);
 		shape.setAttribute("ID", vsdxId);
diff --git a/src/main/webapp/js/diagramly/vsdx/mxVsdxCanvas2D.js b/src/main/webapp/js/diagramly/vsdx/mxVsdxCanvas2D.js
index d2f9c4c4b8811905e633e987d91d8bd8958d543c..6262e5316170ad55404cad119351eb5be12639c7 100644
--- a/src/main/webapp/js/diagramly/vsdx/mxVsdxCanvas2D.js
+++ b/src/main/webapp/js/diagramly/vsdx/mxVsdxCanvas2D.js
@@ -921,12 +921,17 @@ mxVsdxCanvas2D.prototype.text = function(x, y, w, h, str, align, valign, wrap, f
 		};
 		
 		if (format == 'html' && mxClient.IS_SVG)
-    	{
+		{
 			//Get the actual HTML label node
-			var ch = this.cellState.text.node.getElementsByTagName('div')[mxClient.NO_FO? 0 : 1].childNodes;
+			var elt = this.cellState.text.node.getElementsByTagName('div')[mxClient.NO_FO? 0 : 1];
 			
-			processNodeChildren(ch, {});
-    	}
+			if (elt != null)
+			{
+				var ch = elt.childNodes;
+				
+				processNodeChildren(ch, {});
+			}
+		}
 		else
 		{
 			//If it is not HTML or SVG, we fall back to removing html format
diff --git a/src/main/webapp/js/embed-static.min.js b/src/main/webapp/js/embed-static.min.js
index b792026a93be16622d541c373acdb3d0994aa61c..b0c9359fc5e4b6fdfb5e2527f788f5218ff87de1 100644
--- a/src/main/webapp/js/embed-static.min.js
+++ b/src/main/webapp/js/embed-static.min.js
@@ -184,7 +184,7 @@ f)+"\n"+u+"}":"{"+z.join(",")+"}";f=u;return l}}"function"!==typeof Date.prototy
 e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
 "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
 "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.1.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.1.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),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:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index 10d6c41c87e78e0b90e1cd0120499cd8b2f6a48d..4f39eb0eff1970eff250596070ea90b1fa48a02f 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -491,8 +491,8 @@ a.style[mxConstants.STYLE_FILLCOLOR];if(n&&"none"!=n){if(d.appendChild(b("FillFo
 10;break;case "1 2":c=3;break;case "1 4":c=17}d.appendChild(b("LinePattern",c,g))}1==a.style[mxConstants.STYLE_SHADOW]&&(d.appendChild(b("ShdwPattern",1,g)),d.appendChild(b("ShdwForegnd","#000000",g)),d.appendChild(b("ShdwForegndTrans",.6,g)),d.appendChild(b("ShapeShdwType",1,g)),d.appendChild(b("ShapeShdwOffsetX","0.02946278254943948",g)),d.appendChild(b("ShapeShdwOffsetY","-0.02946278254943948",g)),d.appendChild(b("ShapeShdwScaleFactor","1",g)),d.appendChild(b("ShapeShdwBlur","0.05555555555555555",
 g)),d.appendChild(b("ShapeShdwShow",2,g)));1==a.style[mxConstants.STYLE_FLIPH]&&d.appendChild(b("FlipX",1,g));1==a.style[mxConstants.STYLE_FLIPV]&&d.appendChild(b("FlipY",1,g));1==a.style[mxConstants.STYLE_ROUNDED]&&d.appendChild(f("Rounding",.1*a.cell.geometry.width,g));(a=a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR])&&d.appendChild(b("TextBkgnd",a,g))}function g(a,b,d,g){var n=q(d,E.XMLNS,"Shape");n.setAttribute("ID",a);n.setAttribute("NameU","Shape"+a);n.setAttribute("LineStyle","0");n.setAttribute("FillStyle",
 "0");n.setAttribute("TextStyle","0");a=b.width/2;var c=b.height/2;n.appendChild(f("PinX",b.x+a+A.shiftX,d));n.appendChild(f("PinY",g-b.y-c-A.shiftY,d));n.appendChild(f("Width",b.width,d));n.appendChild(f("Height",b.height,d));n.appendChild(f("LocPinX",a,d));n.appendChild(f("LocPinY",c,d));return n}function n(a,b){var d=E.ARROWS_MAP[(null==a?"none":a)+"|"+(null==b?"1":b)];return null!=d?d:1}function C(a){return null==a?2:2>=a?0:3>=a?1:5>=a?2:7>=a?3:9>=a?4:22>=a?5:6}function D(g,c,D,y){var p=c.view.getState(g);
-c=q(D,E.XMLNS,"Shape");var h=l(g.id);c.setAttribute("ID",h);c.setAttribute("NameU","Dynamic connector."+h);c.setAttribute("Name","Dynamic connector."+h);c.setAttribute("Type","Shape");c.setAttribute("Master","4");var z=A.state,h=p.absolutePoints,W=p.cellBounds,u=W.width/2,P=W.height/2;c.appendChild(f("PinX",W.x+u,D));c.appendChild(f("PinY",y-W.y-P,D));c.appendChild(f("Width",W.width,D));c.appendChild(f("Height",W.height,D));c.appendChild(f("LocPinX",u,D));c.appendChild(f("LocPinY",P,D));A.newEdge(c,
-p,D);u=function(a,b){var d=a.x,g=a.y,d=d*z.scale-W.x+z.dx+A.shiftX,g=(b?0:W.height)-g*z.scale+W.y-z.dy-A.shiftY;return{x:d,y:g}};P=u(h[0],!0);c.appendChild(f("BeginX",W.x+P.x,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));c.appendChild(f("BeginY",y-W.y+P.y,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));P=u(h[h.length-1],!0);c.appendChild(f("EndX",W.x+P.x,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));c.appendChild(f("EndY",y-W.y+P.y,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));
+if(null==p)return null;c=q(D,E.XMLNS,"Shape");var h=l(g.id);c.setAttribute("ID",h);c.setAttribute("NameU","Dynamic connector."+h);c.setAttribute("Name","Dynamic connector."+h);c.setAttribute("Type","Shape");c.setAttribute("Master","4");var z=A.state,h=p.absolutePoints,W=p.cellBounds,u=W.width/2,P=W.height/2;c.appendChild(f("PinX",W.x+u,D));c.appendChild(f("PinY",y-W.y-P,D));c.appendChild(f("Width",W.width,D));c.appendChild(f("Height",W.height,D));c.appendChild(f("LocPinX",u,D));c.appendChild(f("LocPinY",
+P,D));A.newEdge(c,p,D);u=function(a,b){var d=a.x,g=a.y,d=d*z.scale-W.x+z.dx+A.shiftX,g=(b?0:W.height)-g*z.scale+W.y-z.dy-A.shiftY;return{x:d,y:g}};P=u(h[0],!0);c.appendChild(f("BeginX",W.x+P.x,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));c.appendChild(f("BeginY",y-W.y+P.y,D,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));P=u(h[h.length-1],!0);c.appendChild(f("EndX",W.x+P.x,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));c.appendChild(f("EndY",y-W.y+P.y,D,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));
 c.appendChild(b("BegTrigger","2",D,g.source?"_XFTRIGGER(Sheet."+l(g.source.id)+"!EventXFMod)":null));c.appendChild(b("EndTrigger","2",D,g.target?"_XFTRIGGER(Sheet."+l(g.target.id)+"!EventXFMod)":null));c.appendChild(b("ConFixedCode","6",D));c.appendChild(b("LayerMember","0",D));d(p,c,D);y=p.style[mxConstants.STYLE_STARTSIZE];g=n(p.style[mxConstants.STYLE_STARTARROW],p.style[mxConstants.STYLE_STARTFILL]);c.appendChild(b("BeginArrow",g,D));c.appendChild(b("BeginArrowSize",C(y),D));y=p.style[mxConstants.STYLE_ENDSIZE];
 g=n(p.style[mxConstants.STYLE_ENDARROW],p.style[mxConstants.STYLE_ENDFILL]);c.appendChild(b("EndArrow",g,D));c.appendChild(b("EndArrowSize",C(y),D));null!=p.text&&p.text.checkBounds()&&(A.save(),p.text.paint(A),A.restore());p=q(D,E.XMLNS,"Section");p.setAttribute("N","Geometry");p.setAttribute("IX","0");for(g=0;g<h.length;g++)y=u(h[g]),p.appendChild(a(0==g?"MoveTo":"LineTo",g+1,y.x,y.y,D));p.appendChild(b("NoFill","1",D));p.appendChild(b("NoLine","0",D));c.appendChild(p);return c}function y(a,b,n,
 c,f){var C=a.geometry;if(null!=C){C.relative&&f&&(C=C.clone(),C.x*=f.width,C.y*=f.height,C.relative=0);f=l(a.id);if(!a.treatAsSingle&&0<a.getChildCount()){c=g(f+"10000",C,n,c);c.setAttribute("Type","Group");f=q(n,E.XMLNS,"Shapes");A.save();A.translate(-C.x,-C.y);var p=C.clone();p.x=0;p.y=0;a.setGeometry(p);a.treatAsSingle=!0;p=y(a,b,n,C.height,C);a.treatAsSingle=!1;a.setGeometry(C);f.appendChild(p);for(var h=0;h<a.children.length;h++)p=y(a.children[h],b,n,C.height,C),f.appendChild(p);c.appendChild(f);
@@ -532,7 +532,7 @@ p.setAttribute("N","Character");var z=this.createElt("Section");z.setAttribute("
 P);b.fontColor&&C.appendChild(y.createCellElem("Color",b.fontColor));g&&C.appendChild(y.createCellElemScaled("Size",.97*g));f&&C.appendChild(y.createCellElem("Font",f));g=0;b.bold&&(g|=17);b.italic&&(g|=34);b.underline&&(g|=4);C.appendChild(y.createCellElem("Style",g));C.appendChild(y.createCellElem("Case","0"));C.appendChild(y.createCellElem("Pos","0"));C.appendChild(y.createCellElem("FontScale","1"));C.appendChild(y.createCellElem("Letterspace","0"));d.appendChild(C);d=y.createElt("cp");d.setAttribute("IX",
 P++);n.appendChild(d);b=y.xmlDoc.createTextNode(c+(b.blockElem?"\n":""));n.appendChild(b)},Y=function(a,b){b=b||{};for(var d=0;d<a.length;d++)if(3==a[d].nodeType){var g={fontColor:b.fontColor||y.cellState.style.fontColor,fontSize:b.fontSize||y.cellState.style.fontSize,fontFamily:b.fontFamily||y.cellState.style.fontFamily,align:b.align||y.cellState.style.align,bold:b.bold,italic:b.italic,underline:b.underline};K(g,p,z,W,a[d].textContent)}else if(1==a[d].nodeType){var g=a[d].nodeName.toUpperCase(),
 n=a[d].childNodes.length,c=window.getComputedStyle(a[d],null),f="bold"==c.getPropertyValue("font-weight")||b.bold,C="italic"==c.getPropertyValue("font-style")||b.italic,D=0<=c.getPropertyValue("text-decoration").indexOf("underline")||b.underline,h=c.getPropertyValue("text-align"),l;l=c.getPropertyValue("color");l=(l=l.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===l.length?"#"+("0"+parseInt(l[1],10).toString(16)).slice(-2)+("0"+parseInt(l[2],10).toString(16)).slice(-2)+
-("0"+parseInt(l[3],10).toString(16)).slice(-2):"";g={bold:f,italic:C,underline:D,align:h,fontColor:l,fontSize:parseFloat(c.getPropertyValue("font-size")),fontFamily:c.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==c.getPropertyValue("display")||"BR"==g||"LI"==g};0<n?(K(g,p,z,W,""),Y(a[d].childNodes,g)):K(g,p,z,W,a[d].textContent)}};"html"==d&&mxClient.IS_SVG?(h=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1].childNodes,Y(h,{})):K({fontColor:y.cellState.style.fontColor,
+("0"+parseInt(l[3],10).toString(16)).slice(-2):"";g={bold:f,italic:C,underline:D,align:h,fontColor:l,fontSize:parseFloat(c.getPropertyValue("font-size")),fontFamily:c.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==c.getPropertyValue("display")||"BR"==g||"LI"==g};0<n?(K(g,p,z,W,""),Y(a[d].childNodes,g)):K(g,p,z,W,a[d].textContent)}};"html"==d&&mxClient.IS_SVG?(h=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1],null!=h&&Y(h.childNodes,{})):K({fontColor:y.cellState.style.fontColor,
 fontSize:y.cellState.style.fontSize,fontFamily:y.cellState.style.fontFamily},p,z,W,h);d=h=0;switch(f){case "right":h=E/2;break;case "center":h=0;break;case "left":h=-E/2}switch(b){case "top":d=A/2;break;case "middle":d=0;break;case "bottom":d=-A/2}l=Math.max(l,A);q=Math.max(q,E);c=(c-n.x+g.dx)*g.scale;u=(n.height-u+n.y-g.dy)*g.scale;f=q/2;b=l/2;this.shape.appendChild(this.createCellElemScaled("TxtPinX",c));this.shape.appendChild(this.createCellElemScaled("TxtPinY",u));this.shape.appendChild(this.createCellElemScaled("TxtWidth",
 q));this.shape.appendChild(this.createCellElemScaled("TxtHeight",l));this.shape.appendChild(this.createCellElemScaled("TxtLocPinX",f+h));this.shape.appendChild(this.createCellElemScaled("TxtLocPinY",b+d));0!=C&&this.shape.appendChild(this.createCellElem("TxtAngle",(360-C)*Math.PI/180));this.shape.appendChild(p);this.shape.appendChild(W)}};
 mxVsdxCanvas2D.prototype.rotate=function(c,u,q,l,h){0!=c&&(u=this.state,l+=u.dx,h+=u.dy,l*=u.scale,h*=u.scale,this.shape.appendChild(this.createCellElem("Angle",(360-c)*Math.PI/180)),u.rotation+=c,u.rotationCx=l,u.rotationCy=h)};mxVsdxCanvas2D.prototype.stroke=function(){this.geoSec.appendChild(this.createCellElem("NoFill","1"));this.geoSec.appendChild(this.createCellElem("NoLine","0"))};
diff --git a/src/main/webapp/js/reader.min.js b/src/main/webapp/js/reader.min.js
index b2df48e941c2f5eb2d89e3445f1e56da81e54c8e..a5054eab36c35596972ede040e72f2d41248726c 100644
--- a/src/main/webapp/js/reader.min.js
+++ b/src/main/webapp/js/reader.min.js
@@ -184,7 +184,7 @@ f)+"\n"+u+"}":"{"+z.join(",")+"}";f=u;return l}}"function"!==typeof Date.prototy
 e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
 "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
 "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.1.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+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||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.1.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT: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:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),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:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index 8c3a3cb9f38c0c049dc3badadd0548810f2e144b..2ce328638b2af9b4957be3536527a0e18efec4f3 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -2834,7 +2834,7 @@ c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN
 23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var d=new Image,c=this;d.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=d.height;a.width=d.width;e.drawImage(d,0,0);try{b(a.toDataURL())}catch(w){b(c.svgBrokenImage.src)}};
 d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),n=this.editor.extractGraphModel(g.documentElement,null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var p=n.getElementsByTagName("diagram");if(1==p.length)n=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(p[0]))).documentElement;else if(1<p.length){f.model.beginUpdate();
 try{for(a=0;a<p.length;a++){var l=this.updatePageRoot(new DiagramPage(p[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));f.model.execute(new ChangePage(this,l,l,m))}}finally{f.model.endUpdate()}}}null!=n&&"mxGraphModel"===n.nodeName&&(d=f.importGraphModel(n,b,c,e))}}catch(y){throw k||this.handleError(y,mxResources.get("invalidOrMissingFile")),y;}return d};EditorUi.prototype.importVisio=function(a,b,c){c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});
-var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,c)}catch(n){c(n)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"===typeof VsdxExport||
+var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)try{this.doImportVisio(a,b,c)}catch(n){c(n)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"!==typeof VsdxExport||
 this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(w){this.handleError(w)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",
 d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.insertLucidChart=function(a,b,c,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var d in k.Pages)a.push(k.Pages[d]);a.sort(function(a,d){return a.Properties.Order<d.Properties.Order?-1:a.Properties.Order>d.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,e),null!=this.pages){var f=this.currentPage;for(b=1;b<a.length;b++)this.insertPage(),
 this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,l){h=null!=h?h:!0;l=null!=l?l:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,