From f9d1e617ab49beb59b681fc5e68a6ad636d22733 Mon Sep 17 00:00:00 2001 From: "David Benson [draw.io]" <david@jgraph.com> Date: Tue, 17 Dec 2019 22:16:55 +0000 Subject: [PATCH] 12.4.3 release --- ChangeLog | 5 + VERSION | 2 +- etc/build/build.xml | 1 + etc/mxgraph/mxClient.js | 38 +- src/main/webapp/cache.manifest | 2 +- src/main/webapp/images/sidebar-cisco19.png | Bin 0 -> 91575 bytes src/main/webapp/index.html | 2 +- src/main/webapp/js/app.min.js | 1280 +- src/main/webapp/js/diagramly/App.js | 8 +- src/main/webapp/js/diagramly/Devel.js | 1 + src/main/webapp/js/diagramly/Dialogs.js | 9 +- .../webapp/js/diagramly/DrawioFileSync.js | 10 +- src/main/webapp/js/diagramly/DriveClient.js | 48 +- src/main/webapp/js/diagramly/Editor.js | 3 +- src/main/webapp/js/diagramly/EditorUi.js | 44 +- src/main/webapp/js/diagramly/GraphViewer.js | 11 +- .../js/diagramly/sidebar/Sidebar-Cisco19.js | 576 + .../js/diagramly/sidebar/Sidebar-DFD.js | 4 +- .../webapp/js/diagramly/sidebar/Sidebar.js | 7 +- src/main/webapp/js/mxgraph/EditorUi.js | 142 +- src/main/webapp/js/mxgraph/Graph.js | 143 +- src/main/webapp/js/shapes.min.js | 21 +- src/main/webapp/js/stencils.min.js | 1 + src/main/webapp/js/viewer.min.js | 2517 +- src/main/webapp/resources/dia.txt | 2 +- src/main/webapp/resources/dia_am.txt | 2 +- src/main/webapp/resources/dia_ar.txt | 2 +- src/main/webapp/resources/dia_bg.txt | 2 +- src/main/webapp/resources/dia_bn.txt | 2 +- src/main/webapp/resources/dia_bs.txt | 2 +- src/main/webapp/resources/dia_ca.txt | 108 +- src/main/webapp/resources/dia_cs.txt | 2 +- src/main/webapp/resources/dia_da.txt | 2 +- src/main/webapp/resources/dia_de.txt | 2 +- src/main/webapp/resources/dia_el.txt | 2 +- src/main/webapp/resources/dia_eo.txt | 2 +- src/main/webapp/resources/dia_es.txt | 2 +- src/main/webapp/resources/dia_fa.txt | 2 +- src/main/webapp/resources/dia_fi.txt | 2 +- src/main/webapp/resources/dia_fil.txt | 2 +- src/main/webapp/resources/dia_fr.txt | 2 +- src/main/webapp/resources/dia_gu.txt | 2 +- src/main/webapp/resources/dia_he.txt | 2 +- src/main/webapp/resources/dia_hi.txt | 2 +- src/main/webapp/resources/dia_hr.txt | 2 +- src/main/webapp/resources/dia_hu.txt | 2 +- src/main/webapp/resources/dia_id.txt | 2 +- src/main/webapp/resources/dia_it.txt | 2 +- src/main/webapp/resources/dia_ja.txt | 2 +- src/main/webapp/resources/dia_kn.txt | 2 +- src/main/webapp/resources/dia_ko.txt | 2 +- src/main/webapp/resources/dia_lt.txt | 2 +- src/main/webapp/resources/dia_lv.txt | 2 +- src/main/webapp/resources/dia_ml.txt | 2 +- src/main/webapp/resources/dia_mr.txt | 2 +- src/main/webapp/resources/dia_ms.txt | 2 +- src/main/webapp/resources/dia_my.txt | 2 +- src/main/webapp/resources/dia_no.txt | 2 +- src/main/webapp/resources/dia_pl.txt | 2 +- src/main/webapp/resources/dia_pt-br.txt | 2 +- src/main/webapp/resources/dia_pt.txt | 2 +- src/main/webapp/resources/dia_ro.txt | 2 +- src/main/webapp/resources/dia_si.txt | 2 +- src/main/webapp/resources/dia_sk.txt | 2 +- src/main/webapp/resources/dia_sl.txt | 2 +- src/main/webapp/resources/dia_sr.txt | 2 +- src/main/webapp/resources/dia_sv.txt | 2 +- src/main/webapp/resources/dia_sw.txt | 2 +- src/main/webapp/resources/dia_ta.txt | 2 +- src/main/webapp/resources/dia_te.txt | 2 +- src/main/webapp/resources/dia_th.txt | 2 +- src/main/webapp/resources/dia_tr.txt | 2 +- src/main/webapp/resources/dia_vi.txt | 2 +- src/main/webapp/resources/dia_zh-tw.txt | 2 +- src/main/webapp/resources/dia_zh.txt | 2 +- src/main/webapp/shapes/mxArrows.js | 24 +- src/main/webapp/shapes/mxCisco19.js | 145 + src/main/webapp/shapes/mxDFD.js | 2 +- src/main/webapp/shapes/mxKubernetes.js | 8 +- src/main/webapp/stencils/cisco19.xml | 25930 ++++++++++++++++ 80 files changed, 29033 insertions(+), 2159 deletions(-) create mode 100644 src/main/webapp/images/sidebar-cisco19.png create mode 100644 src/main/webapp/js/diagramly/sidebar/Sidebar-Cisco19.js create mode 100644 src/main/webapp/shapes/mxCisco19.js create mode 100644 src/main/webapp/stencils/cisco19.xml diff --git a/ChangeLog b/ChangeLog index 1123b5402..dffaf8308 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +17-DEC-2019: 12.4.3 + +- Uses fast zoom preview on iOS +- Uses mxGraph 4.0.6 beta 12 + 14-DEC-2019: 12.4.2 - Improves move/resize preview and guides diff --git a/VERSION b/VERSION index fa6a82cff..b2bfe1f0b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -12.4.2 \ No newline at end of file +12.4.3 \ No newline at end of file diff --git a/etc/build/build.xml b/etc/build/build.xml index 8dbb7590e..c5bab6474 100644 --- a/etc/build/build.xml +++ b/etc/build/build.xml @@ -119,6 +119,7 @@ <file name="Sidebar-Bootstrap.js" /> <file name="Sidebar-BPMN.js" /> <file name="Sidebar-Cabinet.js" /> + <file name="Sidebar-Cisco19.js" /> <file name="Sidebar-CiscoSafe.js" /> <file name="Sidebar-Citrix.js" /> <file name="Sidebar-Cumulus.js" /> diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js index af661b3bb..3cb27bd02 100644 --- a/etc/mxgraph/mxClient.js +++ b/etc/mxgraph/mxClient.js @@ -120,19 +120,19 @@ a.mxListenerList.length&&(a.mxListenerList=null)}};return window.removeEventList "mousemove",c);null!=d&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.addListener(a,"touchstart",b),null!=c&&mxEvent.addListener(a,"touchmove",c),null!=d&&mxEvent.addListener(a,"touchend",d))},removeGestureListeners:function(a,b,c,d){null!=b&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",b);null!=c&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointermove":"mousemove",c);null!=d&&mxEvent.removeListener(a, mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.removeListener(a,"touchstart",b),null!=c&&mxEvent.removeListener(a,"touchmove",c),null!=d&&mxEvent.removeListener(a,"touchend",d))},redirectMouseEvents:function(a,b,c,d,e,f,g){var k=function(a){return"function"==typeof c?c(a):c};mxEvent.addGestureListeners(a,function(a){null!=d?d(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a,k(a)))},function(a){null!=e?e(a):mxEvent.isConsumed(a)|| b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a,k(a)))},function(a){null!=f?f(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a,k(a)))});mxEvent.addListener(a,"dblclick",function(a){if(null!=g)g(a);else if(!mxEvent.isConsumed(a)){var c=k(a);b.dblClick(a,null!=c?c.cell:null)}})},release:function(a){try{if(null!=a){mxEvent.removeAllListeners(a);var b=a.childNodes;if(null!=b){var c=b.length;for(a=0;a<c;a+=1)mxEvent.release(b[a])}}}catch(d){}},addMouseWheelListener:function(a, -b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);var c;b.ctrlKey&&b.preventDefault();c=-b.deltaY;.5<Math.abs(c)&&a(b,0<c)})}},disableContextMenu:function(a){mxEvent.addListener(a, -"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!=a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN: -null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"==a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which: -1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a?a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1}, -isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!=c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()): -c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize",NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close", -DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done",EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit", -END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells",CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled", -ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge",START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped", -ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null;mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1; -mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState}; -mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null}; -mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}(); +b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);b.ctrlKey&&b.preventDefault();(.5<Math.abs(b.deltaX)||.5<Math.abs(b.deltaY))&&a(b,0== +b.deltaY?0<-b.deltaX:0<-b.deltaY)})}},disableContextMenu:function(a){mxEvent.addListener(a,"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!= +a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN:null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"== +a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which:1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a? +a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1},isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!= +c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()):c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize", +NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close",DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done", +EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit",END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells", +CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled",ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge", +START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped",ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null; +mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText}; +mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText}; +mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}(); mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&& window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}; mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+ @@ -1412,15 +1412,15 @@ mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.ge mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()}; function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b= -c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e), -mxEvent.consume(b))}}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0; -mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0; -mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a};mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a}; -mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())}; +c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup", +this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0; +mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0;mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a}; +mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())}; mxPanningHandler.prototype.mouseDown=function(a,b){this.mouseDownEvent=b;!b.isConsumed()&&this.isPanningEnabled()&&!this.active&&this.isPanningTrigger(b)&&(this.start(b),this.consumePanningTrigger(b))};mxPanningHandler.prototype.start=function(a){this.dx0=-this.graph.container.scrollLeft;this.dy0=-this.graph.container.scrollTop;this.startX=a.getX();this.startY=a.getY();this.dy=this.dx=null;this.panningTrigger=!0};mxPanningHandler.prototype.consumePanningTrigger=function(a){a.consume()}; mxPanningHandler.prototype.mouseMove=function(a,b){this.dx=b.getX()-this.startX;this.dy=b.getY()-this.startY;if(this.active)this.previewEnabled&&(this.useGrid&&(this.dx=this.graph.snap(this.dx),this.dy=this.graph.snap(this.dy)),this.graph.panGraph(this.dx+this.dx0,this.dy+this.dy0)),this.fireEvent(new mxEventObject(mxEvent.PAN,"event",b));else if(this.panningTrigger){var c=this.active;this.active=Math.abs(this.dx)>this.graph.tolerance||Math.abs(this.dy)>this.graph.tolerance;!c&&this.active&&this.fireEvent(new mxEventObject(mxEvent.PAN_START, "event",b))}(this.active||this.panningTrigger)&&b.consume()};mxPanningHandler.prototype.mouseUp=function(a,b){if(this.active){if(null!=this.dx&&null!=this.dy){if(!this.graph.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.graph.container)){var c=this.graph.getView().scale,d=this.graph.getView().translate;this.graph.panGraph(0,0);this.panGraph(d.x+this.dx/c,d.y+this.dy/c)}b.consume()}this.fireEvent(new mxEventObject(mxEvent.PAN_END,"event",b))}this.reset()}; -mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)};mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; +mxPanningHandler.prototype.zoomGraph=function(a){var b=Math.round(this.initialScale*a.scale*100)/100;null!=this.minScale&&(b=Math.max(this.minScale,b));null!=this.maxScale&&(b=Math.min(this.maxScale,b));this.graph.view.scale!=b&&(this.graph.zoomTo(b),mxEvent.consume(a))};mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)}; +mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; function mxPopupMenuHandler(a,b){null!=a&&(this.graph=a,this.factoryMethod=b,this.graph.addMouseListener(this),this.gestureHandler=mxUtils.bind(this,function(a,b){this.inTolerance=!1}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.init())}mxPopupMenuHandler.prototype=new mxPopupMenu;mxPopupMenuHandler.prototype.constructor=mxPopupMenuHandler;mxPopupMenuHandler.prototype.graph=null;mxPopupMenuHandler.prototype.selectOnPopup=!0; mxPopupMenuHandler.prototype.clearSelectionOnBackground=!0;mxPopupMenuHandler.prototype.triggerX=null;mxPopupMenuHandler.prototype.triggerY=null;mxPopupMenuHandler.prototype.screenX=null;mxPopupMenuHandler.prototype.screenY=null;mxPopupMenuHandler.prototype.init=function(){mxPopupMenu.prototype.init.apply(this);mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.graph.tooltipHandler.hide()}))};mxPopupMenuHandler.prototype.isSelectOnPopup=function(a){return this.selectOnPopup}; mxPopupMenuHandler.prototype.mouseDown=function(a,b){this.isEnabled()&&!mxEvent.isMultiTouchEvent(b.getEvent())&&(this.hideMenu(),this.triggerX=b.getGraphX(),this.triggerY=b.getGraphY(),this.screenX=mxEvent.getMainEvent(b.getEvent()).screenX,this.screenY=mxEvent.getMainEvent(b.getEvent()).screenY,this.popupTrigger=this.isPopupTrigger(b),this.inTolerance=!0)}; diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest index 161537ce1..9106a695b 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! -# 12/14/2019 11:28 AM +# 12/17/2019 10:00 PM app.html index.html?offline=1 diff --git a/src/main/webapp/images/sidebar-cisco19.png b/src/main/webapp/images/sidebar-cisco19.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb0f4e77ce8e8b3b90b14b5ba1c52041becfdbd GIT binary patch literal 91575 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�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 literal 0 HcmV?d00001 diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index 95b81b4be..5ae0654ac 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -158,7 +158,7 @@ if (mxIsElectron5) { - addMeta(null, 'default-src \'self\' \'unsafe-inline\'; connect-src \'self\' https://*.draw.io; img-src * data:; media-src *; font-src *; style-src-elem \'self\' \'unsafe-inline\' https://fonts.googleapis.com', 'Content-Security-Policy'); + addMeta(null, 'default-src \'self\' \'unsafe-inline\'; connect-src \'self\' https://*.draw.io https://fonts.googleapis.com https://fonts.gstatic.com; img-src * data:; media-src *; font-src *; style-src-elem \'self\' \'unsafe-inline\' https://fonts.googleapis.com', 'Content-Security-Policy'); } })(); </script> diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index df8f6a665..554581ff9 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -263,19 +263,19 @@ a.mxListenerList.length&&(a.mxListenerList=null)}};return window.removeEventList "mousemove",c);null!=d&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.addListener(a,"touchstart",b),null!=c&&mxEvent.addListener(a,"touchmove",c),null!=d&&mxEvent.addListener(a,"touchend",d))},removeGestureListeners:function(a,b,c,d){null!=b&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",b);null!=c&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointermove":"mousemove",c);null!=d&&mxEvent.removeListener(a, mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.removeListener(a,"touchstart",b),null!=c&&mxEvent.removeListener(a,"touchmove",c),null!=d&&mxEvent.removeListener(a,"touchend",d))},redirectMouseEvents:function(a,b,c,d,e,f,g){var k=function(a){return"function"==typeof c?c(a):c};mxEvent.addGestureListeners(a,function(a){null!=d?d(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a,k(a)))},function(a){null!=e?e(a):mxEvent.isConsumed(a)|| b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a,k(a)))},function(a){null!=f?f(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a,k(a)))});mxEvent.addListener(a,"dblclick",function(a){if(null!=g)g(a);else if(!mxEvent.isConsumed(a)){var c=k(a);b.dblClick(a,null!=c?c.cell:null)}})},release:function(a){try{if(null!=a){mxEvent.removeAllListeners(a);var b=a.childNodes;if(null!=b){var c=b.length;for(a=0;a<c;a+=1)mxEvent.release(b[a])}}}catch(d){}},addMouseWheelListener:function(a, -b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);var c;b.ctrlKey&&b.preventDefault();c=-b.deltaY;.5<Math.abs(c)&&a(b,0<c)})}},disableContextMenu:function(a){mxEvent.addListener(a, -"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!=a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN: -null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"==a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which: -1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a?a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1}, -isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!=c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()): -c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize",NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close", -DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done",EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit", -END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells",CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled", -ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge",START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped", -ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null;mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1; -mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState}; -mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null}; -mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}(); +b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);b.ctrlKey&&b.preventDefault();(.5<Math.abs(b.deltaX)||.5<Math.abs(b.deltaY))&&a(b,0== +b.deltaY?0<-b.deltaX:0<-b.deltaY)})}},disableContextMenu:function(a){mxEvent.addListener(a,"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!= +a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN:null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"== +a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which:1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a? +a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1},isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!= +c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()):c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize", +NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close",DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done", +EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit",END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells", +CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled",ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge", +START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped",ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null; +mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText}; +mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText}; +mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}(); mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&& window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}; mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+ @@ -1555,15 +1555,15 @@ mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.ge mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()}; function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b= -c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e), -mxEvent.consume(b))}}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0; -mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0; -mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a};mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a}; -mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())}; +c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup", +this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0; +mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0;mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a}; +mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())}; mxPanningHandler.prototype.mouseDown=function(a,b){this.mouseDownEvent=b;!b.isConsumed()&&this.isPanningEnabled()&&!this.active&&this.isPanningTrigger(b)&&(this.start(b),this.consumePanningTrigger(b))};mxPanningHandler.prototype.start=function(a){this.dx0=-this.graph.container.scrollLeft;this.dy0=-this.graph.container.scrollTop;this.startX=a.getX();this.startY=a.getY();this.dy=this.dx=null;this.panningTrigger=!0};mxPanningHandler.prototype.consumePanningTrigger=function(a){a.consume()}; mxPanningHandler.prototype.mouseMove=function(a,b){this.dx=b.getX()-this.startX;this.dy=b.getY()-this.startY;if(this.active)this.previewEnabled&&(this.useGrid&&(this.dx=this.graph.snap(this.dx),this.dy=this.graph.snap(this.dy)),this.graph.panGraph(this.dx+this.dx0,this.dy+this.dy0)),this.fireEvent(new mxEventObject(mxEvent.PAN,"event",b));else if(this.panningTrigger){var c=this.active;this.active=Math.abs(this.dx)>this.graph.tolerance||Math.abs(this.dy)>this.graph.tolerance;!c&&this.active&&this.fireEvent(new mxEventObject(mxEvent.PAN_START, "event",b))}(this.active||this.panningTrigger)&&b.consume()};mxPanningHandler.prototype.mouseUp=function(a,b){if(this.active){if(null!=this.dx&&null!=this.dy){if(!this.graph.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.graph.container)){var c=this.graph.getView().scale,d=this.graph.getView().translate;this.graph.panGraph(0,0);this.panGraph(d.x+this.dx/c,d.y+this.dy/c)}b.consume()}this.fireEvent(new mxEventObject(mxEvent.PAN_END,"event",b))}this.reset()}; -mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)};mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; +mxPanningHandler.prototype.zoomGraph=function(a){var b=Math.round(this.initialScale*a.scale*100)/100;null!=this.minScale&&(b=Math.max(this.minScale,b));null!=this.maxScale&&(b=Math.min(this.maxScale,b));this.graph.view.scale!=b&&(this.graph.zoomTo(b),mxEvent.consume(a))};mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)}; +mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; function mxPopupMenuHandler(a,b){null!=a&&(this.graph=a,this.factoryMethod=b,this.graph.addMouseListener(this),this.gestureHandler=mxUtils.bind(this,function(a,b){this.inTolerance=!1}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.init())}mxPopupMenuHandler.prototype=new mxPopupMenu;mxPopupMenuHandler.prototype.constructor=mxPopupMenuHandler;mxPopupMenuHandler.prototype.graph=null;mxPopupMenuHandler.prototype.selectOnPopup=!0; mxPopupMenuHandler.prototype.clearSelectionOnBackground=!0;mxPopupMenuHandler.prototype.triggerX=null;mxPopupMenuHandler.prototype.triggerY=null;mxPopupMenuHandler.prototype.screenX=null;mxPopupMenuHandler.prototype.screenY=null;mxPopupMenuHandler.prototype.init=function(){mxPopupMenu.prototype.init.apply(this);mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.graph.tooltipHandler.hide()}))};mxPopupMenuHandler.prototype.isSelectOnPopup=function(a){return this.selectOnPopup}; mxPopupMenuHandler.prototype.mouseDown=function(a,b){this.isEnabled()&&!mxEvent.isMultiTouchEvent(b.getEvent())&&(this.hideMenu(),this.triggerX=b.getGraphX(),this.triggerY=b.getGraphY(),this.screenX=mxEvent.getMainEvent(b.getEvent()).screenX,this.screenY=mxEvent.getMainEvent(b.getEvent()).screenY,this.popupTrigger=this.isPopupTrigger(b),this.inTolerance=!0)}; @@ -2152,8 +2152,9 @@ b.getModel().setVisible(e,!0)});this.gestureHandler=mxUtils.bind(this,function(a mxEvent.addListener(window,"orientationchange",this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window,"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){b.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this, function(){b.view.validateBackground()}));b.addListener("gridSizeChanged",mxUtils.bind(this,function(){b.isGridEnabled()&&b.view.validateBackground()}));this.editor.resetGraph()}this.init();b.standalone||this.open()};mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=38; EditorUi.prototype.footerHeight=28;EditorUi.prototype.sidebarFooterHeight=34;EditorUi.prototype.hsplitPosition=640>=screen.width?118:"large"!=urlParams["sidebar-entries"]?212:240;EditorUi.prototype.allowAnimation=!0;EditorUi.prototype.lightboxMaxFitScale=2;EditorUi.prototype.lightboxVerticalDivider=4;EditorUi.prototype.hsplitClickEnabled=!1; -EditorUi.prototype.init=function(){var a=this.editor.graph;if(!a.standalone){mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container,"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()})); -var c=a.setDefaultParent,d=this;this.editor.graph.setDefaultParent=function(){c.apply(this,arguments);d.updateActionStates()};a.editLink=d.actions.get("editLink").funct;this.updateActionStates();this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()}};EditorUi.prototype.onKeyDown=function(a){var c=this.editor.graph;9==a.which&&c.isEnabled()&&!mxEvent.isAltDown(a)&&(c.isEditing()?c.stopEditing(!1):c.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; +EditorUi.prototype.init=function(){var a=this.editor.graph;if(!a.standalone){mxEvent.addListener(a.container,"scroll",mxUtils.bind(this,function(){a.tooltipHandler.hide();null!=a.connectionHandler&&null!=a.connectionHandler.constraintHandler&&a.connectionHandler.constraintHandler.reset()}));a.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){a.tooltipHandler.hide()}));mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container, +"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));var c=a.setDefaultParent,d=this;this.editor.graph.setDefaultParent=function(){c.apply(this,arguments);d.updateActionStates()};a.editLink=d.actions.get("editLink").funct;this.updateActionStates(); +this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()}};EditorUi.prototype.onKeyDown=function(a){var c=this.editor.graph;9==a.which&&c.isEnabled()&&!mxEvent.isAltDown(a)&&(c.isEditing()?c.stopEditing(!1):c.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; EditorUi.prototype.onKeyPress=function(a){var c=this.editor.graph;!this.isImmediateEditingEvent(a)||c.isEditing()||c.isSelectionEmpty()||0===a.which||27===a.which||mxEvent.isAltDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)||(c.escape(),c.startEditing(),mxClient.IS_FF&&(c=c.cellEditor,c.textarea.innerHTML=String.fromCharCode(a.which),a=document.createRange(),a.selectNodeContents(c.textarea),a.collapse(!1),c=window.getSelection(),c.removeAllRanges(),c.addRange(a)))}; EditorUi.prototype.isImmediateEditingEvent=function(a){return!0}; EditorUi.prototype.getCssClassForMarker=function(a,c,d,b){return"flexArrow"==c?null!=d&&d!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":d==mxConstants.ARROW_CLASSIC?"1"==b?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":d==mxConstants.ARROW_CLASSIC_THIN?"1"==b?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":d==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":d==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ @@ -2188,13 +2189,14 @@ y&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?u():v(30))}})}this.editor 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?D.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 A=a.view.getBackgroundPane(),E=a.view.getDrawPane();a.cumulativeZoomFactor=1;var B=null,G=null,J=null,H=function(b){null!=B&&window.clearTimeout(B);window.setTimeout(function(){a.isMouseDown||(B=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)),E.style.transformOrigin="",A.style.transformOrigin="",mxClient.IS_SF?(E.style.transform="scale(1)",A.style.transform="scale(1)",window.setTimeout(function(){E.style.transform="";A.style.transform=""},0)):(E.style.transform= -"",A.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var b=new mxPoint(a.container.scrollLeft,a.container.scrollTop),e=a.view.scale;a.zoom(a.cumulativeZoomFactor);if(a.view.scale!=e){var e=mxUtils.getOffset(a.container),f=0,g=0;null!=G&&(f=a.container.offsetWidth/2-G.x+e.x,g=a.container.offsetHeight/2-G.y+e.y);null!=J&&(f+=b.x-J.x,g+=b.y-J.y);null!=c&&d.chromelessResize(!1,null,f*(a.cumulativeZoomFactor-1),g*(a.cumulativeZoomFactor-1));!mxUtils.hasScrollbars(a.container)|| -0==f&&0==g||(a.container.scrollLeft-=f*(a.cumulativeZoomFactor-1),a.container.scrollTop-=g*(a.cumulativeZoomFactor-1))}a.cumulativeZoomFactor=1;G=J=B=null}),null!=b?b:a.isFastZoomEnabled()?d.wheelZoomDelay:d.lazyZoomDelay))},0)};a.lazyZoom=function(b,c,e){c&&(G=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*= -this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){J= -new mxPoint(a.container.scrollLeft,a.container.scrollTop);b=c?a.container.scrollLeft+a.container.clientWidth/2:G.x+a.container.scrollLeft-a.container.offsetLeft;var f=c?a.container.scrollTop+a.container.clientHeight/2:G.y+a.container.scrollTop-a.container.offsetTop;E.style.transformOrigin=b+"px "+f+"px";E.style.transform="scale("+this.cumulativeZoomFactor+")";A.style.transformOrigin=b+"px "+f+"px";A.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",(c?a.container.clientWidth/2+a.container.scrollLeft-b.offsetLeft+"px":G.x+a.container.scrollLeft-b.offsetLeft-a.container.offsetLeft+"px")+" "+(c?a.container.clientHeight/2+a.container.scrollTop-b.offsetTop+"px":G.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!=d.hoverIcons&&d.hoverIcons.reset()}H(e)};mxEvent.addGestureListeners(a.container,function(a){null!=B&&window.clearTimeout(B)},null,function(b){1!=a.cumulativeZoomFactor&&H(0)});mxEvent.addListener(a.container,"scroll",function(){B&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&H(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,c,d){if((null==this.dialogs||0==this.dialogs.length)&&(d||a.isZoomWheelEvent(b)))for(d=mxEvent.getSource(b);null!=d;){if(d==a.container)return G=new mxPoint(mxEvent.getClientX(b), -mxEvent.getClientY(b)),a.lazyZoom(c),mxEvent.consume(b),!1;d=d.parentNode}}),a.container)};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; +"",A.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var b=new mxPoint(a.container.scrollLeft,a.container.scrollTop),e=mxUtils.getOffset(a.container),f=a.view.scale,g=0,h=0;null!=G&&(g=a.container.offsetWidth/2-G.x+e.x,h=a.container.offsetHeight/2-G.y+e.y);a.zoom(a.cumulativeZoomFactor);a.view.scale!=f&&(null!=J&&(g+=b.x-J.x,h+=b.y-J.y),null!=c&&d.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)));a.cumulativeZoomFactor=1;G=J=B=null}),null!=b?b:a.isFastZoomEnabled()?d.wheelZoomDelay:d.lazyZoomDelay))},0)};a.lazyZoom=function(b,c,e){(c=c||!a.scrollbars)&&(G=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*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/ +this.view.scale;if(a.isFastZoomEnabled()){J=new mxPoint(a.container.scrollLeft,a.container.scrollTop);b=c?a.container.scrollLeft+a.container.clientWidth/2:G.x+a.container.scrollLeft-a.container.offsetLeft;var f=c?a.container.scrollTop+a.container.clientHeight/2:G.y+a.container.scrollTop-a.container.offsetTop;E.style.transformOrigin=b+"px "+f+"px";E.style.transform="scale("+this.cumulativeZoomFactor+")";A.style.transformOrigin=b+"px "+f+"px";A.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",(c?a.container.clientWidth/2+a.container.scrollLeft-b.offsetLeft+"px":G.x+a.container.scrollLeft-b.offsetLeft-a.container.offsetLeft+"px")+" "+(c?a.container.clientHeight/2+a.container.scrollTop-b.offsetTop+"px":G.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!=d.hoverIcons&&d.hoverIcons.reset()}H(e)};mxEvent.addGestureListeners(a.container,function(a){null!=B&&window.clearTimeout(B)},null,function(b){1!=a.cumulativeZoomFactor&&H(0)});mxEvent.addListener(a.container,"scroll",function(){B&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&H(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,c,d){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&& +!a.isZoomWheelEvent(b)){d=a.view.getTranslate();var 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(d=mxEvent.getSource(b);null!=d;){if(d==a.container)return G=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b)),a.lazyZoom(c),mxEvent.consume(b),!1;d=d.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.printLargeImage,mxResources.get("print"))}; EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return 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){null!=this.format&&(this.formatWidth=a||0<this.formatWidth?0:240,this.formatContainer.style.display=a||0<this.formatWidth?"":"none",this.refresh(),this.format.refresh(),this.fireEvent(new mxEventObject("formatWidthChanged")))}; EditorUi.prototype.lightboxFit=function(a){if(this.isDiagramEmpty())this.editor.graph.view.setScale(1);else{var c=urlParams.border,d=60;null!=c&&(d=parseInt(c));this.editor.graph.maxFitScale=this.lightboxMaxFitScale;this.editor.graph.fit(d,null,null,null,null,null,a);this.editor.graph.maxFitScale=null}};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))}; @@ -2204,12 +2206,10 @@ this.editor.fireEvent(new mxEventObject("resetGraphView"))};EditorUi.prototype.s EditorUi.prototype.updateDocumentTitle=function(){var a=this.editor.getOrCreateFilename();null!=this.editor.appName&&(a+=" - "+this.editor.appName);document.title=a};EditorUi.prototype.createHoverIcons=function(){return new HoverIcons(this.editor.graph)};EditorUi.prototype.redo=function(){try{this.editor.graph.isEditing()?document.execCommand("redo",!1,null):this.editor.undoManager.redo()}catch(a){}}; EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var c=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);c==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(d){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()}; EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.editor.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var c=0<a.indexOf("?")?1:0,d;for(d in urlParams)a=0==c?a+"?":a+"&",a+=d+"="+urlParams[d],c++;return a}; -EditorUi.prototype.setScrollbars=function(a){var c=this.editor.graph,d=c.container.style.overflow;c.scrollbars=a;this.editor.updateGraphComponents();d!=c.container.style.overflow&&("hidden"==c.container.style.overflow?(a=c.view.translate,c.view.setTranslate(a.x-c.container.scrollLeft/c.view.scale,a.y-c.container.scrollTop/c.view.scale),c.container.scrollLeft=0,c.container.scrollTop=0,c.minimumGraphSize=null,c.sizeDidChange()):(a=c.view.translate.x,d=c.view.translate.y,c.view.translate.x=0,c.view.translate.y= -0,c.sizeDidChange(),c.container.scrollLeft-=Math.round(a*c.view.scale),c.container.scrollTop-=Math.round(d*c.view.scale)));this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars}; +EditorUi.prototype.setScrollbars=function(a){var c=this.editor.graph,d=c.container.style.overflow;c.scrollbars=a;this.editor.updateGraphComponents();d!=c.container.style.overflow&&(c.container.scrollTop=0,c.container.scrollLeft=0,c.view.scaleAndTranslate(1,0,0),this.resetScrollbars());this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars}; EditorUi.prototype.resetScrollbars=function(){var a=this.editor.graph;if(!this.editor.extendCanvas)a.container.scrollTop=0,a.container.scrollLeft=0,mxUtils.hasScrollbars(a.container)||a.view.setTranslate(0,0);else if(!this.editor.isChromelessView())if(mxUtils.hasScrollbars(a.container))if(a.pageVisible){var c=a.getPagePadding();a.container.scrollTop=Math.floor(c.y-this.editor.initialTopSpacing)-1;a.container.scrollLeft=Math.floor(Math.min(c.x,(a.container.scrollWidth-a.container.clientWidth)/2))- 1;c=a.getGraphBounds();0<c.width&&0<c.height&&(c.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(c.x+c.width-a.container.clientWidth,c.x-10)),c.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(c.y+c.height-a.container.clientHeight,c.y-10)))}else{var c=a.getGraphBounds(),d=Math.max(c.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,c.y-Math.max(20,(a.container.clientHeight-Math.max(c.height, -a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,c.x-Math.max(0,(a.container.clientWidth-d)/2)))}else a.pageVisible?(c=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-c.width)/2)-c.x),Math.floor(Math.max(0,(a.container.clientHeight-c.height)/2)-c.y))):(c=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-c.width)/2)-c.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight- -c.height)/4))-c.y)))}; +a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,c.x-Math.max(0,(a.container.clientWidth-d)/2)))}else{var c=mxRectangle.fromRectangle(a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds()),d=a.view.translate,b=a.view.scale;c.x=c.x/b-d.x;c.y=c.y/b-d.y;c.width/=b;c.height/=b;a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-c.width)/2)-c.x+2),Math.floor((a.pageVisible?0:Math.max(0,(a.container.clientHeight-c.height)/4))-c.y+1))}}; EditorUi.prototype.setPageVisible=function(a){var c=this.editor.graph,d=mxUtils.hasScrollbars(c.container),b=0,f=0;d&&(b=c.view.translate.x*c.view.scale-c.container.scrollLeft,f=c.view.translate.y*c.view.scale-c.container.scrollTop);c.pageVisible=a;c.pageBreaksVisible=a;c.preferPageSize=a;c.view.validateBackground();d&&(a=c.getSelectionCells(),c.clearSelection(),c.setSelectionCells(a));c.sizeDidChange();d&&(c.container.scrollLeft=c.view.translate.x*c.view.scale-b,c.container.scrollTop=c.view.translate.y* c.view.scale-f);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,c,d,b){this.ui=a;this.previousColor=this.color=c;this.previousImage=this.image=d;this.previousFormat=this.format=b;this.ignoreImage=this.ignoreColor=!1} ChangePageSetup.prototype.execute=function(){var a=this.ui.editor.graph;if(!this.ignoreColor){this.color=this.previousColor;var c=a.background;this.ui.setBackgroundColor(this.previousColor);this.previousColor=c}this.ignoreImage||(this.image=this.previousImage,c=a.backgroundImage,this.ui.setBackgroundImage(this.previousImage),this.previousImage=c);null!=this.previousFormat&&(this.format=this.previousFormat,c=a.pageFormat,this.previousFormat.width!=c.width||this.previousFormat.height!=c.height)&&(this.ui.setPageFormat(this.previousFormat), @@ -2510,8 +2510,8 @@ Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.scrollTileSize= Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=null!=urlParams.base?decodeURIComponent(urlParams.base):(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1;Graph.prototype.builtInProperties=["label","tooltip","placeholders","placeholder"];Graph.prototype.standalone=!1; Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,d){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,e=null,h=mxUtils.bind(this,function(a){c=!0;e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),g=mxUtils.bind(this,function(a){c=c&&null!=e&&Math.abs(e.x-mxEvent.getClientX(a))<b&&Math.abs(e.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(c)for(var e=mxEvent.getSource(b);null!= e&&e!=d.node;){if("a"==e.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,e,b);break}e=e.parentNode}});mxEvent.addGestureListeners(d.node,h,g,k);mxEvent.addListener(d.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()}; -(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isFastZoomEnabled=function(){return this.scrollbars&&"nocss"!=urlParams.zoom&&!this.mathEnabled&&!mxClient.NO_FO&&!this.useCssTransforms};Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO};Graph.prototype.getCellAt=function(a,c,d,h,g,k){this.useCssTransforms&&(a=a/this.currentScale-this.currentTranslate.x, -c=c/this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,c,d,h,g,k){h=null!=h?h:!0;g=null!=g?g:!0;null==d&&(d=this.getCurrentRoot(),null==d&&(d=this.getModel().getRoot()));if(null!=d)for(var b=this.model.getChildCount(d)-1;0<=b;b--){var e=this.model.getChildAt(d,b),f=this.getScaledCellAt(a,c,e,h,g,k);if(null!=f)return f;if(this.isCellVisible(e)&&(g&&this.model.isEdge(e)||h&&this.model.isVertex(e))&&(f=this.view.getState(e), +(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isFastZoomEnabled=function(){return"nocss"!=urlParams.zoom&&!this.mathEnabled&&!mxClient.NO_FO&&!this.useCssTransforms};Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO};Graph.prototype.getCellAt=function(a,c,d,h,g,k){this.useCssTransforms&&(a=a/this.currentScale-this.currentTranslate.x,c=c/ +this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,c,d,h,g,k){h=null!=h?h:!0;g=null!=g?g:!0;null==d&&(d=this.getCurrentRoot(),null==d&&(d=this.getModel().getRoot()));if(null!=d)for(var b=this.model.getChildCount(d)-1;0<=b;b--){var e=this.model.getChildAt(d,b),f=this.getScaledCellAt(a,c,e,h,g,k);if(null!=f)return f;if(this.isCellVisible(e)&&(g&&this.model.isEdge(e)||h&&this.model.isVertex(e))&&(f=this.view.getState(e), null!=f&&(null==k||!k(f,a,c))&&this.intersects(f,a,c)))return e}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var c=this.graph.currentTranslate,d=this.graph.currentScale,a=new mxRectangle((a.x+c.x)*d,(a.y+c.y)*d,a.width*d,a.height*d);return a};mxGraphView.prototype.viewStateChanged=function(){this.graph.useCssTransforms? this.validate():this.revalidate();this.graph.sizeDidChange()};var a=mxGraphView.prototype.validate;mxGraphView.prototype.validate=function(b){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x, this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();if(null!=a)if(a=a.parentNode,this.useCssTransforms){var c=a.getAttribute("transform");a.setAttribute("transformOrigin","0 0");var d=Math.round(100*this.currentScale)/100;a.setAttribute("transform","scale("+d+","+d+")translate("+Math.round(100*this.currentTranslate.x)/100+","+Math.round(100*this.currentTranslate.y)/100+")");if(c!=a.getAttribute("transform"))try{if(mxClient.IS_EDGE){var h= @@ -2571,11 +2571,11 @@ HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/png;b IMAGE_PATH+"/refresh.png",38,38);HoverIcons.prototype.tolerance=mxClient.IS_TOUCH?6:0; HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.resetHandler=mxUtils.bind(this,function(){this.reset()});this.repaintHandler= mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler); -this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING,mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(c){a.apply(this.graph, -arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)||!mxEvent.isTouchEvent(c.getEvent())||this.graph.model.isVertex(c.getCell())||this.reset()});var c=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,b){c=!1;var d=b.getEvent();if(this.isResetEvent(d))this.reset();else if(!this.isActive()){var e=this.getState(b.getState());null==e&&mxEvent.isTouchEvent(d)||this.update(e)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,b){var d= -b.getEvent();this.isResetEvent(d)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(d)||this.update(this.getState(b.getState()),b.getGraphX(),b.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(c=!0)}),mouseUp:mxUtils.bind(this,function(a,b){var d=b.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(d),mxEvent.getClientY(d));this.isResetEvent(d)?this.reset():this.isActive()&&!c&&null!=this.mouseDownPoint?this.click(this.currentState, -this.getDirection(),b):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(b.getGraphX(),b.getGraphY())))):mxEvent.isTouchEvent(d)||null!=this.bbox&&mxUtils.contains(this.bbox,b.getGraphX(),b.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(d)||this.reset();c=!1;this.resetActiveArrow()})})}; -HoverIcons.prototype.isResetEvent=function(a,c){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; +this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,this.resetHandler);mxEvent.addListener(this.graph.container,"scroll",this.resetHandler);this.graph.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING, +mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(c){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)||!mxEvent.isTouchEvent(c.getEvent())||this.graph.model.isVertex(c.getCell())||this.reset()});var c=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,b){c=!1;var d=b.getEvent();if(this.isResetEvent(d))this.reset();else if(!this.isActive()){var e=this.getState(b.getState()); +null==e&&mxEvent.isTouchEvent(d)||this.update(e)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,b){var d=b.getEvent();this.isResetEvent(d)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(d)||this.update(this.getState(b.getState()),b.getGraphX(),b.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(c=!0)}),mouseUp:mxUtils.bind(this,function(a,b){var d=b.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(d),mxEvent.getClientY(d)); +this.isResetEvent(d)?this.reset():this.isActive()&&!c&&null!=this.mouseDownPoint?this.click(this.currentState,this.getDirection(),b):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(b.getGraphX(),b.getGraphY())))):mxEvent.isTouchEvent(d)||null!=this.bbox&&mxUtils.contains(this.bbox,b.getGraphX(),b.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(d)|| +this.reset();c=!1;this.resetActiveArrow()})})};HoverIcons.prototype.isResetEvent=function(a,c){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; HoverIcons.prototype.createArrow=function(a,c){var d=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(d=document.createElement(mxClient.VML_PREFIX+":image"),d.setAttribute("src",a.src),d.style.borderStyle="none"):(d=document.createElement("div"),d.style.backgroundImage="url("+a.src+")",d.style.backgroundPosition="center",d.style.backgroundRepeat="no-repeat"),d.style.width=a.width+4+"px",d.style.height=a.height+4+"px",d.style.display=mxClient.IS_QUIRKS?"inline": "inline-block"):(d=mxUtils.createImage(a.src),d.style.width=a.width+"px",d.style.height=a.height+"px",d.style.padding=this.tolerance+"px");null!=c&&d.setAttribute("title",c);d.style.position="absolute";d.style.cursor=this.cssCursor;mxEvent.addGestureListeners(d,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y), this.activeArrow=d,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redirectMouseEvents(d,this.graph,this.currentState);mxEvent.addListener(d,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isMouseEvent(a)&&(null!=this.activeArrow&&this.activeArrow!=d&&mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.graph.connectionHandler.constraintHandler.reset(),mxUtils.setOpacity(d,100),this.activeArrow=d)}));mxEvent.addListener(d,"mouseleave",mxUtils.bind(this,function(a){this.graph.isMouseDown|| @@ -2733,18 +2733,18 @@ a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.bounding function(a,b){M.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var F=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,b){F.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()? "":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};var O=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){O.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells? "":"none");this.redrawHandles()});this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,b){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var c=this.graph.getLinkForCell(this.state.cell), -d=this.graph.getLinksForState(this.state);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.opacity="1", -this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d=document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer"; -this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage);d.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));d.setAttribute("width","13");d.setAttribute("height","10");d.style.marginLeft="4px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d); -mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var R=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init= -function(){R.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this,function(b,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell), -this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var S=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){S.apply(this,arguments);this.constraintHandler.isEnabled= -mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var K=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");K.apply(this);if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x, -this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c,b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+ -this.verticalOffset/2+Editor.hintOffset)+"px"}};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){I.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler), -this.editingHandler=null)};var P=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(P.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+Editor.hintOffset)+ -"px"}};var U=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){U.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var da=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){da.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler), -this.changeHandler=null)}}();Format=function(a,c){this.editorUi=a;this.container=c};Format.prototype.labelIndex=0;Format.prototype.currentIndex=0;Format.prototype.showCloseButton=!0;Format.prototype.inactiveTabBackgroundColor="#f1f3f4";Format.prototype.roundableShapes="label rectangle internalStorage corner parallelogram swimlane triangle trapezoid ext step tee process link rhombus offPageConnector loopLimit hexagon manualInput curlyBracket singleArrow callout doubleArrow flexArrow card umlLifeline".split(" "); +d=this.graph.getLinksForState(this.state);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){try{if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.opacity= +"1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d=document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor= +"pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));var e=document.createElement("img");e.setAttribute("src",Dialog.prototype.clearImage);e.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));e.setAttribute("width","13");e.setAttribute("height","10");e.style.marginLeft="4px";e.style.marginBottom="-1px";e.style.cursor="pointer";this.linkHint.appendChild(e); +mxEvent.addListener(e,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=c)for(d=0;d<c.length;d++){var f=document.createElement("div");f.style.marginTop=null!=b||0<d?"6px":"0px";f.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),mxUtils.getTextContent(c[d])));this.linkHint.appendChild(f)}}}catch(ia){}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var R=mxEdgeHandler.prototype.init; +mxEdgeHandler.prototype.init=function(){R.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this, +function(b,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var S=mxConnectionHandler.prototype.init; +mxConnectionHandler.prototype.init=function(){S.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var K=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");K.apply(this);if(null!=this.state&& +null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c,b.y+b.height));this.linkHint.style.left= +Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+Editor.hintOffset)+"px"}};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){I.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler), +this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var P=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(P.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width- +this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+Editor.hintOffset)+"px"}};var U=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){U.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var da=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){da.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), +this.graph.getSelectionModel().removeListener(this.changeHandler),this.changeHandler=null)}}();Format=function(a,c){this.editorUi=a;this.container=c};Format.prototype.labelIndex=0;Format.prototype.currentIndex=0;Format.prototype.showCloseButton=!0;Format.prototype.inactiveTabBackgroundColor="#f1f3f4";Format.prototype.roundableShapes="label rectangle internalStorage corner parallelogram swimlane triangle trapezoid ext step tee process link rhombus offPageConnector loopLimit hexagon manualInput curlyBracket singleArrow callout doubleArrow flexArrow card umlLifeline".split(" "); Format.prototype.init=function(){var a=this.editorUi.editor,c=a.graph;this.update=mxUtils.bind(this,function(a,b){this.clearSelectionState();this.refresh()});c.getSelectionModel().addListener(mxEvent.CHANGE,this.update);c.addListener(mxEvent.EDITING_STARTED,this.update);c.addListener(mxEvent.EDITING_STOPPED,this.update);c.getModel().addListener(mxEvent.CHANGE,this.update);c.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));a.addListener("autosaveChanged",mxUtils.bind(this,function(){this.refresh()})); this.refresh()};Format.prototype.clearSelectionState=function(){this.selectionState=null};Format.prototype.getSelectionState=function(){null==this.selectionState&&(this.selectionState=this.createSelectionState());return this.selectionState};Format.prototype.createSelectionState=function(){for(var a=this.editorUi.editor.graph.getSelectionCells(),c=this.initSelectionState(),d=0;d<a.length;d++)this.updateSelectionStateForCell(c,a[d],a);return c}; Format.prototype.initSelectionState=function(){return{vertices:[],edges:[],x:null,y:null,width:null,height:null,style:{},containsImage:!1,containsLabel:!1,fill:!0,glass:!0,rounded:!0,comic:!0,autoSize:!1,image:!0,shadow:!0,lineJumps:!0}}; @@ -2858,10 +2858,10 @@ mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabel d=[],e=0;e<c.length;e++)d.push({node:c[e],color:c[e].getAttribute("color")});document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent");a=b.cellEditor.textarea.getElementsByTagName("font");for(e=0;e<a.length;e++)if(e>=d.length||a[e]!=d[e].node||a[e]==d[e].node&&a[e].getAttribute("color")!=d[e].color){d=a[e].firstChild;if(null!=d&&"A"==d.nodeName&&null==d.nextSibling&&null!=d.firstChild){a[e].parentNode.insertBefore(d,a[e]);for(c=d.firstChild;null!=c;){var f=c.nextSibling;a[e].appendChild(c); c=f}d.appendChild(a[e])}break}}else document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){da=a},destroy:function(){da=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){L.style.display=null==a||a==mxConstants.NONE?"none":"";Q.style.display=L.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL,"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL, null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});g.style.fontWeight="bold";h.appendChild(g);h.appendChild(L);b.cellEditor.isContentEditing()||h.appendChild(Q);a.appendChild(h);h=this.createPanel();h.style.paddingTop="2px";h.style.paddingBottom="4px";g=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",null,null,!0);g.style.fontWeight="bold";f.containsLabel||f.autoSize|| -0!=f.edges.length||h.appendChild(g);g=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));g.style.fontWeight="bold";h.appendChild(g);g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="28px";g.style.fontWeight="normal";n=document.createElement("div");n.style.position="absolute";n.style.width="70px";n.style.marginTop="0px";n.style.fontWeight="bold";mxUtils.write(n,mxResources.get("spacing"));g.appendChild(n);var T,X,la, -aa,V,fa=this.addUnitInput(g,"pt",91,44,function(){T.apply(this,arguments)}),ca=this.addUnitInput(g,"pt",20,44,function(){X.apply(this,arguments)});mxUtils.br(g);this.addLabel(g,mxResources.get("top"),91);this.addLabel(g,mxResources.get("global"),20);mxUtils.br(g);mxUtils.br(g);var ga=this.addUnitInput(g,"pt",162,44,function(){la.apply(this,arguments)}),ha=this.addUnitInput(g,"pt",91,44,function(){aa.apply(this,arguments)}),ba=this.addUnitInput(g,"pt",20,44,function(){V.apply(this,arguments)});mxUtils.br(g); -this.addLabel(g,mxResources.get("left"),162);this.addLabel(g,mxResources.get("bottom"),91);this.addLabel(g,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var Z=null,ia=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=Z&&(b.cellEditor.restoreSelection(Z),Z=null);for(var d=b.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode; -null!=d&&d==b.cellEditor.textarea&&null!=b.cellEditor.textarea.firstChild&&("P"!=b.cellEditor.textarea.firstChild.nodeName&&(b.cellEditor.textarea.innerHTML="<p>"+b.cellEditor.textarea.innerHTML+"</p>"),d=b.cellEditor.textarea.firstChild);null!=d&&null!=b.cellEditor.textarea&&d!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(d)&&(d.style.lineHeight=c+"%");a.value=c+" %"},function(a){ia=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==b.cellEditor.textarea&&(Z=b.cellEditor.saveSelection())}); +0!=f.edges.length||h.appendChild(g);g=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));g.style.fontWeight="bold";h.appendChild(g);g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="28px";g.style.fontWeight="normal";n=document.createElement("div");n.style.position="absolute";n.style.width="70px";n.style.marginTop="0px";n.style.fontWeight="bold";mxUtils.write(n,mxResources.get("spacing"));g.appendChild(n);var T,X,ia, +aa,V,fa=this.addUnitInput(g,"pt",91,44,function(){T.apply(this,arguments)}),ca=this.addUnitInput(g,"pt",20,44,function(){X.apply(this,arguments)});mxUtils.br(g);this.addLabel(g,mxResources.get("top"),91);this.addLabel(g,mxResources.get("global"),20);mxUtils.br(g);mxUtils.br(g);var ga=this.addUnitInput(g,"pt",162,44,function(){ia.apply(this,arguments)}),ha=this.addUnitInput(g,"pt",91,44,function(){aa.apply(this,arguments)}),ba=this.addUnitInput(g,"pt",20,44,function(){V.apply(this,arguments)});mxUtils.br(g); +this.addLabel(g,mxResources.get("left"),162);this.addLabel(g,mxResources.get("bottom"),91);this.addLabel(g,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var Z=null,ja=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=Z&&(b.cellEditor.restoreSelection(Z),Z=null);for(var d=b.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode; +null!=d&&d==b.cellEditor.textarea&&null!=b.cellEditor.textarea.firstChild&&("P"!=b.cellEditor.textarea.firstChild.nodeName&&(b.cellEditor.textarea.innerHTML="<p>"+b.cellEditor.textarea.innerHTML+"</p>"),d=b.cellEditor.textarea.firstChild);null!=d&&null!=b.cellEditor.textarea&&d!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(d)&&(d.style.lineHeight=c+"%");a.value=c+" %"},function(a){ja=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==b.cellEditor.textarea&&(Z=b.cellEditor.saveSelection())}); mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(Z=b.cellEditor.saveSelection())});a.value="120 %"}));h=e.cloneNode(!1);h.style.paddingLeft="0px";g=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)}))];this.styleButtons(g);this.styleButtons(n);g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="10px";g.appendChild(this.createTitle(mxResources.get("insert")));g.appendChild(h);a.appendChild(g);mxClient.IS_QUIRKS&&(g.style.height="70");g=e.cloneNode(!1);g.style.paddingLeft="0px";n=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),mxUtils.bind(this,function(){try{null!= B&&b.insertColumn(B,null!=G?G.cellIndex:0)}catch(W){this.editorUi.handleError(W)}}),g),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),mxUtils.bind(this,function(){try{null!=B&&b.insertColumn(B,null!=G?G.cellIndex+1:-1)}catch(W){this.editorUi.handleError(W)}}),g),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),mxUtils.bind(this,function(){try{null!=B&&null!=G&&b.deleteColumn(B,G.cellIndex)}catch(W){this.editorUi.handleError(W)}}), @@ -2877,14 +2877,14 @@ a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MI b==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&b==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);a==mxConstants.TEXT_DIRECTION_RTL?O.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR? O.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(O.value="automatic");if(d||document.activeElement!=ca)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING,2)),ca.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=fa)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_TOP,0)),fa.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ba)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_RIGHT,0)),ba.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!= ha)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_BOTTOM,0)),ha.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_LEFT,0)),ga.value=isNaN(a)?"":a+" pt"});X=this.installInputHandler(ca,mxConstants.STYLE_SPACING,2,-999,999," pt");T=this.installInputHandler(fa,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");V=this.installInputHandler(ba,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");aa=this.installInputHandler(ha, -mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");la=this.installInputHandler(ga,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(K,Y);this.addKeyHandler(ca,Y);this.addKeyHandler(fa,Y);this.addKeyHandler(ba,Y);this.addKeyHandler(ha,Y);this.addKeyHandler(ga,Y);b.getModel().addListener(mxEvent.CHANGE,Y);this.listeners.push({destroy:function(){b.getModel().removeListener(Y)}});Y();if(b.cellEditor.isContentEditing()){var ja=!1,e=function(){ja||(ja=!0,window.setTimeout(function(){for(var a= +mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ia=this.installInputHandler(ga,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(K,Y);this.addKeyHandler(ca,Y);this.addKeyHandler(fa,Y);this.addKeyHandler(ba,Y);this.addKeyHandler(ha,Y);this.addKeyHandler(ga,Y);b.getModel().addListener(mxEvent.CHANGE,Y);this.listeners.push({destroy:function(){b.getModel().removeListener(Y)}});Y();if(b.cellEditor.isContentEditing()){var ka=!1,e=function(){ka||(ka=!0,window.setTimeout(function(){for(var a= b.getSelectedElement();null!=a&&a.nodeType!=mxConstants.NODETYPE_ELEMENT;)a=a.parentNode;if(null!=a){var d=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},e=function(c){if(null!=b.getParentByName(a,c,b.cellEditor.textarea))return!0;for(var d=a;null!=d&&1==d.childNodes.length;)if(d=d.childNodes[0],d.nodeName==c)return!0;return!1},g=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)):""};a==b.cellEditor.textarea&&1==b.cellEditor.textarea.children.length&&b.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.cellEditor.textarea.firstChild);var m=mxUtils.getCurrentStyle(a), n=g(m),p=h(n,m,a),r=a.getElementsByTagName("*");if(0<r.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var t=window.getSelection(),w=0;w<r.length;w++)if(t.containsNode(r[w],!0)){temp=mxUtils.getCurrentStyle(r[w]);var n=Math.max(g(temp),n),y=h(n,temp,r[w]);if(y!=p||isNaN(y))p=""}null!=m&&(c(l[0],"bold"==m.fontWeight||400<m.fontWeight||e("B")||e("STRONG")),c(l[1],"italic"==m.fontStyle||e("I")||e("EM")),c(l[2],e("U")),c(D,e("SUP")),c(x,e("SUB")),b.cellEditor.isTableSelected()?(c(A, d(m.textAlign,"justify")),c(q,d(m.textAlign,"left")),c(u,d(m.textAlign,"center")),c(v,d(m.textAlign,"right"))):(e=b.cellEditor.align||mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),d(m.textAlign,"justify")?(c(A,d(m.textAlign,"justify")),c(q,!1),c(u,!1),c(v,!1)):(c(A,!1),c(q,e==mxConstants.ALIGN_LEFT),c(u,e==mxConstants.ALIGN_CENTER),c(v,e==mxConstants.ALIGN_RIGHT))),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),J=null==B?null:b.getParentByName(a,"TR",B),G=null== -B?null:b.getParentByNames(a,["TD","TH"],B),E.style.display=null!=B?"":"none",document.activeElement!=K&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=I?(a.removeAttribute("size"),a.style.fontSize=I+" pt",I=null):K.value=isNaN(n)?"":n+" pt",y=parseFloat(p),isNaN(y)?ia.value="100 %":ia.value=Math.round(100*y)+" %"),d=m.color.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)+ +B?null:b.getParentByNames(a,["TD","TH"],B),E.style.display=null!=B?"":"none",document.activeElement!=K&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=I?(a.removeAttribute("size"),a.style.fontSize=I+" pt",I=null):K.value=isNaN(n)?"":n+" pt",y=parseFloat(p),isNaN(y)?ja.value="100 %":ja.value=Math.round(100*y)+" %"),d=m.color.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)}),n=m.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)}),null!=da&&(z="#"==d.charAt(0)?d:"#000000",da(z,!0)),null!=P&&(U="#"==n.charAt(0)?n:null,P(U,!0)),null!=k.firstChild&&(m=m.fontFamily,"'"==m.charAt(0)&&(m=m.substring(1)),"'"==m.charAt(m.length-1)&&(m=m.substring(0,m.length-1)),'"'== -m.charAt(0)&&(m=m.substring(1)),'"'==m.charAt(m.length-1)&&(m=m.substring(0,m.length-1)),k.firstChild.nodeValue=m))}ja=!1},0))};(mxClient.IS_FF||mxClient.IS_EDGE||mxClient.IS_IE||mxClient.IS_IE11)&&mxEvent.addListener(b.cellEditor.textarea,"DOMSubtreeModified",e);mxEvent.addListener(b.cellEditor.textarea,"input",e);mxEvent.addListener(b.cellEditor.textarea,"touchend",e);mxEvent.addListener(b.cellEditor.textarea,"mouseup",e);mxEvent.addListener(b.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}}); +m.charAt(0)&&(m=m.substring(1)),'"'==m.charAt(m.length-1)&&(m=m.substring(0,m.length-1)),k.firstChild.nodeValue=m))}ka=!1},0))};(mxClient.IS_FF||mxClient.IS_EDGE||mxClient.IS_IE||mxClient.IS_IE11)&&mxEvent.addListener(b.cellEditor.textarea,"DOMSubtreeModified",e);mxEvent.addListener(b.cellEditor.textarea,"input",e);mxEvent.addListener(b.cellEditor.textarea,"touchend",e);mxEvent.addListener(b.cellEditor.textarea,"mouseup",e);mxEvent.addListener(b.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}}); e()}return a};StyleFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);StyleFormatPanel.prototype.defaultStrokeColor="black"; StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();a.containsLabel||(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,41),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))}; @@ -2982,8 +2982,8 @@ c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.a a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,u.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,u.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,u.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,u.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; this.canvas.curveTo=mxUtils.bind(this,u.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,u.prototype.arcTo)}function v(){mxRectangleShape.call(this)}function t(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function r(){mxActor.call(this)}function y(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function E(){mxShape.call(this)}function B(){mxShape.call(this)} function G(){mxEllipse.call(this)}function J(){mxShape.call(this)}function H(){mxShape.call(this)}function M(){mxRectangleShape.call(this)}function F(){mxShape.call(this)}function O(){mxShape.call(this)}function R(){mxShape.call(this)}function S(){mxShape.call(this)}function K(){mxShape.call(this)}function I(){mxCylinder.call(this)}function P(){mxRectangleShape.call(this)}function U(){mxDoubleEllipse.call(this)}function da(){mxDoubleEllipse.call(this)}function z(){mxArrowConnector.call(this);this.spacing= -0}function L(){mxArrowConnector.call(this);this.spacing=0}function Q(){mxActor.call(this)}function T(){mxRectangleShape.call(this)}function X(){mxActor.call(this)}function la(){mxActor.call(this)}function aa(){mxActor.call(this)}function V(){mxActor.call(this)}function fa(){mxActor.call(this)}function ca(){mxActor.call(this)}function ga(){mxActor.call(this)}function ha(){mxActor.call(this)}function ba(){mxActor.call(this)}function Z(){mxActor.call(this)}function ia(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)} -function ja(){mxEllipse.call(this)}function W(){mxRhombus.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function Ca(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function oa(){mxActor.call(this)}function pa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Ga(a,b,c,d,e,f,g,h,k,l){g+=k;var C=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(C.x-e-g,C.y-f-g,2*g,2*g);l?a.fillAndStroke(): +0}function L(){mxArrowConnector.call(this);this.spacing=0}function Q(){mxActor.call(this)}function T(){mxRectangleShape.call(this)}function X(){mxActor.call(this)}function ia(){mxActor.call(this)}function aa(){mxActor.call(this)}function V(){mxActor.call(this)}function fa(){mxActor.call(this)}function ca(){mxActor.call(this)}function ga(){mxActor.call(this)}function ha(){mxActor.call(this)}function ba(){mxActor.call(this)}function Z(){mxActor.call(this)}function ja(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)} +function ka(){mxEllipse.call(this)}function W(){mxRhombus.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function Ca(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function oa(){mxActor.call(this)}function pa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Ga(a,b,c,d,e,f,g,h,k,l){g+=k;var C=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(C.x-e-g,C.y-f-g,2*g,2*g);l?a.fillAndStroke(): a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),C=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(b,c);a.begin();a.moveTo(0, 0);a.lineTo(d-f,0);a.lineTo(d,f);a.lineTo(d,e);a.lineTo(f,e);a.lineTo(0,e-f);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(d-f,0),a.lineTo(d,f),a.lineTo(f,f),a.close(),a.fill()),0!=C&&(a.setFillAlpha(Math.abs(C)),a.setFillColor(0>C?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(f,f),a.lineTo(f,e),a.lineTo(0,e-f),a.close(),a.fill()),a.begin(),a.moveTo(f, e),a.lineTo(f,f),a.lineTo(0,0),a.moveTo(f,f),a.lineTo(d,f),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var Da=Math.tan(mxUtils.toRadians(30)),ma=(.5-Da)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/Da);a.translate((d-b)/2,(e-b)/ @@ -3050,16 +3050,16 @@ mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};L.prototype.g c,d,e){b=Math.min(e,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(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",Q);mxUtils.extend(T,mxRectangleShape);T.prototype.dx=20;T.prototype.dy=20;T.prototype.isHtmlAllowed=function(){return!1};T.prototype.paintForeground=function(a,b,c,d,e){mxRectangleShape.prototype.paintForeground.apply(this, arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));g=Math.max(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(b,c+f);a.lineTo(b+d,c+f);a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage", T);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=20;X.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b,c),new mxPoint(b, -e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",X);mxUtils.extend(la,mxActor);la.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",la);mxUtils.extend(aa,mxActor);aa.prototype.dx=20;aa.prototype.dy=20;aa.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))); +e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",X);mxUtils.extend(ia,mxActor);ia.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",ia);mxUtils.extend(aa,mxActor);aa.prototype.dx=20;aa.prototype.dy=20;aa.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))); c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d-b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",aa);mxUtils.extend(V,mxActor);V.prototype.arrowWidth= .3;V.prototype.arrowSize=.2;V.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f), new mxPoint(0,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",V);mxUtils.extend(fa,mxActor);fa.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",V.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",V.prototype.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0, e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",fa);mxUtils.extend(ca,mxActor);ca.prototype.size=.1;ca.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(b,0);a.lineTo(d,0);a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b- 2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",ca);mxUtils.extend(ga,mxActor);ga.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",ga);mxUtils.extend(ha,mxActor);ha.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",ha);mxUtils.extend(ba,mxActor);ba.prototype.size= 20;ba.prototype.isRoundable=function(){return!0};ba.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d/2,Math.min(e,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,.8*b),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,.8*b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit",ba);mxUtils.extend(Z,mxActor);Z.prototype.size= -.375;Z.prototype.isRoundable=function(){return!0};Z.prototype.redrawPath=function(a,b,c,d,e){b=e*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,0),new mxPoint(d,e-b),new mxPoint(d/2,e),new mxPoint(0,e-b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(ia,mxEllipse);ia.prototype.paintVertexShape= -function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/2,c+e);a.lineTo(b+d,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",ia);mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke();a.begin();a.moveTo(b+d/2,c);a.lineTo(b+d/2,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse", -Y);mxUtils.extend(ja,mxEllipse);ja.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b+.145*d,c+.145*e);a.lineTo(b+.855*d,c+.855*e);a.end();a.stroke();a.begin();a.moveTo(b+.855*d,c+.145*e);a.lineTo(b+.145*d,c+.855*e);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ja);mxUtils.extend(W,mxRhombus);W.prototype.paintVertexShape=function(a,b,c,d,e){mxRhombus.prototype.paintVertexShape.apply(this,arguments); +.375;Z.prototype.isRoundable=function(){return!0};Z.prototype.redrawPath=function(a,b,c,d,e){b=e*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,0),new mxPoint(d,e-b),new mxPoint(d/2,e),new mxPoint(0,e-b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(ja,mxEllipse);ja.prototype.paintVertexShape= +function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/2,c+e);a.lineTo(b+d,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",ja);mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke();a.begin();a.moveTo(b+d/2,c);a.lineTo(b+d/2,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse", +Y);mxUtils.extend(ka,mxEllipse);ka.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b+.145*d,c+.145*e);a.lineTo(b+.855*d,c+.855*e);a.end();a.stroke();a.begin();a.moveTo(b+.855*d,c+.145*e);a.lineTo(b+.145*d,c+.855*e);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ka);mxUtils.extend(W,mxRhombus);W.prototype.paintVertexShape=function(a,b,c,d,e){mxRhombus.prototype.paintVertexShape.apply(this,arguments); a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",W);mxUtils.extend(Aa,mxEllipse);Aa.prototype.paintVertexShape=function(a,b,c,d,e){a.begin();a.moveTo(b,c);a.lineTo(b+d,c);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke();a.begin();a.moveTo(b,c+e);a.lineTo(b+d,c+e);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",Aa);mxUtils.extend(Ba,mxEllipse);Ba.prototype.paintVertexShape=function(a, b,c,d,e){var f=c+e-5;a.begin();a.moveTo(b,c);a.lineTo(b,c+e);a.moveTo(b,f);a.lineTo(b+10,f-5);a.moveTo(b,f);a.lineTo(b+10,f+5);a.moveTo(b,f);a.lineTo(b+d,f);a.moveTo(b+d,c);a.lineTo(b+d,c+e);a.moveTo(b+d,f);a.lineTo(b+d-10,f-5);a.moveTo(b+d,f);a.lineTo(b+d-10,f+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",Ba);mxUtils.extend(Ca,mxEllipse);Ca.prototype.paintVertexShape=function(a,b,c,d,e){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,arguments); null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(b,c,d,e),a.fill(),a.begin(),a.moveTo(b,c),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(b+d,c):a.moveTo(b+d,c),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(b+d,c+e):a.moveTo(b+d,c+e),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(b,c+e):a.moveTo(b,c+e),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(b,c-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",Ca);mxUtils.extend(ua, @@ -3072,7 +3072,7 @@ l){var m=e*(g+k+1),C=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-C/2, n-p+f*k,m.y-p+n-e*k);a.lineTo(m.x+p-n-f*k,m.y-p-n+e*k);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,b,c,d,e,f,g,h,k,l){var m=e*(g+k+1),C=f*(g+k+1),n=d.clone();d.x-=m;d.y-=C;return function(){a.begin();a.moveTo(n.x-C,n.y+m);a.quadTo(d.x-C,d.y+m,d.x,d.y);a.quadTo(d.x+C,d.y-m,n.x+C,n.y-m);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x, m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var C=e.clone();return function(){b.begin();b.moveTo(C.x,C.y);k?b.lineTo(C.x-f-g/a,C.y-g+f/a):b.lineTo(C.x+g/a-f,C.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ia=function(a,b,c){return qa(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})},qa=function(a,b,c,d,e){return N(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,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,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,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,C=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,C,h/C,m/C,l,g,d,f)})},ka=function(a){return function(b){return[N(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",V.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",V.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1- +1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,C=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,C,h/C,m/C,l,g,d,f)})},la=function(a){return function(b){return[N(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",V.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",V.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))})]}},Ea=function(a,b,c){return function(d){var e=[N(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)})];c&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ea(d));return e}},ta=function(a,b,c,d,e){c=null!=c?c:1;return function(f){var g=[N(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(b.width,d*(c?1:b.width))),b.getCenterY())},function(a,b,d){var g=null!=e?"0"!=mxUtils.getValue(this.state.style, "fixedSize","0"):null;a=g?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));g&&!mxEvent.isAltDown(d.getEvent())&&(a=f.view.graph.snap(a));this.state.style.size=a},null,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ea(f));return g}},Ja=function(a){return function(b){var c=[N(b,["size"],function(b){var c=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",n.prototype.size))));return new mxPoint(b.x+c*b.width*.75,b.y+b.height/4)},function(b,c){this.state.style.size= @@ -3100,13 +3100,13 @@ mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return ne "base",w.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",w.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ea(a));return b},internalStorage:function(a){var b=[N(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, "dx",T.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",T.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)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ea(a));return b},corner:function(a){return[N(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, "dx",X.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.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)))})]},tee:function(a){return[N(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",aa.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, -"dy",aa.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)))})]},singleArrow:ka(1),doubleArrow:ka(.5),folder:function(a){return[N(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",h.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, +"dy",aa.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)))})]},singleArrow:la(1),doubleArrow:la(.5),folder:function(a){return[N(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",h.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, "tabHeight",h.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",h.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",h.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)))})]},document:function(a){return[N(a, ["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.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))})]},tape:function(a){return[N(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",k.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))})]},offPageConnector:function(a){return[N(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.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))})]},step:ta(r.prototype.size,!0,null,!0,r.prototype.fixedSize),hexagon:ta(y.prototype.size,!0,.5,!0),curlyBracket:ta(p.prototype.size,!1),display:ta(pa.prototype.size, !1),cube:Ea(1,a.prototype.size,!1),card:Ea(.5,g.prototype.size,!0),loopLimit:Ea(.5,ba.prototype.size,!0),trapezoid:Ja(.5),parallelogram:Ja(1)};Graph.createHandle=N;Graph.handleFactory=xa;mxVertexHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=xa[a];null==a&&null!=this.state.shape&& this.state.shape.isRoundable()&&(a=xa[mxConstants.SHAPE_RECTANGLE]);if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR);a=xa[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var ya=new mxPoint(1,0),za=new mxPoint(1, -0),ka=mxUtils.toRadians(-30),ya=mxUtils.getRotatedPoint(ya,Math.cos(ka),Math.sin(ka)),ka=mxUtils.toRadians(-150),za=mxUtils.getRotatedPoint(za,Math.cos(ka),Math.sin(ka));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=ya.x,l=ya.y, +0),la=mxUtils.toRadians(-30),ya=mxUtils.getRotatedPoint(ya,Math.cos(la),Math.sin(la)),la=mxUtils.toRadians(-150),za=mxUtils.getRotatedPoint(za,Math.cos(la),Math.sin(la));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=ya.x,l=ya.y, m=za.x,n=za.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,b,c){a-=q.x;var d=b-q.y;b=(n*a-m*d)/(k*n-l*m);a=(l*a-k*d)/(l*m-k*n);p?(c&&(q=new mxPoint(q.x+k*b,q.y+l*b),e.push(q)),q=new mxPoint(q.x+m*a,q.y+n*a)):(c&&(q=new mxPoint(q.x+m*a,q.y+n*a),e.push(q)),q=new mxPoint(q.x+k*b,q.y+l*b));e.push(q)};var q=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 Pa=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return Pa.apply(this,arguments)};c.prototype.constraints=[];d.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};w.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, @@ -3123,8 +3123,8 @@ Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(n h.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0)),a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,d,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),e))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-.5*d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,b,.25*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.75*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.75*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};T.prototype.constraints=mxRectangleShape.prototype.constraints;ca.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints=mxEllipse.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints; -ja.prototype.constraints=mxEllipse.prototype.constraints;ua.prototype.constraints=mxEllipse.prototype.constraints;Q.prototype.constraints=mxRectangleShape.prototype.constraints;va.prototype.constraints=mxRectangleShape.prototype.constraints;pa.prototype.getConstraints=function(a,b,c){a=[];var d=Math.min(b,c/2),e=Math.min(b-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*b);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,.75*(c-e)+e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};T.prototype.constraints=mxRectangleShape.prototype.constraints;ca.prototype.constraints=mxRectangleShape.prototype.constraints;ja.prototype.constraints=mxEllipse.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints; +ka.prototype.constraints=mxEllipse.prototype.constraints;ua.prototype.constraints=mxEllipse.prototype.constraints;Q.prototype.constraints=mxRectangleShape.prototype.constraints;va.prototype.constraints=mxRectangleShape.prototype.constraints;pa.prototype.getConstraints=function(a,b,c){a=[];var d=Math.min(b,c/2),e=Math.min(b-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*b);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(e+b-d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(e+b-d),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));return a};ba.prototype.constraints=mxRectangleShape.prototype.constraints;Z.prototype.constraints= mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, .7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];E.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1, @@ -3142,7 +3142,7 @@ mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxC 0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*b+.25*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),.5*(c+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),c));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*(b-d),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),.5*(c+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*b-.25*d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*e));return a};X.prototype.getConstraints=function(a,b,c){a=[];var d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style, "dx",this.dx)))),e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+d),e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(c+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,c));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};la.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, +0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(c+e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,c));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};ia.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];V.prototype.getConstraints=function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, "arrowSize",this.arrowSize)))),d=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));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-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b-e),c-d));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,0,c-d));return a};fa.prototype.getConstraints=function(a,b,c){a=[];var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",V.prototype.arrowWidth)))),e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",V.prototype.arrowSize)))),d=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,d));a.push(new mxConnectionConstraint(new mxPoint(0, @@ -3391,12 +3391,13 @@ Sidebar.prototype.searchFileData="7Z1rU+O4s/A/zVbNeQGVe8LLXLjtEiZ/HGDqeaNSHJHo4F Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3",gcp:"gcp2"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users VPC".split(" ");Sidebar.prototype.allied_telesis= "Buildings;Computer and Terminals;Media Converters;Security;Storage;Switch;Wireless".split(";");Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";");Sidebar.prototype.gcp2="Paths;Zones;Service Cards;Compute;API Management;Security;Data Analytics;Data Transfer;Cloud AI;Internet of Things;Databases;Storage;Management Tools;Networking;Developer Tools;Expanded Product Cards;User Device Cards;Product Cards;General Icons;Icons AI Machine Learning;Icons Compute;Icons Data Analytics;Icons Management Tools;Icons Networking;Icons Developer Tools;Icons API Management;Icons Internet of Things;Icons Databases;Icons Storage;Icons Security;Icons Migration;Icons Hybrid and Multi Cloud".split(";"); Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";");Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";"); -Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";"); -Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.aws3="Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";"); -Sidebar.prototype.aws4b="Arrows;General Resources;Illustrations;Groups Light;Groups Dark;Analytics;Application Integration;AR VR;Cost Management;Business Productivity;Compute;Customer Engagement;Database;Desktop App Streaming;Developer Tools;Game Development;Internet of Things;IoT Things;IoT Resources;Machine Learning;Management Tools;Media Services;Migration;Mobile Services;Network Content Delivery;Security Identity Compliance;Storage".split(";");Sidebar.prototype.aws4="Arrows;General Resources;Illustrations;Groups;Analytics;Application Integration;AR VR;Cost Management;Blockchain;Business Applications;EC2 Instance Types;Compute;Customer Engagement;Database;End User Computing;Developer Tools;Game Tech;Internet of Things;IoT Things;IoT Resources;Machine Learning;Management Governance;Media Services;Migration Transfer;Mobile;Network Content Delivery;Robotics;Satellite;Security Identity Compliance;Storage".split(";"); -Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam="Data Center;Misc;Software;Storage;UsersStatus;VASComponents;Backup Replication;Products;VMs and Tape;2D;3D".split(";");Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" "); -Sidebar.prototype.customEntries=null;Sidebar.prototype.enabledLibraries=null;Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"},{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"vvd"},{id:"sitemap"},{id:"dfd"},{id:"kubernetes"},{id:"mscae", -prefix:"mscae",libs:"Companies;EnterpriseFlat;IntuneFlat;OMSFlat;System CenterFlat;AI and ML Service;Analytics Service;Compute Service;Compute Service VM;Container Service;Databases Service;DevOps Service;General Service;Identity Service;Integration Service;Internet of Things Service;Intune Service;Management and Governance Service;Management and Governance Service Media;Migrate Service;Mixed Reality Service;Mobile Service;Networking Service;Other Category Service;Security Service;Storage Service;Web Service".split(";")}, +Sidebar.prototype.cisco19="LAN Switching;Routing WAN;Network Management;Data Center;Wireless LAN;Collaboration;Security Clouds Connectors;Endpoint Client Device Icons;DNA SD Access;SD WAN Viptela;ETA Stealthwatch;SAFE".split(";");Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip= +"Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";");Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";"); +Sidebar.prototype.aws3="Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";");Sidebar.prototype.aws4b="Arrows;General Resources;Illustrations;Groups Light;Groups Dark;Analytics;Application Integration;AR VR;Cost Management;Business Productivity;Compute;Customer Engagement;Database;Desktop App Streaming;Developer Tools;Game Development;Internet of Things;IoT Things;IoT Resources;Machine Learning;Management Tools;Media Services;Migration;Mobile Services;Network Content Delivery;Security Identity Compliance;Storage".split(";"); +Sidebar.prototype.aws4="Arrows;General Resources;Illustrations;Groups;Analytics;Application Integration;AR VR;Cost Management;Blockchain;Business Applications;EC2 Instance Types;Compute;Customer Engagement;Database;End User Computing;Developer Tools;Game Tech;Internet of Things;IoT Things;IoT Resources;Machine Learning;Management Governance;Media Services;Migration Transfer;Mobile;Network Content Delivery;Robotics;Satellite;Security Identity Compliance;Storage".split(";");Sidebar.prototype.office= +"Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam="Data Center;Misc;Software;Storage;UsersStatus;VASComponents;Backup Replication;Products;VMs and Tape;2D;3D".split(";");Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" "); +Sidebar.prototype.customEntries=null;Sidebar.prototype.enabledLibraries=null;Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"},{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"vvd"},{id:"sitemap"},{id:"dfd"},{id:"kubernetes"},{id:"cisco19", +prefix:"cisco19",libs:Sidebar.prototype.cisco19},{id:"mscae",prefix:"mscae",libs:"Companies;EnterpriseFlat;IntuneFlat;OMSFlat;System CenterFlat;AI and ML Service;Analytics Service;Compute Service;Compute Service VM;Container Service;Databases Service;DevOps Service;General Service;Identity Service;Integration Service;Internet of Things Service;Intune Service;Management and Governance Service;Management and Governance Service Media;Migrate Service;Mixed Reality Service;Mobile Service;Networking Service;Other Category Service;Security Service;Storage Service;Web Service".split(";")}, {id:"active_directory"},{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart",prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"allied_telesis",prefix:"allied_telesis",libs:Sidebar.prototype.allied_telesis},{id:"cumulus",libs:["cumulus"]},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")}, {id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")},{id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"gcp",prefix:"gcp",libs:Sidebar.prototype.gcp},{id:"gcp2",prefix:"gcp2",libs:Sidebar.prototype.gcp2},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack}, {id:"electrical",prefix:"electrical",libs:Sidebar.prototype.electrical},{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"aws3",prefix:"aws3",libs:Sidebar.prototype.aws3},{id:"aws4b",prefix:"aws4b",libs:Sidebar.prototype.aws4b},{id:"aws4",prefix:"aws4",libs:Sidebar.prototype.aws4},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"cisco_safe",prefix:"cisco_safe",libs:Sidebar.prototype.cisco_safe},{id:"office",prefix:"office", @@ -3411,22 +3412,22 @@ e.entries[f];if(null!=g.libs&&0<g.libs.length){for(var h=[],n=0;n<g.libs.length; id:"arrows2",image:IMAGE_PATH+"/sidebar-arrows2.png"},{title:mxResources.get("clipart"),id:"clipart",image:IMAGE_PATH+"/sidebar-clipart.png"},{title:mxResources.get("flowchart"),id:"flowchart",image:IMAGE_PATH+"/sidebar-flowchart.png"}]},{title:mxResources.get("software"),entries:[{title:"Active Directory",id:"active_directory",image:IMAGE_PATH+"/sidebar-active_directory.png"},{title:mxResources.get("android"),id:"android",image:IMAGE_PATH+"/sidebar-android.png"},{title:"Atlassian",id:"atlassian", image:IMAGE_PATH+"/sidebar-atlassian.png"},{title:mxResources.get("bootstrap"),id:"bootstrap",image:IMAGE_PATH+"/sidebar-bootstrap.png"},{title:"Data Flow Diagram",id:"dfd",image:IMAGE_PATH+"/sidebar-dfd.png"},{title:mxResources.get("entityRelation"),id:"er",image:IMAGE_PATH+"/sidebar-er.png"},{title:mxResources.get("ios"),id:"ios",image:IMAGE_PATH+"/sidebar-ios.png"},{title:mxResources.get("mockups"),id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:"Sitemap",id:"sitemap",image:IMAGE_PATH+ "/sidebar-sitemap.png"},{title:mxResources.get("uml"),id:"uml",image:IMAGE_PATH+"/sidebar-uml.png"}]},{title:mxResources.get("networking"),entries:[{title:"Allied Telesis",id:"allied_telesis",image:IMAGE_PATH+"/sidebar-allied_telesis.png"},{title:"AWS17",id:"aws3",image:IMAGE_PATH+"/sidebar-aws3.png"},{title:"AWS18",id:"aws4b",image:IMAGE_PATH+"/sidebar-aws4.png"},{title:"AWS19",id:"aws4",image:IMAGE_PATH+"/sidebar-aws4.png"},{title:mxResources.get("aws3d"),id:"aws3d",image:IMAGE_PATH+"/sidebar-aws3d.png"}, -{title:mxResources.get("azure"),id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud & Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Cisco Safe",id:"cisco_safe",image:IMAGE_PATH+"/sidebar-cisco_safe.png"},{title:"Cumulus",id:"cumulus",image:IMAGE_PATH+"/sidebar-cumulus.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform",id:"gcp2", -image:IMAGE_PATH+"/sidebar-gcp2.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+"/sidebar-ibm.png"},{title:"Kubernetes",id:"kubernetes",image:IMAGE_PATH+"/sidebar-kubernetes.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+"/sidebar-veeam.png"},{title:"VMware",id:"vvd",image:IMAGE_PATH+ -"/sidebar-vvd.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]}, -{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:"Infographic",id:"infographic",image:IMAGE_PATH+"/sidebar-infographic.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"), -id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};null!=this.tagIndex&&(this.addTagIndex(Graph.decompress(this.tagIndex)),this.tagIndex=null);this.initPalettes()};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler= -function(a,d,c){var b=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==d.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="0% 50%";var e=document.createElement("button");e.style.marginLeft="4px";mxUtils.write(e,"Save");mxEvent.addListener(a,"click",mxUtils.bind(this,function(f){if("BUTTON"==mxEvent.getSource(f).nodeName){f=a.cloneNode(!0);f.style.backgroundImage="";f.style.textDecoration= -"none";f.style.fontWeight="bold";f.style.fontSize="14px";f.style.color="rgb(80, 80, 80)";f.style.width="456px";f.style.backgroundColor="#ffffff";f.style.paddingLeft="6px";var g=f.getElementsByTagName("button")[0];g.parentNode.removeChild(g);var h=d.cloneNode(!0);h.style.backgroundColor="#ffffff";h.style.borderColor="transparent";h.style.width="456px";f=(new DOMParser).parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">'+f.outerHTML+h.outerHTML+"</body>","text/html");this.editorUi.convertImages(f.documentElement, -mxUtils.bind(this,function(a){var d='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head>'+mxUtils.getXml(a)+"</html>";h.style.position="absolute";window.document.body.appendChild(h);var c=h.clientHeight+18;h.parentNode.removeChild(h);this.editorUi.confirm("Image data created",mxUtils.bind(this,function(){(new mxXmlRequest(EXPORT_URL,"w=456&h="+c+"&html="+encodeURIComponent(Graph.compress(d)))).simulate(document,"_blank")}),null, -mxResources.get("save"),mxResources.get("cancel"))}))}else{if("none"==d.style.display){if(b)a.appendChild(e);else if(b=!0,null!=c){null!=e.parentNode&&e.parentNode.removeChild(e);a.style.cursor="wait";var k=a.innerHTML;a.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(d);a.style.cursor="";a.innerHTML=k;a.appendChild(e)},0)}else a.appendChild(e);a.style.backgroundImage="url('"+this.expandedImage+"')";d.style.display="block"}else a.style.backgroundImage="url('"+this.collapsedImage+ -"')",d.style.display="none",null!=e.parentNode&&e.parentNode.removeChild(e);mxEvent.consume(f)}}))});Sidebar.prototype.extractShapeStyle=function(a){if(null!=a&&"shape="==a.substring(0,6)){var d=a.indexOf(";");0>d&&(d=a.length);return a.substring(6,d)}return null};var b=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(a,d,c){var e=b.apply(this,arguments);null!=this.shapetags&&(a=a.toLowerCase(),d=d.toLowerCase(),null!=this.shapetags[a]&&e.push(this.shapetags[a]),d= -a+"."+d,null!=this.shapetags[d]&&e.push(this.shapetags[d]));return e};Sidebar.prototype.addTagIndex=function(a){a=a.split("\n");for(var d=0;d<a.length;d++)if(null!=a[d]){var c=a[d].split("\t");if(1<c.length){var b=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[b]=c)}}};Sidebar.prototype.addSearchFileData=function(a){if(null!=a){a=a.getElementsByTagName("shape");for(var d=0;d<a.length;d++){var c=a[d].getAttribute("style"), -b=this.extractShapeStyle(c);if(null!=c&&null!=b){var e=b.lastIndexOf(".");if(0<e){var f=b.substring(0,e),b=b.substring(e+1,b.length),e=this.getTagsForStencil(f,b,a[d].getAttribute("tags"));if(null!=e){var q=c.indexOf(";"),c="shape="+f+"."+b.toLowerCase()+";"+(0>q?"":c.substring(q+1));this.createVertexTemplateEntry(c,parseInt(a[d].getAttribute("w")),parseInt(a[d].getAttribute("h")),"",b.replace(/_/g," "),null,null,this.filterTags(e.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var a= -GRAPH_IMAGE_PATH,d=STENCIL_PATH,c=this.signs,b=this.rack,e=this.pids,m=this.cisco,q=this.sysml,r=this.eip,n=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);if(null!=this.customEntries)for(var p=0;p<this.customEntries.length;p++)for(var u=this.customEntries[p],t=0;t<u.entries.length;t++)for(var y=u.entries[t],x=0;x<y.libs.length;x++)mxUtils.bind(this,function(a){this.addPalette(y.id+"."+x,this.editorUi.getResource(a.title),!1,mxUtils.bind(this, -function(d,c){var b=mxUtils.bind(this,function(a){this.addEntries(a);this.editorUi.addLibraryEntries(a,d)}),e=mxUtils.bind(this,function(a){d.innerHTML="";var c=document.createElement("div");c.style.color="rgb(179, 179, 179)";c.style.textAlign="center";c.style.paddingTop="6px";mxUtils.write(c,a);d.appendChild(c)});if(a.data)b(a.data);else{d.style.display="none";c.innerHTML="";mxUtils.write(c,mxResources.get("loading")+"...");var f=a.url;this.editorUi.editor.isCorsEnabledForUrl(f)||(f=PROXY_URL+"?url="+ -encodeURIComponent(f));this.editorUi.loadUrl(f,mxUtils.bind(this,function(f){d.style.display="block";c.innerHTML="";mxUtils.write(c,this.editorUi.getResource(a.title));try{var g=mxUtils.parseXml(f);if("mxlibrary"==g.documentElement.nodeName){var h=JSON.parse(mxUtils.getTextContent(g.documentElement));b(h)}else e(mxResources.get("notALibraryFile"))}catch(B){e(mxResources.get("error")+": "+B.message)}}))}}))})(y.libs[x]);this.addGeneralPalette(null==this.customEntries);this.addMiscPalette(!1);this.addAdvancedPalette(!1); -this.addBasicPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),d+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",a+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), +{title:mxResources.get("azure"),id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud & Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Cisco19",id:"cisco19",image:IMAGE_PATH+"/sidebar-cisco19.png"},{title:"Cisco Safe",id:"cisco_safe",image:IMAGE_PATH+"/sidebar-cisco_safe.png"},{title:"Cumulus",id:"cumulus",image:IMAGE_PATH+"/sidebar-cumulus.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+ +"/sidebar-citrix.png"},{title:"Google Cloud Platform",id:"gcp2",image:IMAGE_PATH+"/sidebar-gcp2.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+"/sidebar-ibm.png"},{title:"Kubernetes",id:"kubernetes",image:IMAGE_PATH+"/sidebar-kubernetes.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+ +"/sidebar-veeam.png"},{title:"VMware",id:"vvd",image:IMAGE_PATH+"/sidebar-vvd.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"), +id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:"Infographic",id:"infographic",image:IMAGE_PATH+"/sidebar-infographic.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+ +"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};null!=this.tagIndex&&(this.addTagIndex(Graph.decompress(this.tagIndex)),this.tagIndex=null);this.initPalettes()}; +"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(a,d,c){var b=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==d.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="0% 50%";var e=document.createElement("button");e.style.marginLeft="4px";mxUtils.write(e,"Save");mxEvent.addListener(a,"click",mxUtils.bind(this,function(f){if("BUTTON"==mxEvent.getSource(f).nodeName){f= +a.cloneNode(!0);f.style.backgroundImage="";f.style.textDecoration="none";f.style.fontWeight="bold";f.style.fontSize="14px";f.style.color="rgb(80, 80, 80)";f.style.width="456px";f.style.backgroundColor="#ffffff";f.style.paddingLeft="6px";var g=f.getElementsByTagName("button")[0];g.parentNode.removeChild(g);var h=d.cloneNode(!0);h.style.backgroundColor="#ffffff";h.style.borderColor="transparent";h.style.width="456px";f=(new DOMParser).parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">'+ +f.outerHTML+h.outerHTML+"</body>","text/html");this.editorUi.convertImages(f.documentElement,mxUtils.bind(this,function(a){var d='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head>'+mxUtils.getXml(a)+"</html>";h.style.position="absolute";window.document.body.appendChild(h);var c=h.clientHeight+18;h.parentNode.removeChild(h);this.editorUi.confirm("Image data created",mxUtils.bind(this,function(){(new mxXmlRequest(EXPORT_URL,"w=456&h="+ +c+"&html="+encodeURIComponent(Graph.compress(d)))).simulate(document,"_blank")}),null,mxResources.get("save"),mxResources.get("cancel"))}))}else{if("none"==d.style.display){if(b)a.appendChild(e);else if(b=!0,null!=c){null!=e.parentNode&&e.parentNode.removeChild(e);a.style.cursor="wait";var k=a.innerHTML;a.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(d);a.style.cursor="";a.innerHTML=k;a.appendChild(e)},0)}else a.appendChild(e);a.style.backgroundImage="url('"+this.expandedImage+ +"')";d.style.display="block"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",d.style.display="none",null!=e.parentNode&&e.parentNode.removeChild(e);mxEvent.consume(f)}}))});Sidebar.prototype.extractShapeStyle=function(a){if(null!=a&&"shape="==a.substring(0,6)){var d=a.indexOf(";");0>d&&(d=a.length);return a.substring(6,d)}return null};var b=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(a,d,c){var e=b.apply(this,arguments);null!=this.shapetags&&(a=a.toLowerCase(), +d=d.toLowerCase(),null!=this.shapetags[a]&&e.push(this.shapetags[a]),d=a+"."+d,null!=this.shapetags[d]&&e.push(this.shapetags[d]));return e};Sidebar.prototype.addTagIndex=function(a){a=a.split("\n");for(var d=0;d<a.length;d++)if(null!=a[d]){var c=a[d].split("\t");if(1<c.length){var b=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[b]=c)}}};Sidebar.prototype.addSearchFileData=function(a){if(null!=a){a=a.getElementsByTagName("shape"); +for(var d=0;d<a.length;d++){var c=a[d].getAttribute("style"),b=this.extractShapeStyle(c);if(null!=c&&null!=b){var e=b.lastIndexOf(".");if(0<e){var f=b.substring(0,e),b=b.substring(e+1,b.length),e=this.getTagsForStencil(f,b,a[d].getAttribute("tags"));if(null!=e){var q=c.indexOf(";"),c="shape="+f+"."+b.toLowerCase()+";"+(0>q?"":c.substring(q+1));this.createVertexTemplateEntry(c,parseInt(a[d].getAttribute("w")),parseInt(a[d].getAttribute("h")),"",b.replace(/_/g," "),null,null,this.filterTags(e.join(" ")))}}}}}}; +Sidebar.prototype.initPalettes=function(){var a=GRAPH_IMAGE_PATH,d=STENCIL_PATH,c=this.signs,b=this.rack,e=this.pids,m=this.cisco,q=this.sysml,r=this.eip,n=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);if(null!=this.customEntries)for(var p=0;p<this.customEntries.length;p++)for(var u=this.customEntries[p],t=0;t<u.entries.length;t++)for(var y=u.entries[t],x=0;x<y.libs.length;x++)mxUtils.bind(this,function(a){this.addPalette(y.id+"."+x,this.editorUi.getResource(a.title), +!1,mxUtils.bind(this,function(d,c){var b=mxUtils.bind(this,function(a){this.addEntries(a);this.editorUi.addLibraryEntries(a,d)}),e=mxUtils.bind(this,function(a){d.innerHTML="";var c=document.createElement("div");c.style.color="rgb(179, 179, 179)";c.style.textAlign="center";c.style.paddingTop="6px";mxUtils.write(c,a);d.appendChild(c)});if(a.data)b(a.data);else{d.style.display="none";c.innerHTML="";mxUtils.write(c,mxResources.get("loading")+"...");var f=a.url;this.editorUi.editor.isCorsEnabledForUrl(f)|| +(f=PROXY_URL+"?url="+encodeURIComponent(f));this.editorUi.loadUrl(f,mxUtils.bind(this,function(f){d.style.display="block";c.innerHTML="";mxUtils.write(c,this.editorUi.getResource(a.title));try{var g=mxUtils.parseXml(f);if("mxlibrary"==g.documentElement.nodeName){var h=JSON.parse(mxUtils.getTextContent(g.documentElement));b(h)}else e(mxResources.get("notALibraryFile"))}catch(B){e(mxResources.get("error")+": "+B.message)}}))}}))})(y.libs[x]);this.addGeneralPalette(null==this.customEntries);this.addMiscPalette(!1); +this.addAdvancedPalette(!1);this.addBasicPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),d+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",a+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), "Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",a+"/lib/clip_art/finance/", "_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",a+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), "Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",a+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), @@ -3434,7 +3435,7 @@ this.addBasicPalette();this.addStencilPalette("arrows",mxResources.get("arrows") Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",a+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); this.addImagePalette("telco","Clipart / Telecommunication",a+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));this.addFlowchartPalette();this.addActiveDirectoryPalette();this.addAndroidPalette();this.addAtlassianPalette();this.addBootstrapPalette();this.addDFDPalette();this.addErPalette();this.addIos7Palette(); this.addIosPalette();this.addKubernetesPalette();this.addMockupPalette();this.addSitemapPalette();this.addUmlPalette(!1);this.addAlliedTelesisPalette();this.addAWS3Palette();this.addAWS4bPalette();this.addAWS4Palette();this.addAWS3DPalette();this.addAzurePalette();this.addMSCAEPalette();for(p=0;p<m.length;p++)this.addStencilPalette("cisco"+m[p],"Cisco / "+m[p],d+"/cisco/"+m[p].toLowerCase().replace(/ /g,"_")+".xml",";html=1;pointerEvents=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;", -null,null,1.6);this.addCiscoSafePalette();this.addCumulusPalette();this.addCitrixPalette();this.addGCP2Palette();this.addIBMPalette();this.addNetworkPalette();this.addOfficePalette();for(p=0;p<b.length;p++)"general"===b[p].toLowerCase()?this.addRackGeneralPalette():"f5"===b[p].toLowerCase()?this.addRackF5Palette():"dell"===b[p].toLowerCase()?this.addRackDellPalette():this.addStencilPalette("rack"+b[p],"Rack / "+b[p],d+"/rack/"+b[p].toLowerCase()+".xml",";html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;"); +null,null,1.6);this.addCisco19Palette();this.addCiscoSafePalette();this.addCumulusPalette();this.addCitrixPalette();this.addGCP2Palette();this.addIBMPalette();this.addNetworkPalette();this.addOfficePalette();for(p=0;p<b.length;p++)"general"===b[p].toLowerCase()?this.addRackGeneralPalette():"f5"===b[p].toLowerCase()?this.addRackF5Palette():"dell"===b[p].toLowerCase()?this.addRackDellPalette():this.addStencilPalette("rack"+b[p],"Rack / "+b[p],d+"/rack/"+b[p].toLowerCase()+".xml",";html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;"); this.addVeeamPalette();this.addVVDPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addBpmnPalette(d,!1);this.addLeanMappingPalette();for(p=0;p<q.length;p++)"Model Elements"==q[p]?this.addSysMLModelElementsPalette():"Blocks"==q[p]?this.addSysMLBlocksPalette():"Ports and Flows"==q[p]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[p]?this.addSysMLConstraintBlocksPalette():"Activities"==q[p]?this.addSysMLActivitiesPalette():"Interactions"==q[p]?this.addSysMLInteractionsPalette(): "State Machines"==q[p]?this.addSysMLStateMachinesPalette():"Use Cases"==q[p]?this.addSysMLUseCasesPalette():"Allocations"==q[p]?this.addSysMLAllocationsPalette():"Requirements"==q[p]?this.addSysMLRequirementsPalette():"Profiles"==q[p]?this.addSysMLProfilesPalette():"Stereotypes"==q[p]&&this.addSysMLStereotypesPalette();this.addCabinetsPalette();this.addInfographicPalette();for(p=0;p<r.length;p++)"Message Construction"==r[p]?this.addEipMessageConstructionPalette():"Message Routing"==r[p]?this.addEipMessageRoutingPalette(): "Message Transformation"==r[p]?this.addEipMessageTransformationPalette():"Messaging Channels"==r[p]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==r[p]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==r[p]?this.addEipMessagingSystemsPalette():"System Management"==r[p]&&this.addEipSystemManagementPalette();this.addElectricalPalette();this.addFloorplanPalette();for(p=0;p<n.length;p++)"Bottom Navigation"==n[p]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==n[p]?this.addGMDLBottomSheetsPalette(): @@ -4889,7 +4890,105 @@ null,null,this.getTagsForStencil("mxgraph.cabinets","surge_protection_3p","cabin 25,25,"","Terminal 4mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2;",2.5,30,"","Terminal 4-6mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_4_6mm2_x10;",25,30,"","Terminal 4-6mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_4_6mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+ "terminal_6_25mm2;",5,37.5,"","Terminal 6-25mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_6_25mm2_x10;",50,37.5,"","Terminal 6-25mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_6_25mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_40mm2;",11,50,"","Terminal 40mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2","cabinet ").join(" ")), this.createVertexTemplateEntry(a+"terminal_40mm2_x10;",50*2.2,50,"","Terminal 40mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_40mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2;",12.5,50*1.1,"","Terminal 50mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_50mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_50mm2_x10;",125,50*1.1,"","Terminal 50mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets", -"terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){Sidebar.prototype.addCiscoSafePalette=function(){this.addCiscoSafeArchitecturePalette();this.addCiscoSafeCapabilityPalette();this.addCiscoSafeDesignPalette();this.addCiscoSafeThreatPalette()};Sidebar.prototype.addCiscoSafeArchitecturePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#6ABD46;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco_safe.architecture."; +"terminal_50mm2_x10","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2;",15,70,"","Terminal 75mm2",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2","cabinet ").join(" ")),this.createVertexTemplateEntry(a+"terminal_75mm2_x10;",150,70,"","Terminal 75mm2 x10",null,null,this.getTagsForStencil("mxgraph.cabinets","terminal_75mm2_x10","cabinet ").join(" "))];this.addPalette("cabinets",mxResources.get("cabinets"),!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))}})();(function(){Sidebar.prototype.addCisco19Palette=function(){this.addCisco19LANSwitchingPalette();this.addCisco19RoutingWANPalette();this.addCisco19NetworkManagementPalette();this.addCisco19DataCenterPalette();this.addCisco19WirelessLANPalette();this.addCisco19CollaborationPalette();this.addCisco19SecurityCloudsAndConnectorsPalette();this.addCisco19EndpointClientDeviceIconsPalette();this.addCisco19DNASDAccessPalette();this.addCisco19SDWANViptelaPalette();this.addCisco19StealthwatchPalette();this.addCisco19SafePalette()}; +Sidebar.prototype.addCisco19LANSwitchingPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19LAN Switching","Cisco 19 / LAN Switching",!1, +[this.createVertexTemplateEntry(a+"rect;prIcon=l2_switch;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","L2 Switch",null,null,this.getTagsForStencil("mxgraph.cisco19","l2 switch","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l3_switch;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","L3 Switch",null,null,this.getTagsForStencil("mxgraph.cisco19","l3 switch","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l2_modular;fillColor=#FAFAFA;strokeColor=#005073;", +50,73,"","L2 Modular",null,null,this.getTagsForStencil("mxgraph.cisco19","l2 modular","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l3_modular;fillColor=#FAFAFA;strokeColor=#005073;",50,73,"","L3 Modular",null,null,this.getTagsForStencil("mxgraph.cisco19","l3 modular","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=6500_vss;fillColor=#FAFAFA;strokeColor=#005073;",50,73,"","6500 VSS",null,null,this.getTagsForStencil("mxgraph.cisco19", +"6500 vss","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l2_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;",50,95,"","L2 Switch with Dual Supervisor",null,null,this.getTagsForStencil("mxgraph.cisco19","l2 switch with dual supervisor","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l3_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;",50,95,"","L3 Switch with Dual Supervisor", +null,null,this.getTagsForStencil("mxgraph.cisco19","l3 switch with dual supervisor","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l2_modular2;fillColor=#FAFAFA;strokeColor=#005073;",50,50*2.05,"","L2 Modular",null,null,this.getTagsForStencil("mxgraph.cisco19","l2 modular","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l3_modular2;fillColor=#FAFAFA;strokeColor=#005073;",50,65,"","L3 Modular",null, +null,this.getTagsForStencil("mxgraph.cisco19","l3 modular","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=6500_vss2;fillColor=#FAFAFA;strokeColor=#005073;",50,65,"","L3 Modular",null,null,this.getTagsForStencil("mxgraph.cisco19","l3 modular","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_catalyst_switch_color;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Secure Catalyst Switch (color)", +null,null,this.getTagsForStencil("mxgraph.cisco19","secure catalyst switch color","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_catalyst_switch_subdued;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Secure Catalyst Switch (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure catalyst switch subdued","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Secure Switch (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure switch color","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Secure Switch (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure switch subdued","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Workgroup Switch (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","workgroup switch color","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Workgroup Switch (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","workgroup switch subdued","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_catalyst_switch_color3;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Secure Catalyst Switch (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure catalyst switch color","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_catalyst_switch_color2;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Secure Catalyst Switch (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure catalyst switch color","cisco lan switching local area network").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=secure_catalyst_switch_subdued2;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Secure Catalyst Switch (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure catalyst switch subdued","cisco lan switching local area network").join(" "))])};Sidebar.prototype.addCisco19RoutingWANPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19."; +this.addPaletteFunctions("cisco19Routing WAN","Cisco 19 / Routing WAN",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=router;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Router",null,null,this.getTagsForStencil("mxgraph.cisco19","router","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=csr_1000v;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","CSR1000v",null,null,this.getTagsForStencil("mxgraph.cisco19","csr1000v","cisco routing wan wide area network").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=wireless_router;fillColor=#FAFAFA;strokeColor=#005073;",50,60,"","Wireless Router",null,null,this.getTagsForStencil("mxgraph.cisco19","wireless router","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=l3_modular3;fillColor=#FAFAFA;strokeColor=#C1272D;",50,50,"","L3 Modular",null,null,this.getTagsForStencil("mxgraph.cisco19","l3 modular","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=ucs_express;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","UCS Express",null,null,this.getTagsForStencil("mxgraph.cisco19","ucs express","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=router_with_voice;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Router with Voice",null,null,this.getTagsForStencil("mxgraph.cisco19","router with voice","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=router_with_firewall;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Router with Firewall",null,null,this.getTagsForStencil("mxgraph.cisco19","router with firewall","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=netflow_router;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","NetFlow Router",null,null,this.getTagsForStencil("mxgraph.cisco19","netflow router","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Secure Router (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure router color","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Secure Router (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure router subdued","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ip_telephone_router;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","IP Telephone Router",null,null,this.getTagsForStencil("mxgraph.cisco19","ip telephone router internet protocol","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=content_router;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Content Router",null,null,this.getTagsForStencil("mxgraph.cisco19","content router","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=service_ready_engine;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Cisco Service Ready Engine",null,null,this.getTagsForStencil("mxgraph.cisco19","service ready engine","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=cisco_15800;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Cisco 15800",null,null,this.getTagsForStencil("mxgraph.cisco19","15800","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=appnav;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","AppNav", +null,null,this.getTagsForStencil("mxgraph.cisco19","appnav","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=router_with_firewall2;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Router with Firewall",null,null,this.getTagsForStencil("mxgraph.cisco19","router with firewall","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=netflow_router2;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","NetFlow Router", +null,null,this.getTagsForStencil("mxgraph.cisco19","netflow router","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=asr_1000;fillColor=#FAFAFA;strokeColor=#005073;",50*1.14,50,"","ASR 1000",null,null,this.getTagsForStencil("mxgraph.cisco19","asr 1000","cisco routing wan wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=asr_9000;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","ASR 9000",null,null,this.getTagsForStencil("mxgraph.cisco19", +"asr 9000","cisco routing wan wide area network").join(" "))])};Sidebar.prototype.addCisco19NetworkManagementPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19Network Management", +"Cisco 19 / Network Management",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=net_mgmt_appliance;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Net Mgmt. Appliance",null,null,this.getTagsForStencil("mxgraph.cisco19","net management appliance mgmt","cisco network management").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nam_virtual_service_blade;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","NAM Virtual Service Blade",null,null,this.getTagsForStencil("mxgraph.cisco19","nam virtual service blade", +"cisco network management").join(" "))])};Sidebar.prototype.addCisco19DataCenterPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19Data Center", +"Cisco 19 / Data Center",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=nexus_9300;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Nexus 9300",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 9300","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"x509_certificate;fillColor=#005073;strokeColor=none;",50,47.5,"","x.509 Certificate",null,null,this.getTagsForStencil("mxgraph.cisco19","x509 certificate","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=hypervisor;fillColor=#FAFAFA;strokeColor=#005073;", +50,65,"","Hypervisor",null,null,this.getTagsForStencil("mxgraph.cisco19","hypervisor","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_9500;fillColor=#FAFAFA;strokeColor=#005073;",50,73,"","Nexus 9500",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 9500","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=fabric_interconnect;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Fabric Interconnect",null,null,this.getTagsForStencil("mxgraph.cisco19", +"fabric interconnect","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=fibre_channel_director_mds_9000;fillColor=#FAFAFA;strokeColor=#005073;",50,73,"","Fibre Channel Director MDS 9000",null,null,this.getTagsForStencil("mxgraph.cisco19","fibre channel director mds 9000","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=virtual_matrix_switch;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Virtual Matrix Switch",null,null,this.getTagsForStencil("mxgraph.cisco19", +"virtual matrix switch","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ucs_c_series_server;fillColor=#FAFAFA;strokeColor=#005073;",60,25,"","UCS C-Series Server",null,null,this.getTagsForStencil("mxgraph.cisco19","ucs c series server","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_5k_with_integrated_vsm;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Nexus 5K with Integrated VSM",null,null,this.getTagsForStencil("mxgraph.cisco19", +"nexus 5k with integrated vsm","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=aci;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","ACI",null,null,this.getTagsForStencil("mxgraph.cisco19","aci","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"vts;fillColor=#005073;strokeColor=none;",50,50,"","VTS",null,null,this.getTagsForStencil("mxgraph.cisco19","vts","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ucs_5108_blade_chassis;fillColor=#FAFAFA;strokeColor=#005073;", +64,50,"","UCS 5108 Blade Chassis",null,null,this.getTagsForStencil("mxgraph.cisco19","ucs 5108 blade chassis","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=storage;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Storage",null,null,this.getTagsForStencil("mxgraph.cisco19","storage","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ups;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","UPS",null,null,this.getTagsForStencil("mxgraph.cisco19", +"ups","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=rps;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","RPS",null,null,this.getTagsForStencil("mxgraph.cisco19","rps","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_2000_10ge;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Nexus 2000 10GE",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 2000 10ge","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Blade Server (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","blade server color","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Blade Server (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","blade server subdued","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_5k;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Nexus 5k",null,null,this.getTagsForStencil("mxgraph.cisco19", +"nexus 5k","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_4k;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Nexus 4k",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 4k","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_3k;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Nexus 3k",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 3k","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_2k;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Nexus 2k",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 2k","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_1kv_vsm;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Nexus 1KV VSM",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 1kv vsm","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_1k;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Nexus 1k",null,null,this.getTagsForStencil("mxgraph.cisco19", +"nexus 1k","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=layer3_nexus_5k_switch;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Layer 3 Nexus 5k Switch",null,null,this.getTagsForStencil("mxgraph.cisco19","layer3 nexus 5k switch","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nexus_1010;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Nexus 1010",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 1010","cisco data center").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=nexus_7k;fillColor=#FAFAFA;strokeColor=#005073;",50,73,"","Nexus 7k",null,null,this.getTagsForStencil("mxgraph.cisco19","nexus 7k","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=fibre_channel_fabric_switch;fillColor=#FAFAFA;strokeColor=#005073;",50,73,"","Fibre Channel Fabric Switch",null,null,this.getTagsForStencil("mxgraph.cisco19","fibre channel fabric switch","cisco data center").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=database_relational;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Database Relational",null,null,this.getTagsForStencil("mxgraph.cisco19","database relational","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"server;fillColor=#005073;strokeColor=none;",50*.55,50,"","Server",null,null,this.getTagsForStencil("mxgraph.cisco19","server","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"dns_server;fillColor=#005073;strokeColor=none;",50*.55,50,"","DNS Server", +null,null,this.getTagsForStencil("mxgraph.cisco19","dns domain name server","cisco data center").join(" ")),this.createVertexTemplateEntry(a+"secure_server;fillColor=#005073;strokeColor=none;",50*.55,50,"","Secure Server",null,null,this.getTagsForStencil("mxgraph.cisco19","secure server","cisco data center").join(" "))])};Sidebar.prototype.addCisco19WirelessLANPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19."; +this.addPaletteFunctions("cisco19Wireless LAN","Cisco 19 / Wireless LAN",!1,[this.createVertexTemplateEntry(a+"wifi_indicator;fillColor=#005073;strokeColor=none;",50,50,"","WiFi Indicator",null,null,this.getTagsForStencil("mxgraph.cisco19","wifi indicator","cisco wireless lan local area network").join(" ")),this.createVertexTemplateEntry(a+"3g_4g_indicator;fillColor=#005073;strokeColor=none;",50,50,"","3G/4G Indicator",null,null,this.getTagsForStencil("mxgraph.cisco19","3g 4g indicator","cisco wireless lan local area network").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=dual_mode_access_point;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Dual Mode Access Point",null,null,this.getTagsForStencil("mxgraph.cisco19","dual mode access point","cisco wireless lan local area network").join(" ")),this.createVertexTemplateEntry(a+"wireless_access_point;fillColor=#005073;strokeColor=none;",50,50,"","Wireless Acess Point",null,null,this.getTagsForStencil("mxgraph.cisco19","access point","cisco wireless lan local area network").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=wireless_location_appliance;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Wireless Location Appliance",null,null,this.getTagsForStencil("mxgraph.cisco19","location appliance","cisco wireless lan local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=wireless_lan_controller;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Wireless LAN Controller",null,null,this.getTagsForStencil("mxgraph.cisco19","controller","cisco wireless lan local area network").join(" ")), +this.createVertexTemplateEntry(a+"wireless_bridge;fillColor=#005073;strokeColor=none;",64,50,"","Wireless Bridge",null,null,this.getTagsForStencil("mxgraph.cisco19","bridge","cisco wireless lan local area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=mesh_access_point;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Mesh Access Point",null,null,this.getTagsForStencil("mxgraph.cisco19","mesh access point","cisco wireless lan local area network").join(" "))])};Sidebar.prototype.addCisco19CollaborationPalette= +function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19Collaboration","Cisco 19 / Collaboration",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=video_call_server;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Video Call Server",null,null,this.getTagsForStencil("mxgraph.cisco19","video call server","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=primary_codec;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Primary Codec",null,null,this.getTagsForStencil("mxgraph.cisco19","primary codec","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=secondary_codec;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Secondary Codec",null,null,this.getTagsForStencil("mxgraph.cisco19", +"secondary codec","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"laptop_video_client;fillColor=#005073;strokeColor=none;",50,42.5,"","Laptop Video Client",null,null,this.getTagsForStencil("mxgraph.cisco19","laptop video client","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=immersive_telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;",50*2.3,50,"","Immersive Telepresence Endpoint",null,null,this.getTagsForStencil("mxgraph.cisco19","immersive telepresence endpoint", +"cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"hdtv;fillColor=#005073;strokeColor=none;",60,50,"","HDTV",null,null,this.getTagsForStencil("mxgraph.cisco19","hdtv","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=virtual_desktop_service;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Virtual Desktop Service",null,null,this.getTagsForStencil("mxgraph.cisco19","virtual desktop service","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=video_gateway;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Video Gateway",null,null,this.getTagsForStencil("mxgraph.cisco19","video gateway","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Telepresence Endpoint",null,null,this.getTagsForStencil("mxgraph.cisco19","telepresence endpoint","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=collab1;fillColor=#FAFAFA;strokeColor=#005073;", +50,65,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.cisco19","","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=video_analytics;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Video Analytics",null,null,this.getTagsForStencil("mxgraph.cisco19","video analytics","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=telepresence_exchange;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Telepresence Exchange",null,null,this.getTagsForStencil("mxgraph.cisco19", +"telepresence exchange","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=meeting_scheduling_and_management_server;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Meeting Scheduling and Management Server",null,null,this.getTagsForStencil("mxgraph.cisco19","meeting scheduling and management server","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=multipoint_meeting_server;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Multipoint Meeting Server", +null,null,this.getTagsForStencil("mxgraph.cisco19","multipoint meeting server","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=content_recording_streaming_server;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Content Recording / Streaming Server",null,null,this.getTagsForStencil("mxgraph.cisco19","content recording streaming server","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=communications_manager;fillColor=#FAFAFA;strokeColor=#005073;", +64,50,"","Communications Manager",null,null,this.getTagsForStencil("mxgraph.cisco19","communications manager","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=cisco_unified_presence_service;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Cisco Unified Presence Service",null,null,this.getTagsForStencil("mxgraph.cisco19","cisco unified presence service","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=cisco_unified_contact_center_enterprise_and_hosted;fillColor=#FAFAFA;strokeColor=#005073;", +64,50,"","Cisco Unified Contact Center Enterprise and Hosted",null,null,this.getTagsForStencil("mxgraph.cisco19","cisco unified contact center enterprise and hosted","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=h323;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","H.323",null,null,this.getTagsForStencil("mxgraph.cisco19","h323","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"surveillance_camera;fillColor=#005073;strokeColor=none;",64,50,"","Surveillance Camera", +null,null,this.getTagsForStencil("mxgraph.cisco19","surveillance camera","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=monitor;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Monitor",null,null,this.getTagsForStencil("mxgraph.cisco19","monitor","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"upc_unified_personal_communicator;fillColor=#005073;strokeColor=none;",50,42.5,"","UPC Unified Personal Communicator",null,null,this.getTagsForStencil("mxgraph.cisco19", +"upc unified personal communicator","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=telepresence_endpoint_twin_data_display;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Telepresence Endpoint (twin data display)",null,null,this.getTagsForStencil("mxgraph.cisco19","telepresence endpoint twin data display","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=operations_manager;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Operations Manager", +null,null,this.getTagsForStencil("mxgraph.cisco19","operations manager","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=transcoder;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Transcoder",null,null,this.getTagsForStencil("mxgraph.cisco19","transcoder","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=contact_center_express;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Contact Center Express",null,null,this.getTagsForStencil("mxgraph.cisco19", +"contact center express","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=media_server;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Media Server",null,null,this.getTagsForStencil("mxgraph.cisco19","media server","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ip_ip_gateway;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","IP IP Gateway",null,null,this.getTagsForStencil("mxgraph.cisco19","ip gateway","cisco collaboration").join(" ")), +this.createVertexTemplateEntry(a+"webex",50,50,"","WebEx",null,null,this.getTagsForStencil("mxgraph.cisco19","webex","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=clock;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Clock",null,null,this.getTagsForStencil("mxgraph.cisco19","clock","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"phone_polycom;fillColor=#005073;strokeColor=none;",47.5,50,"","Phone Polycom",null,null,this.getTagsForStencil("mxgraph.cisco19", +"phone polycom","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=unity;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Unity",null,null,this.getTagsForStencil("mxgraph.cisco19","unity","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=shield;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Shield",null,null,this.getTagsForStencil("mxgraph.cisco19","shield","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=cisco_meetingplace_express;fillColor=#FAFAFA;strokeColor=#005073;", +64,50,"","Cisco MeetingPlace Express",null,null,this.getTagsForStencil("mxgraph.cisco19","meetingplace express","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=set_top;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Set Top",null,null,this.getTagsForStencil("mxgraph.cisco19","set top","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"ip_phone;fillColor=#005073;strokeColor=none;",50*1.15,50,"","IP Phone",null,null,this.getTagsForStencil("mxgraph.cisco19", +"ip phone internet protocol","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"camera;fillColor=#005073;strokeColor=none;",90,50,"","Camera",null,null,this.getTagsForStencil("mxgraph.cisco19","camera","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=da_encoder;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","DA Encoder",null,null,this.getTagsForStencil("mxgraph.cisco19","da encoder analog digital","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=ad_encoder;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","AD Encoder",null,null,this.getTagsForStencil("mxgraph.cisco19","ad encoder analog digital","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=da_decoder;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","DA Decoder",null,null,this.getTagsForStencil("mxgraph.cisco19","da decoder analog digital","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ad_decoder;fillColor=#FAFAFA;strokeColor=#005073;", +64,50,"","AD Decoder",null,null,this.getTagsForStencil("mxgraph.cisco19","ad decoder analog digital","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"joystick_keyboard;fillColor=#005073;strokeColor=none;",90,50,"","Joystick Keyboard",null,null,this.getTagsForStencil("mxgraph.cisco19","joystick keyboard","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=collab2;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.cisco19", +"collaboration","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=collab3;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.cisco19","collaboration","cisco collaboration").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=collab4;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Collaboration",null,null,this.getTagsForStencil("mxgraph.cisco19","collaboration","cisco collaboration").join(" "))])};Sidebar.prototype.addCisco19SecurityCloudsAndConnectorsPalette= +function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19Security Clouds Connectors","Cisco 19 / Security, Clouds and Connectors",!1,[this.createVertexTemplateEntry(a+ +"rect;prIcon=acs;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","ACS",null,null,this.getTagsForStencil("mxgraph.cisco19","acs","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ise;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","ISE",null,null,this.getTagsForStencil("mxgraph.cisco19","ise","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=email_security;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Email Security", +null,null,this.getTagsForStencil("mxgraph.cisco19","email security","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=vpn_concentrator;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","VPN Concentrator",null,null,this.getTagsForStencil("mxgraph.cisco19","vpn concentrator virtual private network","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ssl_terminator;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","SSL Terminator", +null,null,this.getTagsForStencil("mxgraph.cisco19","ssl terminator","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=cisco_security_manager;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Cisco Security Manager",null,null,this.getTagsForStencil("mxgraph.cisco19","cisco security manager","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=web_security;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Web Security", +null,null,this.getTagsForStencil("mxgraph.cisco19","web security","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=nac_appliance;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","NAC Appliance",null,null,this.getTagsForStencil("mxgraph.cisco19","nac appliance","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ironport;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Ironport",null,null,this.getTagsForStencil("mxgraph.cisco19", +"ironport","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=ips_ids;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","IPS/IDS",null,null,this.getTagsForStencil("mxgraph.cisco19","ips ids","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=firewall;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Firewall",null,null,this.getTagsForStencil("mxgraph.cisco19","firewall","cisco security clouds connectors").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=asa_5500;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","ASA 5500",null,null,this.getTagsForStencil("mxgraph.cisco19","asa 5500","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"ldap;fillColor=#005073;strokeColor=none;",50,42.5,"","LDAP",null,null,this.getTagsForStencil("mxgraph.cisco19","ldap","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"key;fillColor=#005073;strokeColor=none;",50, +22.5,"","Key",null,null,this.getTagsForStencil("mxgraph.cisco19","key","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"lock;fillColor=#005073;strokeColor=none;",50,50,"","Lock",null,null,this.getTagsForStencil("mxgraph.cisco19","lock","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"cloud;fillColor=#6B6B6B;strokeColor=none;",50,30,"","Cloud",null,null,this.getTagsForStencil("mxgraph.cisco19","cloud","cisco security clouds connectors").join(" ")), +this.createVertexTemplateEntry(a+"cloud;fillColor=#A6A6A6;strokeColor=none;",50,30,"","Cloud",null,null,this.getTagsForStencil("mxgraph.cisco19","cloud","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"cloud;fillColor=#FABD66;strokeColor=none;",50,30,"","Cloud",null,null,this.getTagsForStencil("mxgraph.cisco19","cloud","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"cloud;fillColor=#186180;strokeColor=none;",50,30,"","Cloud",null,null, +this.getTagsForStencil("mxgraph.cisco19","cloud","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"cloud2;fillColor=#FFE9AA;strokeColor=none;",50,30,"","Cloud",null,null,this.getTagsForStencil("mxgraph.cisco19","cloud","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Security Management (color)",null,null,this.getTagsForStencil("mxgraph.cisco19","security management color", +"cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#6696AB;",50,50,"","Security Management (subdued)",null,null,this.getTagsForStencil("mxgraph.cisco19","security management subdued","cisco security clouds connectors").join(" ")),this.createVertexTemplateEntry(a+"secure_endpoints;fillColor=#005073;strokeColor=none;",50,35,"","Secure Endpoint (laptop)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure endpoints laptop", +"cisco security clouds connectors").join(" "))])};Sidebar.prototype.addCisco19EndpointClientDeviceIconsPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19Endpoint Client Device Icons", +"Cisco 19 / Endpoint Client and Device Icons",!1,[this.createVertexTemplateEntry(a+"workstation;fillColor=#005073;strokeColor=none;",50,40,"","Workstation",null,null,this.getTagsForStencil("mxgraph.cisco19","workstation","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"laptop;fillColor=#005073;strokeColor=none;",50,35,"","Laptop",null,null,this.getTagsForStencil("mxgraph.cisco19","laptop","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+ +"handheld;fillColor=#005073;strokeColor=none;",37.5,50,"","Handheld",null,null,this.getTagsForStencil("mxgraph.cisco19","handheld","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"cell_phone;fillColor=#005073;strokeColor=none;",25,50,"","Cell Phone",null,null,this.getTagsForStencil("mxgraph.cisco19","cell phone","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"tablet;fillColor=#005073;strokeColor=none;",50,40,"","Tablet",null,null, +this.getTagsForStencil("mxgraph.cisco19","tablet","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"printer;fillColor=#005073;strokeColor=none;",50,45,"","Printer",null,null,this.getTagsForStencil("mxgraph.cisco19","printer","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"pos;fillColor=#005073;strokeColor=none;",64,50,"","POS",null,null,this.getTagsForStencil("mxgraph.cisco19","pos","cisco endpoint client device icons").join(" ")), +this.createVertexTemplateEntry(a+"home_office;fillColor=#005073;strokeColor=none;",50,50,"","Home Office",null,null,this.getTagsForStencil("mxgraph.cisco19","home office","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"user;fillColor=#005073;strokeColor=none;",50,50,"","User",null,null,this.getTagsForStencil("mxgraph.cisco19","user","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"secure_endpoint_pc;fillColor=#005073;strokeColor=none;", +50,40,"","Secure Endpoint (PC)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure endpoints pc","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"secure_endpoints;fillColor=#005073;strokeColor=none;",50,35,"","Secure Endpoint (laptop)",null,null,this.getTagsForStencil("mxgraph.cisco19","secure endpoints laptop","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"data_center;fillColor=#005073;strokeColor=none;",100,70,"","Data Center", +null,null,this.getTagsForStencil("mxgraph.cisco19","data center","cisco endpoint client device icons").join(" ")),this.createVertexTemplateEntry(a+"branch;fillColor=#005073;strokeColor=none;",50,50,"","Branch",null,null,this.getTagsForStencil("mxgraph.cisco19","branch","cisco endpoint client device icons").join(" "))])};Sidebar.prototype.addCisco19DNASDAccessPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19."; +this.addPaletteFunctions("cisco19DNA SD Access","Cisco 19 / DNA/SD-Access",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=cisco_dna_center;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Cisco DNA Center",null,null,this.getTagsForStencil("mxgraph.cisco19","dna center","cisco dna sd access").join(" ")),this.createVertexTemplateEntry(a+"cisco_dna;fillColor=#005073;strokeColor=none;",50,30,"","Cisco DNA",null,null,this.getTagsForStencil("mxgraph.cisco19","dna","cisco dna sd access").join(" "))])}; +Sidebar.prototype.addCisco19SDWANViptelaPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.";this.addPaletteFunctions("cisco19SD WAN Viptela","Cisco 19 / SD-WAN and Viptela", +!1,[this.createVertexTemplateEntry(a+"rect;prIcon=vbond;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","vBond",null,null,this.getTagsForStencil("mxgraph.cisco19","vbond","cisco sd wan viptela wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=vmanage;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","vManage",null,null,this.getTagsForStencil("mxgraph.cisco19","vmanage","cisco sd wan viptela wide area network").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=vsmart;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","vSmart",null,null,this.getTagsForStencil("mxgraph.cisco19","vsmart","cisco sd wan viptela wide area network").join(" "))])};Sidebar.prototype.addCisco19StealthwatchPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19."; +this.addPaletteFunctions("cisco19ETA Stealthwatch","Cisco 19 / ETA/Stealthwatch",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=flow_collector;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Flow Collector",null,null,this.getTagsForStencil("mxgraph.cisco19","flow collector","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"stealthwatch_management_console_smc;fillColor=#005073;strokeColor=none;",50,40,"","Stealthwatch Management Console (SMC)",null,null,this.getTagsForStencil("mxgraph.cisco19", +"stealthwatch management console smc","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=cognitive;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Cognitive",null,null,this.getTagsForStencil("mxgraph.cisco19","cognitive","cisco stealthwatch").join(" "))])};Sidebar.prototype.addCisco19SafePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;aspect=fixed;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19."; +this.addPaletteFunctions("cisco19SAFE","Cisco 19 / SAFE",!1,[this.createVertexTemplateEntry(a+"rect;prIcon=next_generation_intrusion_prevention_system;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Next Generation Intrusion Prevention System",null,null,this.getTagsForStencil("mxgraph.cisco19","next generation prevention system","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=access_control_and_trustsec;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Access Control and TrustSec", +null,null,this.getTagsForStencil("mxgraph.cisco19","access control and trustsec","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=load_balancer;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Load Balancer",null,null,this.getTagsForStencil("mxgraph.cisco19","load balancer","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=anomaly_detection;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Anomaly Detection",null,null,this.getTagsForStencil("mxgraph.cisco19", +"anomaly detection","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=web_reputation_filtering;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Web Reputation / Filtering",null,null,this.getTagsForStencil("mxgraph.cisco19","web reputation filtering","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=avc_application_visibility_control;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","AVC-Application Visibility Control",null,null,this.getTagsForStencil("mxgraph.cisco19", +"avc application visibility control","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=anti_malware2;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Anti-Malware",null,null,this.getTagsForStencil("mxgraph.cisco19","anti malware","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=web_application_firewall;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Web Application Firewall",null,null,this.getTagsForStencil("mxgraph.cisco19","web application firewall", +"cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=policy_configuration;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Policy / Configuration",null,null,this.getTagsForStencil("mxgraph.cisco19","policy configuration","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=analysis_correlation;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Analysis / Correlation",null,null,this.getTagsForStencil("mxgraph.cisco19","analysis correlation","cisco stealthwatch").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=flow_analytics;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Flow Analytics",null,null,this.getTagsForStencil("mxgraph.cisco19","flow analytics","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=virtual_private_network;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Virtual Private Network",null,null,this.getTagsForStencil("mxgraph.cisco19","virtual private network vpn","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=web_reputation_filtering_2;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Web Reputation / Filtering",null,null,this.getTagsForStencil("mxgraph.cisco19","web reputation filtering","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=avc_application_visibility_control2;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","AVC-Application Visibility Control",null,null,this.getTagsForStencil("mxgraph.cisco19","avc application visibility control","cisco stealthwatch").join(" ")), +this.createVertexTemplateEntry(a+"rect;prIcon=flow_analytics2;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Flow Analytics",null,null,this.getTagsForStencil("mxgraph.cisco19","flow analytics","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=virtual_private_network2;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Virtual Private Network",null,null,this.getTagsForStencil("mxgraph.cisco19","virtual private network","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+ +"rect;prIcon=web_security_services;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Web Security Services",null,null,this.getTagsForStencil("mxgraph.cisco19","web security services","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=web_security_services2;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Web Security Services",null,null,this.getTagsForStencil("mxgraph.cisco19","web security services","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=posture_assessment;fillColor=#FAFAFA;strokeColor=#005073;", +50,50,"","Posture Assessment",null,null,this.getTagsForStencil("mxgraph.cisco19","posture assessment","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=anti_malware;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Anti-Malware",null,null,this.getTagsForStencil("mxgraph.cisco19","anti malware","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=wireless_intrusion_prevention;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Wireless Intrusion Prevention", +null,null,this.getTagsForStencil("mxgraph.cisco19","wireless intrusion prevention","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=host_based_security;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Host Based Security",null,null,this.getTagsForStencil("mxgraph.cisco19","host based security","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=monitoring;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Monitoring",null,null,this.getTagsForStencil("mxgraph.cisco19", +"monitoring","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=virtual_private_network_connector;fillColor=#FAFAFA;strokeColor=#005073;",64,50,"","Virtual Private Network Connector",null,null,this.getTagsForStencil("mxgraph.cisco19","connector","cisco stealthwatch").join(" ")),this.createVertexTemplateEntry(a+"rect;prIcon=threat_intelligence;fillColor=#FAFAFA;strokeColor=#005073;",50,50,"","Monitoring",null,null,this.getTagsForStencil("mxgraph.cisco19","monitoring","cisco stealthwatch").join(" "))])}})();(function(){Sidebar.prototype.addCiscoSafePalette=function(){this.addCiscoSafeArchitecturePalette();this.addCiscoSafeCapabilityPalette();this.addCiscoSafeDesignPalette();this.addCiscoSafeThreatPalette()};Sidebar.prototype.addCiscoSafeArchitecturePalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;html=1;fillColor=#6ABD46;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;align=center;points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco_safe.architecture."; this.addPaletteFunctions("cisco_safeArchitecture","Cisco Safe / Architecture",!1,[this.createVertexTemplateEntry(a+"aci_controller;",50,50,"","ACI Controller",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci controller","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"aci_leaf_switch;",50,50,"","ACI Leaf Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci leaf switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+ "aci_spine_switch;",50,50,"","ACI Spine Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","aci spine switch","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"adaptive_security_appliance;",50,50,"","Adaptive Security Appliance",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","adaptive security appliance","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"automated_system;",50,50,"","Automated System",null,null, this.getTagsForStencil("mxgraph.cisco_safe.architecture","automated system","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"blade_server;",50,50,"","Blade Server",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","blade server","cisco safe architecture").join(" ")),this.createVertexTemplateEntry(a+"catalyst_switch;",50,50,"","Catalyst Switch",null,null,this.getTagsForStencil("mxgraph.cisco_safe.architecture","catalyst switch","cisco safe architecture").join(" ")), @@ -5019,8 +5118,8 @@ this.getTagsForStencil("mxgraph.flowchart","reference","dfd data flow diagram ") "information data carrier sop","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=mxgraph.dfd.archive",60,60,"","Final Report / Archive",null,null,this.getTagsForStencil("mxgraph.flowchart","final report archive","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;size=0.25",100,50,"","Check",null,null,this.getTagsForStencil("mxgraph.flowchart","check","dfd data flow diagram ").join(" ")), this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=mxgraph.dfd.check2",100,50,"","Check 2",null,null,this.getTagsForStencil("mxgraph.flowchart","check","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=ellipse;html=1;dashed=0;whitespace=wrap;perimeter=ellipsePerimeter;",30,30,"","Data Process",null,null,this.getTagsForStencil("mxgraph.flowchart","data process","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=ellipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;perimeter=ellipsePerimeter;", 60,60,"","Data Process / State",null,null,this.getTagsForStencil("mxgraph.flowchart","data process","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("ellipse;shape=doubleEllipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;",60,60,"","Multiple Process / Start State / Multi State",null,null,this.getTagsForStencil("mxgraph.flowchart","multiple process start state multi","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=ellipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;strokeWidth=5;perimeter=ellipsePerimeter;", -60,60,"","Stop State",null,null,this.getTagsForStencil("mxgraph.flowchart","stop state","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;left=0;fillColor=none;",100,30,"","Data Store",null,null,this.getTagsForStencil("mxgraph.flowchart","data store","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;fillColor=none;",100,30,"","Data Store", -null,null,this.getTagsForStencil("mxgraph.flowchart","data store","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=mxgraph.dfd.dataStoreID;align=left;spacingLeft=3;points=[[0,0],[0.5,0],[1,0],[0,0.5],[1,0.5],[0,1],[0.5,1],[1,1]];",100,30,"","Data Store with ID",null,null,this.getTagsForStencil("mxgraph.flowchart","data store with id identification","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=20;fillColor=#ffffff;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;swimlaneFillColor=#ffffff;", +60,60,"","Stop State",null,null,this.getTagsForStencil("mxgraph.flowchart","stop state","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;left=0;",100,30,"","Data Store",null,null,this.getTagsForStencil("mxgraph.flowchart","data store","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;",100,30,"","Data Store",null,null,this.getTagsForStencil("mxgraph.flowchart", +"data store","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=mxgraph.dfd.dataStoreID;align=left;spacingLeft=3;points=[[0,0],[0.5,0],[1,0],[0,0.5],[1,0.5],[0,1],[0.5,1],[1,1]];",100,30,"","Data Store with ID",null,null,this.getTagsForStencil("mxgraph.flowchart","data store with id identification","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=20;fillColor=#ffffff;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;swimlaneFillColor=#ffffff;", 100,50,"","Entity",null,null,this.getTagsForStencil("mxgraph.flowchart","entity","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=cloud;whiteSpace=wrap;html=1;",120,120,"","Object",null,null,this.getTagsForStencil("mxgraph.flowchart","object","dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=ellipse;html=1;dashed=0;whitespace=wrap;perimeter=ellipsePerimeter;",100,50,"","Oval Process",null,null,this.getTagsForStencil("mxgraph.flowchart","oval process", "dfd data flow diagram ").join(" ")),this.createVertexTemplateEntry("shape=cylinder;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;",60,80,"","Data Store",null,null,this.getTagsForStencil("mxgraph.flowchart","data store","dfd data flow diagram ").join(" ")),this.addEntry("dfd data flow diagram external entity",function(){var a=new mxCell("",new mxGeometry(0,0,100,100),"html=1;dashed=0;whitespace=wrap;shape=mxgraph.dfd.externalEntity");a.vertex=!0;var b=new mxCell("Id",new mxGeometry(0,0, 20,20),"autosize=1;part=1;resizable=0;strokeColor=inherit;fillColor=inherit;gradientColor=inherit;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(15,15);b.vertex=!0;a.insert(b);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"External Entity")}),this.createVertexTemplateEntry("html=1;dashed=0;whitespace=wrap;shape=mxgraph.dfd.loop",80,30,"","Loop",null,null,this.getTagsForStencil("mxgraph.flowchart","loop","dfd data flow diagram ").join(" ")),this.createEdgeTemplateEntry("endArrow=classic;html=1;", @@ -7796,8 +7895,8 @@ DrawioFile.prototype.synchronizeFile=function(a,c){this.savingFile?null!=c&&c({m DrawioFile.prototype.updateFile=function(a,c,d,b){null!=d&&d()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=c&&c():this.getLatestVersion(mxUtils.bind(this,function(e){try{null!=d&&d()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=c&&c():null!=e?this.mergeFile(e,a,c,b):this.reloadFile(a,c))}catch(g){null!=c&&c(g)}}),c))}; DrawioFile.prototype.mergeFile=function(a,c,d,b){var e=!0;try{this.stats.fileMerged++;var g=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),k=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=k&&0<k.length){this.shadowPages=k;this.backupPatch=this.isModified()?this.ui.diffPages(g,this.ui.pages):null;var l=[this.ui.diffPages(null!=b?b:g,this.shadowPages)];if(!this.ignorePatches(l)){var n=this.ui.patchPages(g, l[0]);b={};var q=this.ui.getHashValueForPages(n,b),g={},f=this.ui.getHashValueForPages(this.shadowPages,g);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",l,"checksum",f==q,q);if(null!=q&&q!=f){var m=this.compressReportData(this.getAnonymizedXmlForPages(k)),p=this.compressReportData(this.getAnonymizedXmlForPages(n)),u=this.ui.hashValue(a.getCurrentEtag()),v=this.ui.hashValue(this.getCurrentEtag());this.checksumError(d,l,"Shadow Details: "+JSON.stringify(b)+ -"\nChecksum: "+q+"\nCurrent: "+f+"\nCurrent Details: "+JSON.stringify(g)+"\nFrom: "+u+"\nTo: "+v+"\n\nFile Data:\n"+m+"\nPatched Shadow:\n"+p,null,"mergeFile");return}this.patch(l,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw e=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=c&&c()}catch(y){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged(); -null!=d&&d(y);try{if(e)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,y);else{var t=this.getCurrentUser(),x=null!=t?t.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),x,y)}}catch(D){}}}; +"\nChecksum: "+q+"\nCurrent: "+f+"\nCurrent Details: "+JSON.stringify(g)+"\nFrom: "+u+"\nTo: "+v+"\n\nFile Data:\n"+m+"\nPatched Shadow:\n"+p,null,"mergeFile");return}this.patch(l,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw e=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=c&&c()}catch(x){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged(); +null!=d&&d(x);try{if(e)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,x);else{var t=this.getCurrentUser(),z=null!=t?t.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),z,x)}}catch(D){}}}; DrawioFile.prototype.getAnonymizedXmlForPages=function(a){var c=new mxCodec(mxUtils.createXmlDocument()),d=c.document.createElement("mxfile");if(null!=a)for(var b=0;b<a.length;b++){var e=c.encode(new mxGraphModel(a[b].root));"1"!=urlParams.dev&&(e=this.ui.anonymizeNode(e,!0));e.setAttribute("id",a[b].getId());a[b].viewState&&this.ui.editor.graph.saveViewState(a[b].viewState,e,!0);d.appendChild(e)}return mxUtils.getPrettyXml(d)}; DrawioFile.prototype.compressReportData=function(a,c,d){c=null!=c?c:1E4;null!=d&&null!=a&&a.length>d?a=a.substring(0,d)+"[...]":null!=a&&a.length>c&&(a=Graph.compress(a)+"\n");return a}; DrawioFile.prototype.checksumError=function(a,c,d,b,e){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=c)for(a=0;a<c.length;a++)this.ui.anonymizePatch(c[a]);var g=mxUtils.bind(this,function(a){var b=this.compressReportData(JSON.stringify(c,null,2));a=null!=a?this.compressReportData(this.getAnonymizedXmlForPages(this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement)), @@ -7863,12 +7962,12 @@ StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,argum StorageLibrary.prototype.isRenamable=function(a,c,d){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};RemoteFile=function(a,c,d){DrawioFile.call(this,a,c);this.title=d;this.mode=null};mxUtils.extend(RemoteFile,DrawioFile);RemoteFile.prototype.isAutosave=function(){return!1};RemoteFile.prototype.getMode=function(){return this.mode};RemoteFile.prototype.getTitle=function(){return this.title};RemoteFile.prototype.isRenamable=function(){return!1};RemoteFile.prototype.open=function(){this.ui.setFileData(this.getData());this.installListeners()};RemoteLibrary=function(a,c,d){RemoteFile.call(this,a,c,d.title);this.libObj=d};mxUtils.extend(RemoteLibrary,LocalFile);RemoteLibrary.prototype.getHash=function(){return"R"+encodeURIComponent(JSON.stringify([this.libObj.id,this.libObj.title,this.libObj.downloadUrl]))};RemoteLibrary.prototype.isEditable=function(){return!1};RemoteLibrary.prototype.isRenamable=function(){return!1};RemoteLibrary.prototype.isAutosave=function(){return!1};RemoteLibrary.prototype.save=function(a,c,d){}; RemoteLibrary.prototype.saveAs=function(a,c,d){};RemoteLibrary.prototype.updateFileData=function(){};RemoteLibrary.prototype.open=function(){};UrlLibrary=function(a,c,d){StorageFile.call(this,a,c,d);a=d;c=a.lastIndexOf("/");0<=c&&(a=a.substring(c+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,c,d){return!1};UrlLibrary.prototype.saveAs=function(a,c,d){};UrlLibrary.prototype.open=function(){};/* mxClient.IS_IOS || */ -var StorageDialog=function(a,c,d){function b(b,p,t,e,g,k){function z(){mxEvent.addListener(A,"click",null!=k?k:function(){t!=App.MODE_GOOGLE||a.isDriveDomain()?t==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(t,n.checked);c()})):t==App.MODE_ONEDRIVE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.oneDrive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(t,n.checked); +var StorageDialog=function(a,c,d){function b(b,p,t,e,g,k){function y(){mxEvent.addListener(A,"click",null!=k?k:function(){t!=App.MODE_GOOGLE||a.isDriveDomain()?t==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(t,n.checked);c()})):t==App.MODE_ONEDRIVE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.oneDrive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(t,n.checked); c()})):(a.setMode(t,n.checked),c()):window.location.hostname=DriveClient.prototype.newAppHostname})}++q>d&&(mxUtils.br(f),q=0);var A=document.createElement("a");A.style.overflow="hidden";A.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";A.className="geBaseButton";A.style.boxSizing="border-box";A.style.fontSize="11px";A.style.position="relative";A.style.margin="4px";A.style.marginTop="2px";A.style.padding="8px 10px 12px 10px";A.style.width="88px";A.style.height=StorageDialog.extended?"50px": "100px";A.style.whiteSpace="nowrap";A.setAttribute("title",p);mxClient.IS_QUIRKS&&(A.style.cssFloat="left",A.style.zoom="1");var u=document.createElement("div");u.style.textOverflow="ellipsis";u.style.overflow="hidden";if(null!=b){var v=document.createElement("img");v.setAttribute("src",b);v.setAttribute("border","0");v.setAttribute("align","absmiddle");v.style.width=StorageDialog.extended?"24px":"60px";v.style.height=StorageDialog.extended?"24px":"60px";v.style.paddingBottom=StorageDialog.extended? "4px":"6px";A.appendChild(v)}else u.style.paddingTop="5px",u.style.whiteSpace="normal",mxClient.IS_IOS?(A.style.padding="0px 10px 20px 10px",A.style.top="6px"):mxClient.IS_FF&&(u.style.paddingTop="0px",u.style.marginTop="-2px");StorageDialog.extended&&(A.style.paddingTop="4px",A.style.marginBottom="0px",u.display="inline-block",2==d&&(v.style.width="38px",v.style.height="38px",A.style.width="80px",A.style.height="68px"));A.appendChild(u);mxUtils.write(u,p);if(null!=g)for(b=0;b<g.length;b++)mxUtils.br(u), mxUtils.write(u,g[b]);if(null!=e&&null==a[e]){v.style.visibility="hidden";mxUtils.setOpacity(u,10);var B=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});B.spin(A);var l=window.setTimeout(function(){null==a[e]&&(B.stop(),A.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(b,c){null!=a[e]&&c.getProperty("client")==a[e]&&(window.clearTimeout(l),mxUtils.setOpacity(u, -100),v.style.visibility="",B.stop(),z(),"drive"==e&&null!=m.parentNode&&m.parentNode.removeChild(m))}))}else z();f.appendChild(A)}d=null!=d?d:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")-3+"px");if(!a.isOffline()&&1<a.getServiceCount()){g=document.createElement("a");g.setAttribute("href","https://about.draw.io/support/");g.setAttribute("title", +100),v.style.visibility="",B.stop(),y(),"drive"==e&&null!=m.parentNode&&m.parentNode.removeChild(m))}))}else y();f.appendChild(A)}d=null!=d?d:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")-3+"px");if(!a.isOffline()&&1<a.getServiceCount()){g=document.createElement("a");g.setAttribute("href","https://about.draw.io/support/");g.setAttribute("title", mxResources.get("help"));g.setAttribute("target","_blank");g.style.position="absolute";g.style.userSelect="none";g.style.textDecoration="none";g.style.cursor="pointer";g.style.fontSize="12px";g.style.bottom="28px";g.style.left="26px";g.style.color="gray";var k=document.createElement("img");mxUtils.setOpacity(k,50);k.style.height="16px";k.style.width="16px";k.setAttribute("border","0");k.setAttribute("valign","bottom");k.setAttribute("src",Editor.helpImage);k.style.marginRight="2px";g.appendChild(k); mxUtils.write(g,mxResources.get("help"));e.appendChild(g)}var l=document.createElement("div");l.style.position="absolute";l.style.cursor="pointer";l.style.fontSize="12px";l.style.bottom="28px";l.style.color="gray";l.style.userSelect="none";mxUtils.write(l,mxResources.get("decideLater"));mxUtils.setPrefixedStyle(l.style,"transform","translate(-50%,0)");l.style.left="50%";a.isOfflineApp()&&(l.style.bottom="28px");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)l.style.marginLeft= -Math.round(l.clientWidth/2)+"px"};e.appendChild(l);mxEvent.addListener(l,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null,!0);Editor.useLocalStorage=b});g=document.createElement("div");mxClient.IS_QUIRKS&&(g.style.whiteSpace="nowrap",g.style.cssFloat="left");g.style.border="1px solid #d3d3d3";g.style.borderWidth="1px 0px 1px 0px";g.style.padding="12px 0px 12px 0px";var n=document.createElement("input");n.setAttribute("type", @@ -7876,10 +7975,10 @@ mxUtils.write(g,mxResources.get("help"));e.appendChild(g)}var l=document.createE "/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&b(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");b(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||b(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);StorageDialog.extended&&("function"===typeof window.DropboxClient&& b(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox"),null!=a.gitHub&&b(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub"),null!=a.gitLab&&b(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab"))};e.appendChild(g);p();k=document.createElement("p");k.style.marginTop="8px";k.style.marginBottom="6px";var u=document.createElement("div");u.style.marginBottom="10px";if(!a.isOfflineApp()){var v=document.createElement("a"); v.style.color="gray";v.style.fontSize="12px";v.style.cursor="pointer";v.style.userSelect="none";mxUtils.write(v,(StorageDialog.extended?mxResources.get("showLess"):mxResources.get("showMore"))+"...");u.appendChild(v);k.appendChild(u);mxEvent.addListener(v,"click",function(a){f.innerHTML="";v.innerHTML="";StorageDialog.extended=!StorageDialog.extended;p();mxUtils.write(v,(StorageDialog.extended?mxResources.get("showLess"):mxResources.get("showMore"))+"...");mxEvent.consume(a)})}k.appendChild(n);var t= -document.createElement("span");t.style.color="gray";t.style.fontSize="12px";t.style.userSelect="none";mxUtils.write(t," "+mxResources.get("rememberThisSetting"));k.appendChild(t);mxUtils.br(k);u=a.getRecent();if(!a.isOfflineApp()&&null!=u&&0<u.length){var x=document.createElement("select");x.style.marginTop="8px";x.style.maxWidth="170px";var y=document.createElement("option");y.setAttribute("value","");y.setAttribute("selected","selected");y.style.textAlign="center";mxUtils.write(y,mxResources.get("openRecent")+ -"...");x.appendChild(y);for(y=0;y<u.length;y++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var c=document.createElement("option");c.setAttribute("value",a.id);mxUtils.write(c,a.title+" ("+mxResources.get(b)+")");x.appendChild(c)})(u[y]);k.appendChild(x);mxEvent.addListener(x,"change",function(b){""!=x.value&&a.loadFile(x.value)})}else k.style.marginTop="20px",g.style.padding="30px 0px 26px 0px";Graph.fileSupport&&(u=document.createElement("div"), -u.style.marginBottom="10px",u.style.padding="18px 0px 6px 0px",y=document.createElement("a"),y.style.cursor="pointer",y.style.fontSize="12px",y.style.color="gray",y.style.userSelect="none",mxUtils.write(y,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(y,"click",function(){if(null==a.storageFileInputElt){var b=document.createElement("input");b.setAttribute("type", -"file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0),b.type="",b.type="file",b.value="")});b.style.display="none";document.body.appendChild(b);a.storageFileInputElt=b}a.storageFileInputElt.click()}),u.appendChild(y),k.appendChild(u),g.style.paddingBottom="4px");g.appendChild(k);mxEvent.addListener(t,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==document.documentMode||10<= +document.createElement("span");t.style.color="gray";t.style.fontSize="12px";t.style.userSelect="none";mxUtils.write(t," "+mxResources.get("rememberThisSetting"));k.appendChild(t);mxUtils.br(k);u=a.getRecent();if(!a.isOfflineApp()&&null!=u&&0<u.length){var z=document.createElement("select");z.style.marginTop="8px";z.style.maxWidth="170px";var x=document.createElement("option");x.setAttribute("value","");x.setAttribute("selected","selected");x.style.textAlign="center";mxUtils.write(x,mxResources.get("openRecent")+ +"...");z.appendChild(x);for(x=0;x<u.length;x++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var c=document.createElement("option");c.setAttribute("value",a.id);mxUtils.write(c,a.title+" ("+mxResources.get(b)+")");z.appendChild(c)})(u[x]);k.appendChild(z);mxEvent.addListener(z,"change",function(b){""!=z.value&&a.loadFile(z.value)})}else k.style.marginTop="20px",g.style.padding="30px 0px 26px 0px";Graph.fileSupport&&(u=document.createElement("div"), +u.style.marginBottom="10px",u.style.padding="18px 0px 6px 0px",x=document.createElement("a"),x.style.cursor="pointer",x.style.fontSize="12px",x.style.color="gray",x.style.userSelect="none",mxUtils.write(x,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(x,"click",function(){if(null==a.storageFileInputElt){var b=document.createElement("input");b.setAttribute("type", +"file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0),b.type="",b.type="file",b.value="")});b.style.display="none";document.body.appendChild(b);a.storageFileInputElt=b}a.storageFileInputElt.click()}),u.appendChild(x),k.appendChild(u),g.style.paddingBottom="4px");g.appendChild(k);mxEvent.addListener(t,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==document.documentMode||10<= document.documentMode)&&window.setTimeout(function(){null==a.drive&&(m.style.padding="8px",m.style.fontSize="9pt",m.style.marginTop="-14px",m.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://desk.draw.io/a/solutions/articles/16000074659" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",e.appendChild(m))},5E3);this.container=e}; StorageDialog.extended=!1; var SplashDialog=function(a){var c=document.createElement("div");c.style.textAlign="center";var d=a.addLanguageMenu(c,!0);null!=d&&(d.style.bottom="19px");d=null;d=a.getServiceCount();if(!a.isOffline()&&1<d){d=document.createElement("a");d.setAttribute("href","https://about.draw.io/support/");d.setAttribute("title",mxResources.get("help"));d.setAttribute("target","_blank");d.style.position="absolute";d.style.fontSize="12px";d.style.textDecoration="none";d.style.cursor="pointer";d.style.bottom="22px"; @@ -7903,15 +8002,15 @@ a.saveData("embed.txt","txt",c,"text/plain")});q.className="geBtn";g.appendChild q=document.createElement("img"),q.setAttribute("src",Editor.tweetImage),q.setAttribute("width","18"),q.setAttribute("height","18"),q.setAttribute("border","0"),q.style.marginBottom="5px",f.appendChild(q),f.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),f.style.verticalAlign="bottom",f.style.paddingTop="4px",f.style.minWidth="46px",f.className="geBtn",g.appendChild(f))}q=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.appendChild(q);f=mxUtils.button(mxResources.get("copy"), function(){l.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>c.length?mxClient.IS_SF||null!=document.documentMode?q.className="geBtn gePrimaryBtn":(g.appendChild(f),f.className="geBtn gePrimaryBtn",q.className="geBtn"):(g.appendChild(n),q.className="geBtn",n.className="geBtn gePrimaryBtn");b.appendChild(g);this.container=b}; EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(a,c){function d(){var a=null!=C&&null!=C.getTitle()?C.getTitle():this.defaultFilename;if(z.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<B.length&&(b+="&s="+B);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=m.value&&(b+="&height="+m.value);b+="&pan="+(v.checked?"1":"0");b+="&zoom="+(t.checked?"1":"0");b+="&fit="+(I.checked?"1":"0"); -b+="&resize="+(D.checked?"1":"0");b+="&x0="+Number(f.value);b+="&y0="+n;e.mathEnabled&&(b+="&math=1");y.checked?b+="&edit=_blank":x.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));q.value=b}else C.constructor==DriveFile||C.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=p.value?b+=encodeURIComponent(mxUtils.htmlEntities(p.value))+"&type=3":(b+=C.getHash().substring(1),b=C.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!= +var GoogleSitesDialog=function(a,c){function d(){var a=null!=C&&null!=C.getTitle()?C.getTitle():this.defaultFilename;if(y.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<B.length&&(b+="&s="+B);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=m.value&&(b+="&height="+m.value);b+="&pan="+(v.checked?"1":"0");b+="&zoom="+(t.checked?"1":"0");b+="&fit="+(I.checked?"1":"0"); +b+="&resize="+(D.checked?"1":"0");b+="&x0="+Number(f.value);b+="&y0="+n;e.mathEnabled&&(b+="&math=1");x.checked?b+="&edit=_blank":z.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));q.value=b}else C.constructor==DriveFile||C.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=p.value?b+=encodeURIComponent(mxUtils.htmlEntities(p.value))+"&type=3":(b+=C.getHash().substring(1),b=C.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!= a&&(b+="&title="+encodeURIComponent(a)),""!=m.value&&(a=parseInt(m.value)+parseInt(f.value),b+="&height="+a),q.value=b):q.value=""}var b=document.createElement("div"),e=a.editor.graph,g=e.getGraphBounds(),k=e.view.scale,l=Math.floor(g.x/k-e.view.translate.x),n=Math.floor(g.y/k-e.view.translate.y);mxUtils.write(b,mxResources.get("googleGadget")+":");mxUtils.br(b);var q=document.createElement("input");q.setAttribute("type","text");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px"; b.appendChild(q);mxUtils.br(b);this.init=function(){q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};mxUtils.write(b,mxResources.get("top")+":");var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","4");f.style.marginRight="16px";f.style.marginLeft="4px";f.value=l;b.appendChild(f);mxUtils.write(b,mxResources.get("height")+":");var m=document.createElement("input");m.setAttribute("type", "text");m.setAttribute("size","4");m.style.marginLeft="4px";m.value=Math.ceil(g.height/k);b.appendChild(m);mxUtils.br(b);g=document.createElement("hr");g.setAttribute("size","1");g.style.marginBottom="16px";g.style.marginTop="16px";b.appendChild(g);mxUtils.write(b,mxResources.get("publicDiagramUrl")+":");mxUtils.br(b);var p=document.createElement("input");p.setAttribute("type","text");p.setAttribute("size","28");p.style.marginBottom="8px";p.style.marginTop="2px";p.style.width="410px";p.value=c||""; b.appendChild(p);mxUtils.br(b);mxUtils.write(b,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";b.appendChild(u);mxUtils.br(b);var v=document.createElement("input");v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="16px";b.appendChild(v);mxUtils.write(b,mxResources.get("pan")+" ");var t=document.createElement("input"); -t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="8px";b.appendChild(t);mxUtils.write(b,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);b.appendChild(x);mxUtils.write(b,mxResources.get("edit")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";b.appendChild(y);mxUtils.write(b, -mxResources.get("asNew")+" ");mxUtils.br(b);var D=document.createElement("input");D.setAttribute("type","checkbox");D.setAttribute("checked","checked");D.defaultChecked=!0;D.style.marginLeft="16px";b.appendChild(D);mxUtils.write(b,mxResources.get("resize")+" ");var I=document.createElement("input");I.setAttribute("type","checkbox");I.style.marginLeft="8px";b.appendChild(I);mxUtils.write(b,mxResources.get("fit")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft= -"8px";b.appendChild(z);mxUtils.write(b,mxResources.get("embed")+" ");var B=a.getBasenames().join(";"),C=a.getCurrentFile();mxEvent.addListener(v,"change",d);mxEvent.addListener(t,"change",d);mxEvent.addListener(D,"change",d);mxEvent.addListener(I,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(y,"change",d);mxEvent.addListener(z,"change",d);mxEvent.addListener(m,"change",d);mxEvent.addListener(f,"change",d);mxEvent.addListener(u,"change",d);mxEvent.addListener(p,"change",d);d(); +t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="8px";b.appendChild(t);mxUtils.write(b,mxResources.get("zoom")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";z.setAttribute("title",window.location.href);b.appendChild(z);mxUtils.write(b,mxResources.get("edit")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";b.appendChild(x);mxUtils.write(b, +mxResources.get("asNew")+" ");mxUtils.br(b);var D=document.createElement("input");D.setAttribute("type","checkbox");D.setAttribute("checked","checked");D.defaultChecked=!0;D.style.marginLeft="16px";b.appendChild(D);mxUtils.write(b,mxResources.get("resize")+" ");var I=document.createElement("input");I.setAttribute("type","checkbox");I.style.marginLeft="8px";b.appendChild(I);mxUtils.write(b,mxResources.get("fit")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft= +"8px";b.appendChild(y);mxUtils.write(b,mxResources.get("embed")+" ");var B=a.getBasenames().join(";"),C=a.getCurrentFile();mxEvent.addListener(v,"change",d);mxEvent.addListener(t,"change",d);mxEvent.addListener(D,"change",d);mxEvent.addListener(I,"change",d);mxEvent.addListener(z,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(y,"change",d);mxEvent.addListener(m,"change",d);mxEvent.addListener(f,"change",d);mxEvent.addListener(u,"change",d);mxEvent.addListener(p,"change",d);d(); mxEvent.addListener(q,"click",function(){q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)});g=document.createElement("div");g.style.paddingTop="12px";g.style.textAlign="right";k=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});k.className="geBtn gePrimaryBtn";g.appendChild(k);b.appendChild(g);this.container=b},CreateGraphDialog=function(a,c,d){var b=document.createElement("div");b.style.textAlign= "right";this.init=function(){var c=document.createElement("div");c.style.position="relative";c.style.border="1px solid gray";c.style.width="100%";c.style.height="360px";c.style.overflow="hidden";c.style.marginBottom="16px";mxEvent.disableContextMenu(c);b.appendChild(c);var g=new Graph(c);g.setCellsCloneable(!0);g.setPanning(!0);g.setAllowDanglingEdges(!1);g.connectionHandler.select=!1;g.view.setTranslate(20,20);g.border=20;g.panningHandler.useLeftButtonForPanning=!0;var k="curved=1;";g.cellRenderer.installCellOverlayListeners= function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};g.getAllConnectionConstraints=function(){return null};g.connectionHandler.marker.highlight.keepOnTop= @@ -7933,14 +8032,14 @@ q.className="geBtn";a.editor.cancelFirst&&b.appendChild(q);if(!a.isOffline()&&"u f.className="geBtn";b.appendChild(f);null!=a.drive&&"1"==urlParams.photos&&(f=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(a.drive.token).addView(google.picker.ViewId.PHOTO_UPLOAD);a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}), f.className="geBtn",b.appendChild(f))}f=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c(""!=e.value?new mxImage(mxUtils.trim(e.value),l.value,n.value):null)});f.className="geBtn gePrimaryBtn";b.appendChild(f);a.editor.cancelFirst||b.appendChild(q);d.appendChild(b);this.container=d},ParseDialog=function(a,c,d){function b(b,c){var f=b.split("\n");if("plantUmlPng"==c||"plantUmlSvg"==c||"plantUmlTxt"==c){if(a.spinner.spin(document.body,mxResources.get("inserting"))){var d=a.editor.graph, m="plantUmlTxt"==c?"txt":"plantUmlPng"==c?"png":"svg";a.generatePlantUmlImage(b,m,function(c,f,p){a.spinner.stop();var e=null;d.getModel().beginUpdate();try{e="txt"==m?a.insertAsPreText(c,g.x,g.y):d.insertVertex(null,null,null,g.x,g.y,f,p,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(c)+";"),d.setAttributeForCell(e,"plantUmlData",JSON.stringify({data:b,format:m}))}finally{d.getModel().endUpdate()}null!=e&&(d.setSelectionCell(e),d.scrollCellToVisible(e))}, -function(b){a.handleError(b)})}}else if("table"==c){for(var p=null,e=[],k=0,z=0;z<f.length;z++){var u=mxUtils.trim(f[z]);if("create table"==u.substring(0,12).toLowerCase())u=mxUtils.trim(u.substring(12)),"("==u.charAt(u.length-1)&&(u=u.substring(0,u.lastIndexOf(" "))),p=new mxCell(u,new mxGeometry(k,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"), +function(b){a.handleError(b)})}}else if("table"==c){for(var p=null,e=[],k=0,y=0;y<f.length;y++){var u=mxUtils.trim(f[y]);if("create table"==u.substring(0,12).toLowerCase())u=mxUtils.trim(u.substring(12)),"("==u.charAt(u.length-1)&&(u=u.substring(0,u.lastIndexOf(" "))),p=new mxCell(u,new mxGeometry(k,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"), p.vertex=!0,e.push(p),u=a.editor.graph.getPreferredSizeForCell(A),null!=u&&(p.geometry.width=u.width+10);else if(null!=p&&")"==u.charAt(0))k+=p.geometry.width+40,p=null;else if("("!=u&&null!=p&&(u=u.substring(0,","==u.charAt(u.length-1)?u.length-1:u.length),"primary key"!=u.substring(0,11).toLowerCase())){var l=u.toLowerCase().indexOf("primary key"),u=u.replace(/primary key/i,""),A=new mxCell(u,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;"); A.vertex=!0;u=sb.cloneCell(A,0<l?"PK":"");u.connectable=!1;u.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";u.geometry.width=30;u.geometry.height=26;A.insert(u);u=a.editor.graph.getPreferredSizeForCell(A);null!=u&&p.geometry.width<u.width+10&&(p.geometry.width=Math.min(220,u.width+10));p.insert(A);p.geometry.height+=26}}0<e.length&&(d=a.editor.graph, -z=d.view,f=d.getGraphBounds(),d.setSelectionCells(d.importCells(e,Math.ceil(Math.max(0,f.x/z.scale-z.translate.x)+4*d.gridSize),Math.ceil(Math.max(0,(f.y+f.height)/z.scale-z.translate.y)+4*d.gridSize))),d.scrollCellToVisible(d.getSelectionCell()))}else if("list"==c){if(0<f.length){d=a.editor.graph;A=null;e=[];for(z=p=0;z<f.length;z++)";"!=f[z].charAt(0)&&(0==f[z].length?A=null:null==A?(A=new mxCell(f[z],new mxGeometry(p,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"), -A.vertex=!0,e.push(A),u=d.getPreferredSizeForCell(A),null!=u&&A.geometry.width<u.width+10&&(A.geometry.width=u.width+10),p+=A.geometry.width+40):"--"==f[z]?(u=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),u.vertex=!0,A.geometry.height+=u.geometry.height,A.insert(u)):0<f[z].length&&(k=new mxCell(f[z],new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"), -k.vertex=!0,u=d.getPreferredSizeForCell(k),null!=u&&k.geometry.width<u.width&&(k.geometry.width=u.width),A.geometry.width=Math.max(A.geometry.width,k.geometry.width),A.geometry.height+=k.geometry.height,A.insert(k)));if(0<e.length){d.getModel().beginUpdate();try{e=d.importCells(e,g.x,g.y);u=[];for(z=0;z<e.length;z++)u.push(e[z]),u=u.concat(e[z].children);d.fireEvent(new mxEventObject("cellsInserted","cells",u))}finally{d.getModel().endUpdate()}d.setSelectionCells(e);d.scrollCellToVisible(d.getSelectionCell())}}}else{for(var A= -function(a){var b=n[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,n[a]=b,e.push(b));return b},n={},e=[],z=0;z<f.length;z++)if(";"!=f[z].charAt(0)){var E=f[z].split("->");if(2<=E.length){var l=A(E[0]),q=A(E[E.length-1]),E=new mxCell(2<E.length?E[1]:"",new mxGeometry);E.edge=!0;l.insertEdge(E,!0);q.insertEdge(E,!1);e.push(E)}}if(0<e.length){f=document.createElement("div");f.style.visibility="hidden";document.body.appendChild(f);d=new Graph(f);d.getModel().beginUpdate(); -try{e=d.importCells(e);for(z=0;z<e.length;z++)d.getModel().isVertex(e[z])&&(u=d.getPreferredSizeForCell(e[z]),e[z].geometry.width=Math.max(e[z].geometry.width,u.width),e[z].geometry.height=Math.max(e[z].geometry.height,u.height));p=new mxFastOrganicLayout(d);p.disableEdgeStyle=!1;p.forceConstant=120;p.execute(d.getDefaultParent());k=new mxParallelEdgeLayout(d);k.spacing=20;k.execute(d.getDefaultParent())}finally{d.getModel().endUpdate()}d.clearCellOverlays();u=[];a.editor.graph.getModel().beginUpdate(); +y=d.view,f=d.getGraphBounds(),d.setSelectionCells(d.importCells(e,Math.ceil(Math.max(0,f.x/y.scale-y.translate.x)+4*d.gridSize),Math.ceil(Math.max(0,(f.y+f.height)/y.scale-y.translate.y)+4*d.gridSize))),d.scrollCellToVisible(d.getSelectionCell()))}else if("list"==c){if(0<f.length){d=a.editor.graph;A=null;e=[];for(y=p=0;y<f.length;y++)";"!=f[y].charAt(0)&&(0==f[y].length?A=null:null==A?(A=new mxCell(f[y],new mxGeometry(p,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"), +A.vertex=!0,e.push(A),u=d.getPreferredSizeForCell(A),null!=u&&A.geometry.width<u.width+10&&(A.geometry.width=u.width+10),p+=A.geometry.width+40):"--"==f[y]?(u=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),u.vertex=!0,A.geometry.height+=u.geometry.height,A.insert(u)):0<f[y].length&&(k=new mxCell(f[y],new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"), +k.vertex=!0,u=d.getPreferredSizeForCell(k),null!=u&&k.geometry.width<u.width&&(k.geometry.width=u.width),A.geometry.width=Math.max(A.geometry.width,k.geometry.width),A.geometry.height+=k.geometry.height,A.insert(k)));if(0<e.length){d.getModel().beginUpdate();try{e=d.importCells(e,g.x,g.y);u=[];for(y=0;y<e.length;y++)u.push(e[y]),u=u.concat(e[y].children);d.fireEvent(new mxEventObject("cellsInserted","cells",u))}finally{d.getModel().endUpdate()}d.setSelectionCells(e);d.scrollCellToVisible(d.getSelectionCell())}}}else{for(var A= +function(a){var b=n[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,n[a]=b,e.push(b));return b},n={},e=[],y=0;y<f.length;y++)if(";"!=f[y].charAt(0)){var E=f[y].split("->");if(2<=E.length){var l=A(E[0]),q=A(E[E.length-1]),E=new mxCell(2<E.length?E[1]:"",new mxGeometry);E.edge=!0;l.insertEdge(E,!0);q.insertEdge(E,!1);e.push(E)}}if(0<e.length){f=document.createElement("div");f.style.visibility="hidden";document.body.appendChild(f);d=new Graph(f);d.getModel().beginUpdate(); +try{e=d.importCells(e);for(y=0;y<e.length;y++)d.getModel().isVertex(e[y])&&(u=d.getPreferredSizeForCell(e[y]),e[y].geometry.width=Math.max(e[y].geometry.width,u.width),e[y].geometry.height=Math.max(e[y].geometry.height,u.height));p=new mxFastOrganicLayout(d);p.disableEdgeStyle=!1;p.forceConstant=120;p.execute(d.getDefaultParent());k=new mxParallelEdgeLayout(d);k.spacing=20;k.execute(d.getDefaultParent())}finally{d.getModel().endUpdate()}d.clearCellOverlays();u=[];a.editor.graph.getModel().beginUpdate(); try{u=a.editor.graph.importCells(d.getModel().getChildren(d.getDefaultParent()),g.x,g.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",u))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(u);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());d.destroy();f.parentNode.removeChild(f)}}}function e(){return"list"==l.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean\n\nAddress\n-street: String\n-city: String\n-state: String": "table"==l.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==l.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml": "plantUmlSvg"==l.value||"plantUmlTxt"==l.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: Another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var g=a.editor.graph.getFreeInsertPoint();c=document.createElement("div");c.style.textAlign="right";var k=document.createElement("textarea");k.style.resize="none";k.style.width="100%";k.style.height= @@ -7948,42 +8047,42 @@ try{u=a.editor.graph.importCells(d.getModel().getChildren(d.getDefaultParent()), n=document.createElement("option");n.setAttribute("value","diagram");mxUtils.write(n,mxResources.get("diagram"));"plantUml"!=d&&l.appendChild(n);n=document.createElement("option");n.setAttribute("value","plantUmlSvg");mxUtils.write(n,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==d&&n.setAttribute("selected","selected");var q=document.createElement("option");q.setAttribute("value","plantUmlPng");mxUtils.write(q,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+ ")");var f=document.createElement("option");f.setAttribute("value","plantUmlTxt");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==d&&(l.appendChild(n),l.appendChild(q),l.appendChild(f));var m=e();k.value=m;c.appendChild(k);this.init=function(){k.focus()};Graph.fileSupport&&(k.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),k.addEventListener("drop",function(a){a.stopPropagation(); a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){k.value=a.target.result};b.readAsText(a)}},!1));c.appendChild(l);mxEvent.addListener(l,"change",function(){var a=e();if(0==k.value.length||k.value==m)m=a,k.value=m});d=mxUtils.button(mxResources.get("close"),function(){k.value==m?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);n=mxUtils.button(mxResources.get("insert"), -function(){a.hideDialog();b(k.value,l.value)});c.appendChild(n);n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(d);this.container=c},NewDialog=function(a,c,d,b,e,g,k,l,n,q,f,m,p,u,v,t,x){function y(){var a=!0;if(null!=S)for(;K<S.length&&(a||0!=mxUtils.mod(K,30));)a=S[K++],z(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick,a.preview,a.noImg,a.clibs),a=!1}function D(){if(U)d||a.hideDialog(),u(U,Z,E.value);else if(b)d||a.hideDialog(),b(fa,E.value); -else{var c=E.value;null!=c&&0<c.length&&a.pickFolder(a.mode,function(b){a.createFile(c,fa,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,b,null,null!=ga&&0<ga.length?ga:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}function I(a,b,c,f,d,m){null!=ba&&(ba.style.backgroundColor="transparent",ba.style.border="1px solid transparent");F.removeAttribute("disabled");fa=b;X=c;ga=m;ba=a;U=f;Z=d;ba.style.backgroundColor=l;ba.style.border=n}function z(b,c,f,d,m, -p,e,g,t,k,z){var A=document.createElement("div");A.className="geTemplate";A.style.height=aa+"px";A.style.width=ea+"px";null!=d&&0<d.length&&A.setAttribute("title",d);if(null!=p)A.style.backgroundImage="url("+p+")",A.style.backgroundSize="contain",A.style.backgroundPosition="center center",A.style.backgroundRepeat="no-repeat",mxEvent.addListener(A,"click",function(a){I(A,null,null,b,e,z)}),mxEvent.addListener(A,"dblclick",function(a){D()});else if(!k&&null!=b&&0<b.length){f=t||TEMPLATE_PATH+"/"+b.substring(0, -b.length-4)+".png";A.style.backgroundImage="url("+f+")";A.style.backgroundPosition="center center";A.style.backgroundRepeat="no-repeat";var u=!1;mxEvent.addListener(A,"click",function(f){F.setAttribute("disabled","disabled");A.style.backgroundColor="transparent";A.style.border="1px solid transparent";f=b;f=/^https?:\/\//.test(f)&&!a.editor.isCorsEnabledForUrl(f)?PROXY_URL+"?url="+encodeURIComponent(f):TEMPLATE_PATH+"/"+f;H.spin(P);mxUtils.get(f,mxUtils.bind(this,function(a){H.stop();200<=a.getStatus()&& -299>=a.getStatus()&&(I(A,a.getText(),c,null,null,z),u&&D())}))});mxEvent.addListener(A,"dblclick",function(a){u=!0})}else A.innerHTML='<table width="100%" height="100%" style="line-height:1em;word-break: break-all;"><tr><td align="center" valign="middle">'+mxResources.get(f,null,f)+"</td></tr></table>",m&&I(A),null!=g?mxEvent.addListener(A,"click",g):(mxEvent.addListener(A,"click",function(a){I(A,null,null,b,e)}),mxEvent.addListener(A,"dblclick",function(a){D()}));P.appendChild(A)}function B(){W&& -(W=!1,mxEvent.addListener(P,"scroll",function(a){P.scrollTop+P.clientHeight>=P.scrollHeight&&(y(),mxEvent.consume(a))}));var a=null;if(0<da){var b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,mxResources.get("custom"));ca.appendChild(b);for(var c in O){var f=document.createElement("div"),b=c,d=O[c];18<b.length&&(b=b.substring(0,18)+"…");f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;"; -f.setAttribute("title",b+" ("+d.length+")");mxUtils.write(f,f.getAttribute("title"));null!=q&&(f.style.padding=q);ca.appendChild(f);(function(b,c){mxEvent.addListener(f,"click",function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,P.scrollTop=0,P.innerHTML="",K=0,S=O[b],N=null,y())})})(c,f)}b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,"draw.io");ca.appendChild(b)}for(c in R)f=document.createElement("div"), -b=mxResources.get(c),d=R[c],null==b&&(b=c.substring(0,1).toUpperCase()+c.substring(1)),18<b.length&&(b=b.substring(0,18)+"…"),f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;",f.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(f,f.getAttribute("title")),null!=q&&(f.style.padding=q),ca.appendChild(f),null==a&&0<d.length&&(a=f,a.style.backgroundColor=k,S=d),function(b,c){mxEvent.addListener(f,"click", -function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,P.scrollTop=0,P.innerHTML="",K=0,S=R[b],N=null,y())})}(c,f);y()}d=null!=d?d:!0;e=null!=e?e:!1;k=null!=k?k:"#ebf2f9";l=null!=l?l:"#e6eff8";n=null!=n?n:"1px solid #ccd9ea";f=null!=f?f:EditorUi.templateFile;var C=document.createElement("div");C.style.height="100%";var A=document.createElement("div");A.style.whiteSpace="nowrap";A.style.height="46px";d&&C.appendChild(A);var G=document.createElement("img");G.setAttribute("border", +function(){a.hideDialog();b(k.value,l.value)});c.appendChild(n);n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(d);this.container=c},NewDialog=function(a,c,d,b,e,g,k,l,n,q,f,m,p,u,v,t,z){function x(){var a=!0;if(null!=S)for(;K<S.length&&(a||0!=mxUtils.mod(K,30));){var b=S[K++],b=y(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick,b.preview,b.noImg,b.clibs);a&&b.click();a=!1}}function D(){if(U)d||a.hideDialog(),u(U,Z,E.value);else if(b)d||a.hideDialog(), +b(fa,E.value);else{var c=E.value;null!=c&&0<c.length&&a.pickFolder(a.mode,function(b){a.createFile(c,fa,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,b,null,null!=ga&&0<ga.length?ga:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}function I(a,b,c,f,d,m){null!=ba&&(ba.style.backgroundColor="transparent",ba.style.border="1px solid transparent");F.removeAttribute("disabled");fa=b;X=c;ga=m;ba=a;U=f;Z=d;ba.style.backgroundColor=l;ba.style.border=n}function y(b, +c,f,d,m,p,e,g,t,k,y){var A=document.createElement("div");A.className="geTemplate";A.style.height=aa+"px";A.style.width=ea+"px";null!=d&&0<d.length&&A.setAttribute("title",d);if(null!=p)A.style.backgroundImage="url("+p+")",A.style.backgroundSize="contain",A.style.backgroundPosition="center center",A.style.backgroundRepeat="no-repeat",mxEvent.addListener(A,"click",function(a){I(A,null,null,b,e,y)}),mxEvent.addListener(A,"dblclick",function(a){D()});else if(!k&&null!=b&&0<b.length){f=t||TEMPLATE_PATH+ +"/"+b.substring(0,b.length-4)+".png";A.style.backgroundImage="url("+f+")";A.style.backgroundPosition="center center";A.style.backgroundRepeat="no-repeat";var u=!1;mxEvent.addListener(A,"click",function(f){F.setAttribute("disabled","disabled");A.style.backgroundColor="transparent";A.style.border="1px solid transparent";f=b;f=/^https?:\/\//.test(f)&&!a.editor.isCorsEnabledForUrl(f)?PROXY_URL+"?url="+encodeURIComponent(f):TEMPLATE_PATH+"/"+f;H.spin(R);mxUtils.get(f,mxUtils.bind(this,function(a){H.stop(); +200<=a.getStatus()&&299>=a.getStatus()&&(I(A,a.getText(),c,null,null,y),u&&D())}))});mxEvent.addListener(A,"dblclick",function(a){u=!0})}else A.innerHTML='<table width="100%" height="100%" style="line-height:1em;word-break: break-all;"><tr><td align="center" valign="middle">'+mxResources.get(f,null,f)+"</td></tr></table>",m&&I(A),null!=g?mxEvent.addListener(A,"click",g):(mxEvent.addListener(A,"click",function(a){I(A,null,null,b,e)}),mxEvent.addListener(A,"dblclick",function(a){D()}));R.appendChild(A); +return A}function B(){W&&(W=!1,mxEvent.addListener(R,"scroll",function(a){R.scrollTop+R.clientHeight>=R.scrollHeight&&(x(),mxEvent.consume(a))}));var a=null;if(0<ca){var b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,mxResources.get("custom"));da.appendChild(b);for(var c in O){var f=document.createElement("div"),b=c,d=O[c];18<b.length&&(b=b.substring(0,18)+"…");f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;"; +f.setAttribute("title",b+" ("+d.length+")");mxUtils.write(f,f.getAttribute("title"));null!=q&&(f.style.padding=q);da.appendChild(f);(function(b,c){mxEvent.addListener(f,"click",function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,R.scrollTop=0,R.innerHTML="",K=0,S=O[b],N=null,x())})})(c,f)}b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,"draw.io");da.appendChild(b)}for(c in Q)f=document.createElement("div"), +b=mxResources.get(c),d=Q[c],null==b&&(b=c.substring(0,1).toUpperCase()+c.substring(1)),18<b.length&&(b=b.substring(0,18)+"…"),f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;",f.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(f,f.getAttribute("title")),null!=q&&(f.style.padding=q),da.appendChild(f),null==a&&0<d.length&&(a=f,a.style.backgroundColor=k,S=d),function(b,c){mxEvent.addListener(f,"click", +function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,R.scrollTop=0,R.innerHTML="",K=0,S=Q[b],N=null,x())})}(c,f);x()}d=null!=d?d:!0;e=null!=e?e:!1;k=null!=k?k:"#ebf2f9";l=null!=l?l:"#e6eff8";n=null!=n?n:"1px solid #ccd9ea";f=null!=f?f:EditorUi.templateFile;var C=document.createElement("div");C.style.height="100%";var A=document.createElement("div");A.style.whiteSpace="nowrap";A.style.height="46px";d&&C.appendChild(A);var G=document.createElement("img");G.setAttribute("border", "0");G.setAttribute("align","absmiddle");G.style.width="40px";G.style.height="40px";G.style.marginRight="10px";G.style.paddingBottom="4px";G.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER? IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!c&&d&&A.appendChild(G);d&&mxUtils.write(A,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");G=".drawio";a.mode==App.MODE_GOOGLE&&null!=a.drive?G=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?G=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?G=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?G=a.gitHub.extension: a.mode==App.MODE_GITLAB&&null!=a.gitLab?G=a.gitLab.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(G=a.trello.extension);var E=document.createElement("input");E.setAttribute("value",a.defaultFilename+G);E.style.marginLeft="10px";E.style.width=c?"220px":"430px";this.init=function(){d&&(E.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?E.select():document.execCommand("selectAll",!1,null))};d&&(A.appendChild(E),null!=a.editor.fileExtensions&&(G=FilenameDialog.createTypeHint(a, -E,a.editor.fileExtensions),G.style.marginTop="12px",A.appendChild(G)));var A=!1,K=0,H=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),F=mxUtils.button(t||mxResources.get("create"),function(){F.setAttribute("disabled","disabled");D();F.removeAttribute("disabled")});F.className="geBtn gePrimaryBtn";if(m||p){var J=[],N=null,Q=null,Y=null,T=function(a){F.setAttribute("disabled","disabled");for(var b=0;b<J.length;b++)J[b].className= -b==a?"geBtn gePrimaryBtn":"geBtn"},A=!0;t=document.createElement("div");t.style.whiteSpace="nowrap";t.style.height="30px";C.appendChild(t);G=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){ca.style.display="";P.style.left="160px";T(0);P.scrollTop=0;P.innerHTML="";K=0;N!=S&&(S=N,R=Q,da=Y,ca.innerHTML="",B(),N=null)});J.push(G);t.appendChild(G);var L=function(a){ca.style.display="none";P.style.left="30px";T(a?-1:1);null==N&&(N=S);P.scrollTop=0;P.innerHTML="";H.spin(P);var b= -function(a,b,c){K=0;H.stop();S=a;c=c||{};var f=0,d;for(d in c)f+=c[d].length;if(b)P.innerHTML=b;else if(0==a.length&&0==f)P.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(P.innerHTML="",0<f){ca.style.display="";P.style.left="160px";ca.innerHTML="";da=0;R={"draw.io":a};for(d in c)R[d]=c[d];B()}else y()};a?p(V.value,b):m(b)};m&&(G=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){L()}),t.appendChild(G),J.push(G));if(p){G=document.createElement("span"); -G.style.marginLeft="10px";G.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");t.appendChild(G);var V=document.createElement("input");V.style.marginRight="10px";V.style.marginLeft="10px";V.style.width="220px";mxEvent.addListener(V,"keypress",function(a){13==a.keyCode&&L(!0)});t.appendChild(V);G=mxUtils.button(mxResources.get("search"),function(){L(!0)});G.className="geBtn";t.appendChild(G)}T(0)}var X=null,ga=null,fa=null,ba=null,U=null,Z=null,P=document.createElement("div");P.style.border= -"1px solid #d3d3d3";P.style.position="absolute";P.style.left="160px";P.style.right="34px";A=(d?72:40)+(A?30:0);P.style.top=A+"px";P.style.bottom="68px";P.style.margin="6px 0 0 -1px";P.style.padding="6px";P.style.overflow="auto";var ca=document.createElement("div");ca.style.cssText="position:absolute;left:30px;width:128px;top:"+A+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var aa=140,ea=140,R={},O={},da=0,W=!0;R.basic=[{title:"blankDiagram",select:!0}];var S=R.basic;if(!c){var ia= -function(){mxUtils.get(M,function(a){if(!ma){ma=!0;a=a.getXml().documentElement.firstChild;for(var b={};null!=a;){if("undefined"!==typeof a.getAttribute)if("clibs"==a.nodeName){for(var c=a.getAttribute("name"),f=a.getElementsByTagName("add"),d=[],m=0;m<f.length;m++)d.push(encodeURIComponent(mxUtils.getTextContent(f[m])));null!=c&&0<d.length&&(b[c]=d.join(";"))}else c=a.getAttribute("url"),null!=c&&(f=a.getAttribute("section"),null==f&&(f=c.indexOf("/"),f=c.substring(0,f)),c=R[f],null==c&&(c=[],R[f]= -c),f=a.getAttribute("clibs"),null!=b[f]&&(f=b[f]),c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview"),clibs:f}));a=a.nextSibling}H.stop();B()}})};C.appendChild(ca);C.appendChild(P);var ma=!1,M=f;/^https?:\/\//.test(M)&&!a.editor.isCorsEnabledForUrl(M)&&(M=PROXY_URL+"?url="+encodeURIComponent(M));H.spin(P);null!=x?x(function(a,b){O=a;Y=da=b;ia()},ia):ia();Q=R}mxEvent.addListener(E,"keypress",function(b){a.dialog.container.firstChild== -C&&13==b.keyCode&&D()});f=document.createElement("div");f.style.marginTop=c?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom="24px";f.style.right="40px";c||a.isOffline()||!d||null!=b||e||(x=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),x.className="geBtn",f.appendChild(x));x=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});x.className= -"geBtn";!a.editor.cancelFirst||e&&null==g||f.appendChild(x);c||"1"==urlParams.embed||e||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(E.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}), +E,a.editor.fileExtensions),G.style.marginTop="12px",A.appendChild(G)));var A=!1,K=0,H=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),F=mxUtils.button(t||mxResources.get("create"),function(){F.setAttribute("disabled","disabled");D();F.removeAttribute("disabled")});F.className="geBtn gePrimaryBtn";if(m||p){var J=[],N=null,P=null,Y=null,T=function(a){F.setAttribute("disabled","disabled");for(var b=0;b<J.length;b++)J[b].className= +b==a?"geBtn gePrimaryBtn":"geBtn"},A=!0;t=document.createElement("div");t.style.whiteSpace="nowrap";t.style.height="30px";C.appendChild(t);G=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){da.style.display="";R.style.left="160px";T(0);R.scrollTop=0;R.innerHTML="";K=0;N!=S&&(S=N,Q=P,ca=Y,da.innerHTML="",B(),N=null)});J.push(G);t.appendChild(G);var L=function(a){da.style.display="none";R.style.left="30px";T(a?-1:1);null==N&&(N=S);R.scrollTop=0;R.innerHTML="";H.spin(R);var b= +function(a,b,c){K=0;H.stop();S=a;c=c||{};var f=0,d;for(d in c)f+=c[d].length;if(b)R.innerHTML=b;else if(0==a.length&&0==f)R.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(R.innerHTML="",0<f){da.style.display="";R.style.left="160px";da.innerHTML="";ca=0;Q={"draw.io":a};for(d in c)Q[d]=c[d];B()}else x()};a?p(V.value,b):m(b)};m&&(G=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){L()}),t.appendChild(G),J.push(G));if(p){G=document.createElement("span"); +G.style.marginLeft="10px";G.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");t.appendChild(G);var V=document.createElement("input");V.style.marginRight="10px";V.style.marginLeft="10px";V.style.width="220px";mxEvent.addListener(V,"keypress",function(a){13==a.keyCode&&L(!0)});t.appendChild(V);G=mxUtils.button(mxResources.get("search"),function(){L(!0)});G.className="geBtn";t.appendChild(G)}T(0)}var X=null,ga=null,fa=null,ba=null,U=null,Z=null,R=document.createElement("div");R.style.border= +"1px solid #d3d3d3";R.style.position="absolute";R.style.left="160px";R.style.right="34px";A=(d?72:40)+(A?30:0);R.style.top=A+"px";R.style.bottom="68px";R.style.margin="6px 0 0 -1px";R.style.padding="6px";R.style.overflow="auto";var da=document.createElement("div");da.style.cssText="position:absolute;left:30px;width:128px;top:"+A+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var aa=140,ea=140,Q={},O={},ca=0,W=!0;Q.basic=[{title:"blankDiagram",select:!0}];var S=Q.basic;if(!c){var ia= +function(){mxUtils.get(M,function(a){if(!ma){ma=!0;a=a.getXml().documentElement.firstChild;for(var b={};null!=a;){if("undefined"!==typeof a.getAttribute)if("clibs"==a.nodeName){for(var c=a.getAttribute("name"),f=a.getElementsByTagName("add"),d=[],m=0;m<f.length;m++)d.push(encodeURIComponent(mxUtils.getTextContent(f[m])));null!=c&&0<d.length&&(b[c]=d.join(";"))}else c=a.getAttribute("url"),null!=c&&(f=a.getAttribute("section"),null==f&&(f=c.indexOf("/"),f=c.substring(0,f)),c=Q[f],null==c&&(c=[],Q[f]= +c),f=a.getAttribute("clibs"),null!=b[f]&&(f=b[f]),c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview"),clibs:f}));a=a.nextSibling}H.stop();B()}})};C.appendChild(da);C.appendChild(R);var ma=!1,M=f;/^https?:\/\//.test(M)&&!a.editor.isCorsEnabledForUrl(M)&&(M=PROXY_URL+"?url="+encodeURIComponent(M));H.spin(R);null!=z?z(function(a,b){O=a;Y=ca=b;ia()},ia):ia();P=Q}mxEvent.addListener(E,"keypress",function(b){a.dialog.container.firstChild== +C&&13==b.keyCode&&D()});f=document.createElement("div");f.style.marginTop=c?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom="24px";f.style.right="40px";c||a.isOffline()||!d||null!=b||e||(z=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),z.className="geBtn",f.appendChild(z));z=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});z.className= +"geBtn";!a.editor.cancelFirst||e&&null==g||f.appendChild(z);c||"1"==urlParams.embed||e||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(E.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}), c.className="geBtn",f.appendChild(c));Graph.fileSupport&&v&&(v=mxUtils.button(mxResources.get("import"),function(){if(null==a.newDlgFileInputElt){var b=document.createElement("input");b.setAttribute("multiple","multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(c){a.openFiles(b.files,!0);b.value=""});b.style.display="none";document.body.appendChild(b);a.newDlgFileInputElt=b}a.newDlgFileInputElt.click()}),v.className="geBtn",f.appendChild(v));f.appendChild(F);a.editor.cancelFirst|| -null!=b||e&&null==g||f.appendChild(x);C.appendChild(f);this.container=C},CreateDialog=function(a,c,d,b,e,g,k,l,n,q,f,m,p,u,v,t,x){function y(b,f,d,p){function e(){mxEvent.addListener(g,"click",function(){var b=d;if(k){var f=z.value,m=f.lastIndexOf(".");if(0>c.lastIndexOf(".")&&0>m){var b=null!=b?b:A.value,p="";b==App.MODE_GOOGLE?p=a.drive.extension:b==App.MODE_GITHUB?p=a.gitHub.extension:b==App.MODE_GITLAB?p=a.gitLab.extension:b==App.MODE_TRELLO?p=a.trello.extension:b==App.MODE_DROPBOX?p=a.dropbox.extension: -b==App.MODE_ONEDRIVE?p=a.oneDrive.extension:b==App.MODE_DEVICE&&(p=".drawio");0<=m&&(f=f.substring(0,m));z.value=f+p}}D(d)})}var g=document.createElement("a");g.style.overflow="hidden";var t=document.createElement("img");t.src=b;t.setAttribute("border","0");t.setAttribute("align","absmiddle");t.style.width="60px";t.style.height="60px";t.style.paddingBottom="6px";g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";g.className="geBaseButton";g.style.position="relative";g.style.margin="4px";g.style.padding= +null!=b||e&&null==g||f.appendChild(z);C.appendChild(f);this.container=C},CreateDialog=function(a,c,d,b,e,g,k,l,n,q,f,m,p,u,v,t,z){function x(b,f,d,p){function e(){mxEvent.addListener(g,"click",function(){var b=d;if(k){var f=y.value,m=f.lastIndexOf(".");if(0>c.lastIndexOf(".")&&0>m){var b=null!=b?b:A.value,p="";b==App.MODE_GOOGLE?p=a.drive.extension:b==App.MODE_GITHUB?p=a.gitHub.extension:b==App.MODE_GITLAB?p=a.gitLab.extension:b==App.MODE_TRELLO?p=a.trello.extension:b==App.MODE_DROPBOX?p=a.dropbox.extension: +b==App.MODE_ONEDRIVE?p=a.oneDrive.extension:b==App.MODE_DEVICE&&(p=".drawio");0<=m&&(f=f.substring(0,m));y.value=f+p}}D(d)})}var g=document.createElement("a");g.style.overflow="hidden";var t=document.createElement("img");t.src=b;t.setAttribute("border","0");t.setAttribute("align","absmiddle");t.style.width="60px";t.style.height="60px";t.style.paddingBottom="6px";g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";g.className="geBaseButton";g.style.position="relative";g.style.margin="4px";g.style.padding= "8px 8px 10px 8px";g.style.whiteSpace="nowrap";g.appendChild(t);mxClient.IS_QUIRKS&&(g.style.cssFloat="left",g.style.zoom="1");g.style.color="gray";g.style.fontSize="11px";var u=document.createElement("div");g.appendChild(u);mxUtils.write(u,f);if(null!=p&&null==a[p]){t.style.visibility="hidden";mxUtils.setOpacity(u,10);var v=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});v.spin(g);var l=window.setTimeout(function(){null== -a[p]&&(v.stop(),g.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[p]&&(window.clearTimeout(l),mxUtils.setOpacity(u,100),t.style.visibility="",v.stop(),e())}))}else e();B.appendChild(g);++C==m&&(mxUtils.br(B),C=0)}function D(b){var c=z.value;if(null==b||null!=c&&0<c.length)x&&a.hideDialog(),d(c,b,z)}k=null!=k?k:!0;l=null!=l?l:!0;m=null!=m?m:4;x=null!=x?x:!0;g=document.createElement("div");g.style.whiteSpace="nowrap";null==b&&a.addLanguageMenu(g);var I= -document.createElement("h2");mxUtils.write(I,e||mxResources.get("create"));I.style.marginTop="0px";I.style.marginBottom="24px";g.appendChild(I);mxUtils.write(g,mxResources.get("filename")+":");var z=document.createElement("input");z.setAttribute("value",c);z.style.width="280px";z.style.marginLeft="10px";z.style.marginBottom="20px";z.style.maxWidth="70%";this.init=function(){z.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?z.select():document.execCommand("selectAll", -!1,null)};g.appendChild(z);null!=t&&g.appendChild(FilenameDialog.createTypeHint(a,z,t));null!=p&&null!=u&&"image/"==u.substring(0,6)&&(z.style.width="160px",e=null,"image/svg+xml"==u&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(p),p=e.getElementsByTagName("svg")[0],u=parseInt(p.getAttribute("width")),v=parseInt(p.getAttribute("height")),p.setAttribute("viewBox","0 0 "+u+" "+v),p.setAttribute("width","120px"),p.setAttribute("height","80px")):(e=document.createElement("img"), +a[p]&&(v.stop(),g.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[p]&&(window.clearTimeout(l),mxUtils.setOpacity(u,100),t.style.visibility="",v.stop(),e())}))}else e();B.appendChild(g);++C==m&&(mxUtils.br(B),C=0)}function D(b){var c=y.value;if(null==b||null!=c&&0<c.length)z&&a.hideDialog(),d(c,b,y)}k=null!=k?k:!0;l=null!=l?l:!0;m=null!=m?m:4;z=null!=z?z:!0;g=document.createElement("div");g.style.whiteSpace="nowrap";null==b&&a.addLanguageMenu(g);var I= +document.createElement("h2");mxUtils.write(I,e||mxResources.get("create"));I.style.marginTop="0px";I.style.marginBottom="24px";g.appendChild(I);mxUtils.write(g,mxResources.get("filename")+":");var y=document.createElement("input");y.setAttribute("value",c);y.style.width="280px";y.style.marginLeft="10px";y.style.marginBottom="20px";y.style.maxWidth="70%";this.init=function(){y.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?y.select():document.execCommand("selectAll", +!1,null)};g.appendChild(y);null!=t&&g.appendChild(FilenameDialog.createTypeHint(a,y,t));null!=p&&null!=u&&"image/"==u.substring(0,6)&&(y.style.width="160px",e=null,"image/svg+xml"==u&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(p),p=e.getElementsByTagName("svg")[0],u=parseInt(p.getAttribute("width")),v=parseInt(p.getAttribute("height")),p.setAttribute("viewBox","0 0 "+u+" "+v),p.setAttribute("width","120px"),p.setAttribute("height","80px")):(e=document.createElement("img"), e.setAttribute("src","data:"+u+(v?";base64,":";utf8,")+p)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),g.appendChild(e),n&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){D("_blank")})));mxUtils.br(g);var B=document.createElement("div");B.style.textAlign="center";var C=0;B.style.marginTop="6px";g.appendChild(B);var A= -document.createElement("select");A.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(p,mxResources.get("googleDrive")),A.appendChild(p),y(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(p, -mxResources.get("oneDrive")),A.appendChild(p),a.mode==App.MODE_ONEDRIVE&&p.setAttribute("selected","selected"),y(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(p,mxResources.get("dropbox")),A.appendChild(p),a.mode==App.MODE_DROPBOX&&p.setAttribute("selected","selected"),y(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"), -App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GITHUB),mxUtils.write(p,mxResources.get("github")),A.appendChild(p),y(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.gitLab&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GITLAB),mxUtils.write(p,mxResources.get("gitlab")),A.appendChild(p),y(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")), -"function"===typeof window.TrelloClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_TRELLO),mxUtils.write(p,mxResources.get("trello")),A.appendChild(p),y(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));Editor.useLocalStorage&&"device"!=urlParams.storage&&null==a.getCurrentFile()||(p=document.createElement("option"),p.setAttribute("value",App.MODE_DEVICE),mxUtils.write(p,mxResources.get("device")),A.appendChild(p),a.mode!=App.MODE_DEVICE&& -l||p.setAttribute("selected","selected"),f&&y(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE));l&&isLocalStorage&&"0"!=urlParams.browser&&(l=document.createElement("option"),l.setAttribute("value",App.MODE_BROWSER),mxUtils.write(l,mxResources.get("browser")),A.appendChild(l),a.mode==App.MODE_BROWSER&&l.setAttribute("selected","selected"),y(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));l=document.createElement("div");l.style.marginTop= +document.createElement("select");A.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(p,mxResources.get("googleDrive")),A.appendChild(p),x(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(p, +mxResources.get("oneDrive")),A.appendChild(p),a.mode==App.MODE_ONEDRIVE&&p.setAttribute("selected","selected"),x(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(p,mxResources.get("dropbox")),A.appendChild(p),a.mode==App.MODE_DROPBOX&&p.setAttribute("selected","selected"),x(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"), +App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GITHUB),mxUtils.write(p,mxResources.get("github")),A.appendChild(p),x(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.gitLab&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GITLAB),mxUtils.write(p,mxResources.get("gitlab")),A.appendChild(p),x(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),App.MODE_GITLAB,"gitLab")), +"function"===typeof window.TrelloClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_TRELLO),mxUtils.write(p,mxResources.get("trello")),A.appendChild(p),x(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));Editor.useLocalStorage&&"device"!=urlParams.storage&&null==a.getCurrentFile()||(p=document.createElement("option"),p.setAttribute("value",App.MODE_DEVICE),mxUtils.write(p,mxResources.get("device")),A.appendChild(p),a.mode!=App.MODE_DEVICE&& +l||p.setAttribute("selected","selected"),f&&x(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE));l&&isLocalStorage&&"0"!=urlParams.browser&&(l=document.createElement("option"),l.setAttribute("value",App.MODE_BROWSER),mxUtils.write(l,mxResources.get("browser")),A.appendChild(l),a.mode==App.MODE_BROWSER&&l.setAttribute("selected","selected"),x(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));l=document.createElement("div");l.style.marginTop= "26px";l.style.textAlign="center";null!=q&&(f=mxUtils.button(mxResources.get("help"),function(){a.openLink(q)}),f.className="geBtn",l.appendChild(f));f=mxUtils.button(mxResources.get("cancel"),function(){null!=b?b():(a.fileLoaded(null),a.hideDialog(),window.close(),window.location.href=a.getUrl())});f.className="geBtn";a.editor.cancelFirst&&l.appendChild(f);null==b&&(p=mxUtils.button(mxResources.get("decideLater"),function(){D(null)}),p.className="geBtn",l.appendChild(p));n&&Editor.popupsAllowed&& -(n=mxUtils.button(mxResources.get("openInNewWindow"),function(){D("_blank")}),n.className="geBtn",l.appendChild(n));CreateDialog.showDownloadButton&&(n=mxUtils.button(mxResources.get("download"),function(){D("download")}),n.className="geBtn",l.appendChild(n));a.editor.cancelFirst||l.appendChild(f);mxEvent.addListener(z,"keypress",function(b){13==b.keyCode?D(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});g.appendChild(l);this.container=g}; +(n=mxUtils.button(mxResources.get("openInNewWindow"),function(){D("_blank")}),n.className="geBtn",l.appendChild(n));CreateDialog.showDownloadButton&&(n=mxUtils.button(mxResources.get("download"),function(){D("download")}),n.className="geBtn",l.appendChild(n));a.editor.cancelFirst||l.appendChild(f);mxEvent.addListener(y,"keypress",function(b){13==b.keyCode?D(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});g.appendChild(l);this.container=g}; CreateDialog.showDownloadButton=!0; var PopupDialog=function(a,c,d,b,e){e=null!=e?e:!0;var g=document.createElement("div");g.style.textAlign="left";mxUtils.write(g,mxResources.get("fileOpenLocation"));mxUtils.br(g);mxUtils.br(g);var k=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog();null!=b&&b()});k.className="geBtn";k.style.marginBottom="8px";k.style.width="280px";g.appendChild(k);mxUtils.br(g);var l=mxUtils.button(mxResources.get("openInNewWindow"),function(){e&&a.hideDialog();null!=d&&d();a.openLink(c, null,!0)});l.className="geBtn gePrimaryBtn";l.style.width=k.style.width;g.appendChild(l);mxUtils.br(g);mxUtils.br(g);mxUtils.write(g,mxResources.get("allowPopups"));this.container=g},ImageDialog=function(a,c,d,b,e,g){g=null!=g?g:!0;var k=a.editor.graph,l=document.createElement("div");mxUtils.write(l,c);c=document.createElement("div");c.className="geTitle";c.style.backgroundColor="transparent";c.style.borderColor="transparent";c.style.whiteSpace="nowrap";c.style.textOverflow="clip";c.style.cursor= @@ -7999,21 +8098,21 @@ m.files&&(a.importFiles(m.files,0,0,a.maxImageSize,function(a,b,c,d,m,p){f(a)},f a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)}),p.className="geBtn",d.appendChild(p),null!=a.drive&&"1"==urlParams.photos&&(p=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(a.drive.token).addView(google.picker.ViewId.PHOTO_UPLOAD); a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),p.className="geBtn",d.appendChild(p)));mxEvent.addListener(n,"keypress",function(a){13==a.keyCode&&f(n.value)});p=mxUtils.button(mxResources.get("apply"),function(){f(n.value)});p.className="geBtn gePrimaryBtn";d.appendChild(p);a.editor.cancelFirst||d.appendChild(c);Graph.fileSupport&&(d.style.marginTop="120px",l.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",l.style.backgroundPosition= "center 65%",l.style.backgroundRepeat="no-repeat",c=document.createElement("div"),c.style.position="absolute",c.style.width="420px",c.style.top="58%",c.style.textAlign="center",c.style.fontSize="18px",c.style.color="#a0c3ff",mxUtils.write(c,mxResources.get("dragImagesHere")),l.appendChild(c));l.appendChild(d);this.container=l},LinkDialog=function(a,c,d,b,e){function g(a,b,c){c=mxUtils.button("",c);c.className="geBtn";c.setAttribute("title",b);b=document.createElement("img");b.style.height="26px"; -b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);x.appendChild(c)}var k=document.createElement("div");mxUtils.write(k,mxResources.get("editLink")+":");var l=document.createElement("div");l.className="geTitle";l.style.backgroundColor="transparent";l.style.borderColor="transparent";l.style.whiteSpace="nowrap";l.style.textOverflow="clip";l.style.cursor="default";mxClient.IS_VML||(l.style.paddingRight="20px");var n=document.createElement("input"); +b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);z.appendChild(c)}var k=document.createElement("div");mxUtils.write(k,mxResources.get("editLink")+":");var l=document.createElement("div");l.className="geTitle";l.style.backgroundColor="transparent";l.style.borderColor="transparent";l.style.whiteSpace="nowrap";l.style.textOverflow="clip";l.style.cursor="default";mxClient.IS_VML||(l.style.paddingRight="20px");var n=document.createElement("input"); n.setAttribute("placeholder",mxResources.get("dragUrlsHere"));n.setAttribute("type","text");n.style.marginTop="6px";n.style.width="100%";n.style.boxSizing="border-box";n.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";n.style.backgroundRepeat="no-repeat";n.style.backgroundPosition="100% 50%";n.style.paddingRight="14px";var q=document.createElement("div");q.setAttribute("title",mxResources.get("reset"));q.style.position="relative";q.style.left="-16px";q.style.width="12px";q.style.height= "14px";q.style.cursor="pointer";q.style.display=mxClient.IS_VML?"inline":"inline-block";q.style.top=(mxClient.IS_VML?0:3)+"px";q.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(q,"click",function(){n.value="";n.focus()});var f=document.createElement("input");f.style.cssText="margin-right:8px;margin-bottom:8px;";f.setAttribute("value","url");f.setAttribute("type","radio");f.setAttribute("name","current-linkdialog");var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-bottom:8px;"; m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","current-linkdialog");var p=document.createElement("select");p.style.width="100%";if(e&&null!=a.pages){null!=c&&"data:page/id,"==c.substring(0,13)?(m.setAttribute("checked","checked"),m.defaultChecked=!0):(n.setAttribute("value",c),f.setAttribute("checked","checked"),f.defaultChecked=!0);l.appendChild(f);l.appendChild(n);l.appendChild(q);mxUtils.br(l);l.appendChild(m);e=!1;for(q=0;q<a.pages.length;q++){var u=document.createElement("option"); mxUtils.write(u,a.pages[q].getName()||mxResources.get("pageWithNumber",[q+1]));u.setAttribute("value","data:page/id,"+a.pages[q].getId());c==u.getAttribute("value")&&(u.setAttribute("selected","selected"),e=!0);p.appendChild(u)}if(!e&&m.checked){var v=document.createElement("option");mxUtils.write(v,mxResources.get("pageNotFound"));v.setAttribute("disabled","disabled");v.setAttribute("selected","selected");v.setAttribute("value","pageNotFound");p.appendChild(v);mxEvent.addListener(p,"change",function(){null== v.parentNode||v.selected||v.parentNode.removeChild(v)})}l.appendChild(p)}else n.setAttribute("value",c),l.appendChild(n),l.appendChild(q);k.appendChild(l);var t=mxUtils.button(d,function(){a.hideDialog();b(m.checked?"pageNotFound"!==p.value?p.value:c:n.value,LinkDialog.selectedDocs)});t.style.verticalAlign="middle";t.className="geBtn gePrimaryBtn";this.init=function(){m.checked?p.focus():(n.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll", !1,null));mxEvent.addListener(p,"focus",function(){f.removeAttribute("checked");m.setAttribute("checked","checked");m.checked=!0});mxEvent.addListener(n,"focus",function(){m.removeAttribute("checked");f.setAttribute("checked","checked");f.checked=!0});if(Graph.fileSupport){var b=k.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(f){null== -c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));f.stopPropagation();f.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(n.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),f.setAttribute("checked","checked"),f.checked=!0,t.click());a.stopPropagation();a.preventDefault()}),!1)}};var x=document.createElement("div");x.style.marginTop= -"20px";x.style.textAlign="center";d=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/solution/articles/16000080137")});d.style.verticalAlign="middle";d.className="geBtn";x.appendChild(d);a.isOffline()&&!mxClient.IS_CHROMEAPP&&(d.style.display="none");d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.style.verticalAlign="middle";d.className="geBtn";a.editor.cancelFirst&&x.appendChild(d);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action== +c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));f.stopPropagation();f.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(n.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),f.setAttribute("checked","checked"),f.checked=!0,t.click());a.stopPropagation();a.preventDefault()}),!1)}};var z=document.createElement("div");z.style.marginTop= +"20px";z.style.textAlign="center";d=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/solution/articles/16000080137")});d.style.verticalAlign="middle";d.className="geBtn";z.appendChild(d);a.isOffline()&&!mxClient.IS_CHROMEAPP&&(d.style.display="none");d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.style.verticalAlign="middle";d.className="geBtn";a.editor.cancelFirst&&z.appendChild(d);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action== google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||null!=a.docs[0].mimeType&&"application/vnd.jgraph."==a.docs[0].mimeType.substring(0,23)?b="https://www.draw.io/#G"+a.docs[0].id:"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);n.value=b;n.focus()}else LinkDialog.selectedDocs=null;n.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&& g(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),f=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0), b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(a.drive.token).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(b).addView(c).addView(f).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTO_UPLOAD);a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))}); "undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&g(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){n.value=a[0].link;n.focus()}})});null!=a.oneDrive&&g(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,b){n.value=b.value[0].webUrl;n.focus()})});null!=a.gitHub&&g(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!= a){a=a.split("/");var b=a[0],c=a[1],f=a[2];a=a.slice(3,a.length).join("/");n.value="https://github.com/"+b+"/"+c+"/blob/"+f+"/"+a;n.focus()}})});null!=a.gitLab&&g(IMAGE_PATH+"/gitlab-logo.svg",mxResources.get("gitlab"),function(){a.gitLab.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],c=a[1],f=a[2];a=a.slice(3,a.length).join("/");n.value=DRAWIO_GITLAB_URL+"/"+b+"/"+c+"/blob/"+f+"/"+a;n.focus()}})});mxEvent.addListener(n,"keypress",function(c){13==c.keyCode&&(a.hideDialog(),b(m.checked? -p.value:n.value,LinkDialog.selectedDocs))});x.appendChild(t);a.editor.cancelFirst||x.appendChild(d);k.appendChild(x);this.container=k},AboutDialog=function(a){var c=document.createElement("div");c.style.marginTop="6px";c.setAttribute("align","center");var d=document.createElement("img");d.style.border="0px";mxClient.IS_SVG?(d.setAttribute("width","164"),d.setAttribute("height","221"),d.style.width="164px",d.style.height="221px",d.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(d.setAttribute("width", +p.value:n.value,LinkDialog.selectedDocs))});z.appendChild(t);a.editor.cancelFirst||z.appendChild(d);k.appendChild(z);this.container=k},AboutDialog=function(a){var c=document.createElement("div");c.style.marginTop="6px";c.setAttribute("align","center");var d=document.createElement("img");d.style.border="0px";mxClient.IS_SVG?(d.setAttribute("width","164"),d.setAttribute("height","221"),d.style.width="164px",d.style.height="221px",d.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(d.setAttribute("width", "176"),d.setAttribute("height","219"),d.style.width="170px",d.style.height="219px",d.setAttribute("src",IMAGE_PATH+"/logo-flat.png"));"dark"==uiTheme&&(d.style.filter="grayscale(100%) invert(100%)");c.appendChild(d);mxUtils.br(c);var d="dark"==uiTheme?"#cccccc":"#505050",b=document.createElement("small");b.innerHTML="v "+EditorUi.VERSION;b.style.color=d;c.appendChild(b);mxUtils.br(c);mxUtils.br(c);b=document.createElement("small");b.style.color=d;b.innerHTML='© 2005-2019 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.'; c.appendChild(b);mxEvent.addListener(c,"click",function(b){"A"!=mxEvent.getSource(b).nodeName&&a.hideDialog()});this.container=c},FeedbackDialog=function(a){var c=document.createElement("div"),d=document.createElement("div");mxUtils.write(d,mxResources.get("sendYourFeedbackToDrawIo"));d.style.fontSize="18px";d.style.marginBottom="18px";c.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");c.appendChild(d);var b=document.createElement("input"); b.setAttribute("type","text");b.style.marginTop="6px";b.style.width="600px";var e=mxUtils.button(mxResources.get("sendMessage"),function(){var c=n.value+(k.checked?"\nDiagram:\n"+mxUtils.getXml(a.getXmlFileData()):"")+"\nBrowser:\n"+navigator.userAgent;c.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(b.value)+ @@ -8023,40 +8122,40 @@ mxEvent.addListener(b,"change",function(){0<b.value.length&&0<g.test(b.value)?e. c.appendChild(n);d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right";l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";a.editor.cancelFirst?(d.appendChild(l),d.appendChild(e)):(d.appendChild(e),d.appendChild(l));c.appendChild(d);this.container=c};FeedbackDialog.maxAttachmentSize=1E6; var RevisionDialog=function(a,c,d){var b=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("revisionHistory"));b.appendChild(e);var g=document.createElement("div");g.style.position="absolute";g.style.overflow="auto";g.style.width="170px";g.style.height="378px";b.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.border="1px solid lightGray";k.style.left="199px";k.style.width="470px";k.style.height= "376px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);b.appendChild(k);var l=new Graph(k);l.setTooltips(!1);l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;var n=0,q=null,f=0,m=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"==a&&null!=q&&null!=q[f]?q[f].getAttribute("name"):"pagenumber"==a?f+1:"pagecount"==a?null!=q?q.length:1:m.apply(this,arguments)};l.getLinkForCell= -function(){return null};Editor.MathJaxRender&&l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var p=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),v=null,t=null,x=null,y=null,D=mxUtils.button("",function(){null!=x&&l.zoomIn()});D.className="geSprite geSprite-zoomin"; -D.setAttribute("title",mxResources.get("zoomIn"));D.style.outline="none";D.style.border="none";D.style.margin="2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var I=mxUtils.button("",function(){null!=x&&l.zoomOut()});I.className="geSprite geSprite-zoomout";I.setAttribute("title",mxResources.get("zoomOut"));I.style.outline="none";I.style.border="none";I.style.margin="2px";I.setAttribute("disabled","disabled");mxUtils.setOpacity(I,20);var z=mxUtils.button("",function(){null!=x&& -(l.maxFitScale=8,l.fit(8),l.center())});z.className="geSprite geSprite-fit";z.setAttribute("title",mxResources.get("fit"));z.style.outline="none";z.style.border="none";z.style.margin="2px";z.setAttribute("disabled","disabled");mxUtils.setOpacity(z,20);var B=mxUtils.button("",function(){null!=x&&(l.zoomActual(),l.center())});B.className="geSprite geSprite-actualsize";B.setAttribute("title",mxResources.get("actualSize"));B.style.outline="none";B.style.border="none";B.style.margin="2px";B.setAttribute("disabled", -"disabled");mxUtils.setOpacity(B,20);var C=document.createElement("div");C.style.position="absolute";C.style.textAlign="right";C.style.color="gray";C.style.marginTop="10px";C.style.backgroundColor="transparent";C.style.top="440px";C.style.right="32px";C.style.maxWidth="380px";C.style.cursor="default";var A=mxUtils.button(mxResources.get("download"),function(){if(null!=x){var b=mxUtils.getXml(x.documentElement),c=a.getBaseFilename()+".drawio";a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(b= -"undefined"===typeof pako?"&xml="+encodeURIComponent(b):"&data="+encodeURIComponent(Graph.compress(b)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml"+b)).simulate(document,"_blank"))}});A.className="geBtn";A.setAttribute("disabled","disabled");var G=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=y&&a.confirm(mxResources.get("areYouSure"),function(){null!=d?d(y):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop(); -a.replaceFileData(y);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});G.className="geBtn";G.setAttribute("disabled","disabled");var E=document.createElement("select");E.setAttribute("disabled","disabled");E.style.maxWidth="80px";E.style.position="relative";E.style.top="-2px";E.style.verticalAlign="bottom";E.style.marginRight="6px";E.style.display="none";var K=null;mxEvent.addListener(E,"change",function(a){null!= -K&&(K(a),mxEvent.consume(a))});var H=mxUtils.button(mxResources.get("edit"),function(){null!=x&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(x.documentElement)),a.openLink(a.getUrl(),null,!0))});H.className="geBtn";H.setAttribute("disabled","disabled");null!=d&&(H.style.display="none");var F=mxUtils.button(mxResources.get("show"),function(){null!=t&&a.openLink(t.getUrl(E.selectedIndex))});F.className="geBtn gePrimaryBtn";F.setAttribute("disabled", -"disabled");null!=d&&(F.style.display="none",G.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var J=document.createElement("div");J.className="geToolbarContainer";J.style.backgroundColor="transparent";J.style.padding="2px";J.style.border="none";J.style.left="199px";J.style.top="442px";var N=null;if(null!=c&&0<c.length){k.style.cursor="move";var Q=document.createElement("table");Q.style.border= -"1px solid lightGray";Q.style.borderCollapse="collapse";Q.style.borderSpacing="0px";Q.style.width="100%";var Y=document.createElement("tbody"),T=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(n=mxUtils.indexOf(a.pages,a.currentPage));for(var L=c.length-1;0<=L;L--){var V=function(b){var d=new Date(b.modifiedDate),m=null;if(0<=d.getTime()){var e=function(c){p.stop();var e=mxUtils.parseXml(c),g=a.editor.extractGraphModel(e.documentElement,!0);if(null!=g){var t=function(a){null!=a&&(a= -v(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(a))).documentElement));return a},v=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};E.style.display="none";E.innerHTML="";x=e;y=c;q=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){e=g.getElementsByTagName("diagram");q=[];for(c=0;c<e.length;c++)q.push(e[c]);f=Math.min(n, +function(){return null};Editor.MathJaxRender&&l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var p=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),v=null,t=null,z=null,x=null,D=mxUtils.button("",function(){null!=z&&l.zoomIn()});D.className="geSprite geSprite-zoomin"; +D.setAttribute("title",mxResources.get("zoomIn"));D.style.outline="none";D.style.border="none";D.style.margin="2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var I=mxUtils.button("",function(){null!=z&&l.zoomOut()});I.className="geSprite geSprite-zoomout";I.setAttribute("title",mxResources.get("zoomOut"));I.style.outline="none";I.style.border="none";I.style.margin="2px";I.setAttribute("disabled","disabled");mxUtils.setOpacity(I,20);var y=mxUtils.button("",function(){null!=z&& +(l.maxFitScale=8,l.fit(8),l.center())});y.className="geSprite geSprite-fit";y.setAttribute("title",mxResources.get("fit"));y.style.outline="none";y.style.border="none";y.style.margin="2px";y.setAttribute("disabled","disabled");mxUtils.setOpacity(y,20);var B=mxUtils.button("",function(){null!=z&&(l.zoomActual(),l.center())});B.className="geSprite geSprite-actualsize";B.setAttribute("title",mxResources.get("actualSize"));B.style.outline="none";B.style.border="none";B.style.margin="2px";B.setAttribute("disabled", +"disabled");mxUtils.setOpacity(B,20);var C=document.createElement("div");C.style.position="absolute";C.style.textAlign="right";C.style.color="gray";C.style.marginTop="10px";C.style.backgroundColor="transparent";C.style.top="440px";C.style.right="32px";C.style.maxWidth="380px";C.style.cursor="default";var A=mxUtils.button(mxResources.get("download"),function(){if(null!=z){var b=mxUtils.getXml(z.documentElement),c=a.getBaseFilename()+".drawio";a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(b= +"undefined"===typeof pako?"&xml="+encodeURIComponent(b):"&data="+encodeURIComponent(Graph.compress(b)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml"+b)).simulate(document,"_blank"))}});A.className="geBtn";A.setAttribute("disabled","disabled");var G=mxUtils.button(mxResources.get("restore"),function(){null!=z&&null!=x&&a.confirm(mxResources.get("areYouSure"),function(){null!=d?d(x):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop(); +a.replaceFileData(x);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});G.className="geBtn";G.setAttribute("disabled","disabled");var E=document.createElement("select");E.setAttribute("disabled","disabled");E.style.maxWidth="80px";E.style.position="relative";E.style.top="-2px";E.style.verticalAlign="bottom";E.style.marginRight="6px";E.style.display="none";var K=null;mxEvent.addListener(E,"change",function(a){null!= +K&&(K(a),mxEvent.consume(a))});var H=mxUtils.button(mxResources.get("edit"),function(){null!=z&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(z.documentElement)),a.openLink(a.getUrl(),null,!0))});H.className="geBtn";H.setAttribute("disabled","disabled");null!=d&&(H.style.display="none");var F=mxUtils.button(mxResources.get("show"),function(){null!=t&&a.openLink(t.getUrl(E.selectedIndex))});F.className="geBtn gePrimaryBtn";F.setAttribute("disabled", +"disabled");null!=d&&(F.style.display="none",G.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var J=document.createElement("div");J.className="geToolbarContainer";J.style.backgroundColor="transparent";J.style.padding="2px";J.style.border="none";J.style.left="199px";J.style.top="442px";var N=null;if(null!=c&&0<c.length){k.style.cursor="move";var P=document.createElement("table");P.style.border= +"1px solid lightGray";P.style.borderCollapse="collapse";P.style.borderSpacing="0px";P.style.width="100%";var Y=document.createElement("tbody"),T=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(n=mxUtils.indexOf(a.pages,a.currentPage));for(var L=c.length-1;0<=L;L--){var V=function(b){var d=new Date(b.modifiedDate),m=null;if(0<=d.getTime()){var e=function(c){p.stop();var e=mxUtils.parseXml(c),g=a.editor.extractGraphModel(e.documentElement,!0);if(null!=g){var t=function(a){null!=a&&(a= +v(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(a))).documentElement));return a},v=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};E.style.display="none";E.innerHTML="";z=e;x=c;q=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){e=g.getElementsByTagName("diagram");q=[];for(c=0;c<e.length;c++)q.push(e[c]);f=Math.min(n, q.length-1);0<q.length&&t(q[f]);if(1<q.length)for(E.removeAttribute("disabled"),E.style.display="",c=0;c<q.length;c++)e=document.createElement("option"),mxUtils.write(e,q[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),e.setAttribute("value",c),c==f&&e.setAttribute("selected","selected"),E.appendChild(e);K=function(){try{var b=parseInt(E.value);f=n=b;t(q[b])}catch(O){E.value=n,a.handleError(O)}}}else v(g);c=b.lastModifyingUserName;null!=c&&20<c.length&&(c=c.substring(0,20)+"..."); -C.innerHTML="";mxUtils.write(C,(null!=c?c+" ":"")+d.toLocaleDateString()+" "+d.toLocaleTimeString());C.setAttribute("title",m.getAttribute("title"));D.removeAttribute("disabled");I.removeAttribute("disabled");z.removeAttribute("disabled");B.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&G.removeAttribute("disabled"),A.removeAttribute("disabled"),F.removeAttribute("disabled"),H.removeAttribute("disabled"));mxUtils.setOpacity(D,60);mxUtils.setOpacity(I,60);mxUtils.setOpacity(z, +C.innerHTML="";mxUtils.write(C,(null!=c?c+" ":"")+d.toLocaleDateString()+" "+d.toLocaleTimeString());C.setAttribute("title",m.getAttribute("title"));D.removeAttribute("disabled");I.removeAttribute("disabled");y.removeAttribute("disabled");B.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&G.removeAttribute("disabled"),A.removeAttribute("disabled"),F.removeAttribute("disabled"),H.removeAttribute("disabled"));mxUtils.setOpacity(D,60);mxUtils.setOpacity(I,60);mxUtils.setOpacity(y, 60);mxUtils.setOpacity(B,60)}else E.style.display="none",E.innerHTML="",C.innerHTML="",mxUtils.write(C,mxResources.get("errorLoadingFile"))},m=document.createElement("tr");m.style.borderBottom="1px solid lightGray";m.style.fontSize="12px";m.style.cursor="pointer";var g=document.createElement("td");g.style.padding="6px";g.style.whiteSpace="nowrap";b==c[c.length-1]?mxUtils.write(g,mxResources.get("current")):d.toDateString()===T?mxUtils.write(g,d.toLocaleTimeString()):mxUtils.write(g,d.toLocaleDateString()+ -" "+d.toLocaleTimeString());m.appendChild(g);m.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(m,"click",function(a){t!=b&&(p.stop(),null!=v&&(v.style.backgroundColor=""),t=b,v=m,v.style.backgroundColor="#ebf2f9",y=x=null,C.removeAttribute("title"),C.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+"..."),k.style.backgroundColor= -"#ffffff",l.getModel().clear(),G.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),z.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),mxUtils.setOpacity(D,20),mxUtils.setOpacity(I,20),mxUtils.setOpacity(z,20),mxUtils.setOpacity(B,20),p.spin(k),b.getXml(function(a){if(t== -b)try{e(a)}catch(ca){C.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+ca.message)}},function(a){p.stop();E.style.display="none";E.innerHTML="";C.innerHTML="";mxUtils.write(C,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(m,"dblclick",function(a){F.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);Y.appendChild(m)}return m}(c[L]);null!=V&&L==c.length-1&&(N=V)}Q.appendChild(Y); -g.appendChild(Q)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(k.style.display="none",J.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(k.style.display="none",J.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));this.init=function(){null!=N&&N.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";J.appendChild(E);J.appendChild(D);J.appendChild(I); -J.appendChild(B);J.appendChild(z);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(A),e.appendChild(H),e.appendChild(G),e.appendChild(F)):(e.appendChild(A),e.appendChild(H),e.appendChild(G),e.appendChild(F),e.appendChild(g));b.appendChild(e);b.appendChild(J);b.appendChild(C);this.container=b},DraftDialog=function(a,c,d,b,e,g,k,l){var n=document.createElement("div"),q=document.createElement("div");q.style.marginTop="0px";q.style.whiteSpace="nowrap";q.style.overflow="auto";mxUtils.write(q,c);n.appendChild(q); +" "+d.toLocaleTimeString());m.appendChild(g);m.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(m,"click",function(a){t!=b&&(p.stop(),null!=v&&(v.style.backgroundColor=""),t=b,v=m,v.style.backgroundColor="#ebf2f9",x=z=null,C.removeAttribute("title"),C.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+"..."),k.style.backgroundColor= +"#ffffff",l.getModel().clear(),G.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),y.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),mxUtils.setOpacity(D,20),mxUtils.setOpacity(I,20),mxUtils.setOpacity(y,20),mxUtils.setOpacity(B,20),p.spin(k),b.getXml(function(a){if(t== +b)try{e(a)}catch(da){C.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+da.message)}},function(a){p.stop();E.style.display="none";E.innerHTML="";C.innerHTML="";mxUtils.write(C,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(m,"dblclick",function(a){F.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);Y.appendChild(m)}return m}(c[L]);null!=V&&L==c.length-1&&(N=V)}P.appendChild(Y); +g.appendChild(P)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(k.style.display="none",J.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(k.style.display="none",J.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));this.init=function(){null!=N&&N.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";J.appendChild(E);J.appendChild(D);J.appendChild(I); +J.appendChild(B);J.appendChild(y);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(A),e.appendChild(H),e.appendChild(G),e.appendChild(F)):(e.appendChild(A),e.appendChild(H),e.appendChild(G),e.appendChild(F),e.appendChild(g));b.appendChild(e);b.appendChild(J);b.appendChild(C);this.container=b},DraftDialog=function(a,c,d,b,e,g,k,l){var n=document.createElement("div"),q=document.createElement("div");q.style.marginTop="0px";q.style.whiteSpace="nowrap";q.style.overflow="auto";mxUtils.write(q,c);n.appendChild(q); var f=document.createElement("div");f.style.position="absolute";f.style.border="1px solid lightGray";f.style.marginTop="10px";f.style.width="640px";f.style.top="46px";f.style.bottom="74px";f.style.overflow="hidden";mxEvent.disableContextMenu(f);n.appendChild(f);var m=new Graph(f);m.setEnabled(!1);m.setPanning(!0);m.panningHandler.ignoreCell=!0;m.panningHandler.useLeftButtonForPanning=!0;m.minFitScale=null;m.maxFitScale=null;m.centerZoom=!0;c=mxUtils.parseXml(d);var p=a.editor.extractGraphModel(c.documentElement, !0),u=0,v=null,t=m.getGlobalVariable;m.getGlobalVariable=function(a){return"page"==a&&null!=v&&null!=v[u]?v[u].getAttribute("name"):"pagenumber"==a?u+1:"pagecount"==a?null!=v?v.length:1:t.apply(this,arguments)};m.getLinkForCell=function(){return null};c=mxUtils.button("",function(){m.zoomIn()});c.className="geSprite geSprite-zoomin";c.setAttribute("title",mxResources.get("zoomIn"));c.style.outline="none";c.style.border="none";c.style.margin="2px";mxUtils.setOpacity(c,60);d=mxUtils.button("",function(){m.zoomOut()}); -d.className="geSprite geSprite-zoomout";d.setAttribute("title",mxResources.get("zoomOut"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);q=mxUtils.button("",function(){m.maxFitScale=8;m.fit(8);m.center()});q.className="geSprite geSprite-fit";q.setAttribute("title",mxResources.get("fit"));q.style.outline="none";q.style.border="none";q.style.margin="2px";mxUtils.setOpacity(q,60);var x=mxUtils.button("",function(){m.zoomActual();m.center()});x.className="geSprite geSprite-actualsize"; -x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);e=mxUtils.button(k||mxResources.get("discard"),e);e.className="geBtn";var y=document.createElement("select");y.style.maxWidth="80px";y.style.position="relative";y.style.top="-2px";y.style.verticalAlign="bottom";y.style.marginRight="6px";y.style.display="none";b=mxUtils.button(g||mxResources.get("edit"),b);b.className="geBtn gePrimaryBtn";g=document.createElement("div"); +d.className="geSprite geSprite-zoomout";d.setAttribute("title",mxResources.get("zoomOut"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);q=mxUtils.button("",function(){m.maxFitScale=8;m.fit(8);m.center()});q.className="geSprite geSprite-fit";q.setAttribute("title",mxResources.get("fit"));q.style.outline="none";q.style.border="none";q.style.margin="2px";mxUtils.setOpacity(q,60);var z=mxUtils.button("",function(){m.zoomActual();m.center()});z.className="geSprite geSprite-actualsize"; +z.setAttribute("title",mxResources.get("actualSize"));z.style.outline="none";z.style.border="none";z.style.margin="2px";mxUtils.setOpacity(z,60);e=mxUtils.button(k||mxResources.get("discard"),e);e.className="geBtn";var x=document.createElement("select");x.style.maxWidth="80px";x.style.position="relative";x.style.top="-2px";x.style.verticalAlign="bottom";x.style.marginRight="6px";x.style.display="none";b=mxUtils.button(g||mxResources.get("edit"),b);b.className="geBtn gePrimaryBtn";g=document.createElement("div"); g.style.position="absolute";g.style.bottom="30px";g.style.width="640px";g.style.textAlign="right";k=document.createElement("div");k.className="geToolbarContainer";k.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";this.init=function(){function a(a){if(null!=a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";f.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,m.getModel()); -m.maxFitScale=1;m.fit(8);m.center()}}function b(b){null!=b&&(b=a(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(b))).documentElement));return b}mxEvent.addListener(y,"change",function(a){u=parseInt(y.value);b(v[u]);mxEvent.consume(a)});if("mxfile"==p.nodeName){var c=p.getElementsByTagName("diagram");v=[];for(var d=0;d<c.length;d++)v.push(c[d]);0<v.length&&b(v[u]);if(1<v.length)for(y.style.display="",d=0;d<v.length;d++)c=document.createElement("option"),mxUtils.write(c,v[d].getAttribute("name")|| -mxResources.get("pageWithNumber",[d+1])),c.setAttribute("value",d),d==u&&c.setAttribute("selected","selected"),y.appendChild(c)}else a(p)};k.appendChild(y);k.appendChild(c);k.appendChild(d);k.appendChild(x);k.appendChild(q);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});c.className="geBtn";l=null!=l?mxUtils.button(mxResources.get("ignore"),l):null;null!=l&&(l.className="geBtn");a.editor.cancelFirst?(g.appendChild(c),null!=l&&g.appendChild(l),g.appendChild(e),g.appendChild(b)): +m.maxFitScale=1;m.fit(8);m.center()}}function b(b){null!=b&&(b=a(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(b))).documentElement));return b}mxEvent.addListener(x,"change",function(a){u=parseInt(x.value);b(v[u]);mxEvent.consume(a)});if("mxfile"==p.nodeName){var c=p.getElementsByTagName("diagram");v=[];for(var d=0;d<c.length;d++)v.push(c[d]);0<v.length&&b(v[u]);if(1<v.length)for(x.style.display="",d=0;d<v.length;d++)c=document.createElement("option"),mxUtils.write(c,v[d].getAttribute("name")|| +mxResources.get("pageWithNumber",[d+1])),c.setAttribute("value",d),d==u&&c.setAttribute("selected","selected"),x.appendChild(c)}else a(p)};k.appendChild(x);k.appendChild(c);k.appendChild(d);k.appendChild(z);k.appendChild(q);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});c.className="geBtn";l=null!=l?mxUtils.button(mxResources.get("ignore"),l):null;null!=l&&(l.className="geBtn");a.editor.cancelFirst?(g.appendChild(c),null!=l&&g.appendChild(l),g.appendChild(e),g.appendChild(b)): (g.appendChild(b),g.appendChild(e),null!=l&&g.appendChild(l),g.appendChild(c));n.appendChild(g);n.appendChild(k);this.container=n},FindWindow=function(a,c,d,b,e){function g(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var f=0;f<b.length;f++)if("label"!=b[f].nodeName){var d=mxUtils.trim(b[f].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&d.substring(0,c.length)===c||null!=a&&a.test(d))return!0}}return!1}function k(){var a=n.model.getDescendants(n.model.getRoot()), b=p.value.toLowerCase(),c=u.checked?new RegExp(b):null,d=null;q!=b&&(q=b,f=null);var m=null==f;if(0<b.length)for(var e=0;e<a.length;e++){var k=n.view.getState(a[e]);if(null!=k&&null!=k.cell.value&&(m||null==d)&&(n.model.isVertex(k.cell)||n.model.isEdge(k.cell))&&(n.isHtmlLabel(k.cell)?(t.innerHTML=n.getLabel(k.cell),label=mxUtils.extractTextWithWhitespace([t])):label=n.getLabel(k.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==c&&(label.substring(0,b.length)=== b||g(c,k.cell,b))||null!=c&&(c.test(label)||g(c,k.cell,b))))if(m){d=k;break}else null==d&&(d=k);m=m||k==f}null!=d?(f=d,n.scrollCellToVisible(f.cell),n.isEnabled()?n.setSelectionCell(f.cell):n.highlightCell(f.cell)):n.isEnabled()&&n.clearSelection();return 0==b.length||null!=d}var l=a.actions.get("find"),n=a.editor.graph,q=null,f=null,m=document.createElement("div");m.style.userSelect="none";m.style.overflow="hidden";m.style.padding="10px";m.style.height="100%";var p=document.createElement("input"); p.setAttribute("placeholder",mxResources.get("find"));p.setAttribute("type","text");p.style.marginTop="4px";p.style.marginBottom="6px";p.style.width="200px";p.style.fontSize="12px";p.style.borderRadius="4px";p.style.padding="6px";m.appendChild(p);mxUtils.br(m);var u=document.createElement("input");u.setAttribute("type","checkbox");u.style.marginRight="4px";m.appendChild(u);mxUtils.write(m,mxResources.get("regularExpression"));var v=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000088250"); -v.style.position="relative";v.style.marginLeft="6px";v.style.top="-1px";m.appendChild(v);var t=document.createElement("div");mxUtils.br(m);v=mxUtils.button(mxResources.get("reset"),function(){p.value="";p.style.backgroundColor="";q=f=null;p.focus()});v.setAttribute("title",mxResources.get("reset"));v.style.marginTop="6px";v.style.marginRight="4px";v.className="geBtn";m.appendChild(v);v=mxUtils.button(mxResources.get("find"),function(){try{p.style.backgroundColor=k()?"":"#ffcfcf"}catch(y){a.handleError(y)}}); +v.style.position="relative";v.style.marginLeft="6px";v.style.top="-1px";m.appendChild(v);var t=document.createElement("div");mxUtils.br(m);v=mxUtils.button(mxResources.get("reset"),function(){p.value="";p.style.backgroundColor="";q=f=null;p.focus()});v.setAttribute("title",mxResources.get("reset"));v.style.marginTop="6px";v.style.marginRight="4px";v.className="geBtn";m.appendChild(v);v=mxUtils.button(mxResources.get("find"),function(){try{p.style.backgroundColor=k()?"":"#ffcfcf"}catch(x){a.handleError(x)}}); v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";m.appendChild(v);mxEvent.addListener(p,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)l.funct();else if(q!=p.value.toLowerCase()||13==a.keyCode)try{p.style.backgroundColor=k()?"":"#ffcfcf"}catch(D){p.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(m,"keydown",function(b){70==b.keyCode&&a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&& (l.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),m,c,d,b,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit();this.window.isVisible()?(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)):n.container.focus()}));this.window.setLocation= -function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window, -"resize",x);this.destroy=function(){mxEvent.removeListener(window,"resize",x);this.window.destroy()}},FreehandWindow=function(a,c,d,b,e){var g=a.editor.graph;a=document.createElement("div");a.style.userSelect="none";a.style.overflow="hidden";a.style.height="100%";var k=mxUtils.button(mxResources.get("startDrawing"),function(){g.freehand.isDrawing()&&g.freehand.stopDrawing();g.freehand.startDrawing()});k.setAttribute("title",mxResources.get("startDrawing"));k.style.marginTop="8px";k.style.marginRight= +function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var z=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window, +"resize",z);this.destroy=function(){mxEvent.removeListener(window,"resize",z);this.window.destroy()}},FreehandWindow=function(a,c,d,b,e){var g=a.editor.graph;a=document.createElement("div");a.style.userSelect="none";a.style.overflow="hidden";a.style.height="100%";var k=mxUtils.button(mxResources.get("startDrawing"),function(){g.freehand.isDrawing()&&g.freehand.stopDrawing();g.freehand.startDrawing()});k.setAttribute("title",mxResources.get("startDrawing"));k.style.marginTop="8px";k.style.marginRight= "4px";k.style.width="160px";k.style.overflow="hidden";k.style.textOverflow="ellipsis";k.style.textAlign="center";k.className="geBtn gePrimaryBtn";a.appendChild(k);var l=k.cloneNode(!1);mxUtils.write(l,mxResources.get("stopDrawing"));l.setAttribute("title",mxResources.get("stopDrawing"));l.style.marginTop="4px";mxEvent.addListener(l,"click",function(){g.freehand.stopDrawing()});a.appendChild(l);this.window=new mxWindow(mxResources.get("freehand"),a,c,d,b,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1); this.window.setResizable(!1);this.window.setClosable(!0);g.addListener("freehandStateChanged",mxUtils.bind(this,function(){l.className="geBtn"+(g.freehand.isDrawing()?" gePrimaryBtn":"")}));this.window.addListener("show",mxUtils.bind(this,function(){this.window.fit()}));this.window.addListener("hide",mxUtils.bind(this,function(){g.freehand.isDrawing()&&g.freehand.stopDrawing()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight; a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var n=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",n);this.destroy=function(){mxEvent.removeListener(window,"resize",n);this.window.destroy()}}, @@ -8078,9 +8177,9 @@ c.style.textAlign="left";mxUtils.write(c,b.desc);m.appendChild(c)}null!=b.imageC "40px";f.style.left="0px";f.style.width="202px";f.style.bottom="60px";f.style.overflow="auto";mxClient.IS_QUIRKS&&(f.style.height="437px",f.style.marginTop="1px");m.style.position="absolute";m.style.left="202px";m.style.right="0px";m.style.top="40px";m.style.bottom="60px";m.style.overflow="auto";m.style.borderLeft="1px solid rgb(211, 211, 211)";m.style.textAlign="center";mxClient.IS_QUIRKS&&(m.style.width=parseInt(g.style.width)-202+"px",m.style.height=f.style.height,m.style.marginTop=f.style.marginTop); var p=null,u=[],v=document.createElement("div");v.style.position="relative";v.style.left="0px";v.style.right="0px";n(d);b.style.padding="30px";b.appendChild(g);b.appendChild(f);b.appendChild(m);d=document.createElement("div");d.className="geDialogFooter";d.style.position="absolute";d.style.paddingRight="16px";d.style.color="gray";d.style.left="0px";d.style.right="0px";d.style.bottom="0px";d.style.height="60px";d.style.lineHeight="52px";mxClient.IS_QUIRKS&&(d.style.width=g.style.width,d.style.paddingTop= "12px");var t=document.createElement("input");t.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)g=document.createElement("span"),g.style.paddingRight="20px",g.appendChild(t),mxUtils.write(g," "+mxResources.get("rememberThisSetting")),t.checked=!0,t.defaultChecked=!0,mxEvent.addListener(g,"click",function(a){mxEvent.getSource(a)!=t&&(t.checked=!t.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(g.style.position="relative",g.style.top="-6px"),d.appendChild(g);g=mxUtils.button(mxResources.get("cancel"), -function(){a.hideDialog()});g.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var b=[],c=0;c<u.length;c++){var d=u[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),t.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var x=document.createElement("table"),g=document.createElement("tbody");b.style.height="100%";b.style.overflow="auto";n=document.createElement("tr");x.style.width="100%";c=document.createElement("td");var e=document.createElement("td"), -k=document.createElement("td"),y=mxUtils.bind(this,function(b,c,d){var f=document.createElement("input");f.type="checkbox";x.appendChild(f);f.checked=a.sidebar.isEntryVisible(d);var m=document.createElement("span");mxUtils.write(m,c);c=document.createElement("div");c.style.display="block";c.appendChild(f);c.appendChild(m);mxEvent.addListener(m,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return f.checked?d:null}});n.appendChild(c);n.appendChild(e); -n.appendChild(k);g.appendChild(n);x.appendChild(g);for(var u=[],D=0,g=0;g<d.length;g++)for(n=0;n<d[g].entries.length;n++)D++;for(var I=[c,e,k],z=0,g=0;g<d.length;g++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];u.push(y(I[Math.floor(z/(D/3))],c.title,c.id));z++}})(d[g]);b.appendChild(x);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";t=document.createElement("input");isLocalStorage&&(t.setAttribute("type","checkbox"),t.checked=!0,t.defaultChecked= +function(){a.hideDialog()});g.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var b=[],c=0;c<u.length;c++){var d=u[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),t.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var z=document.createElement("table"),g=document.createElement("tbody");b.style.height="100%";b.style.overflow="auto";n=document.createElement("tr");z.style.width="100%";c=document.createElement("td");var e=document.createElement("td"), +k=document.createElement("td"),x=mxUtils.bind(this,function(b,c,d){var f=document.createElement("input");f.type="checkbox";z.appendChild(f);f.checked=a.sidebar.isEntryVisible(d);var m=document.createElement("span");mxUtils.write(m,c);c=document.createElement("div");c.style.display="block";c.appendChild(f);c.appendChild(m);mxEvent.addListener(m,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return f.checked?d:null}});n.appendChild(c);n.appendChild(e); +n.appendChild(k);g.appendChild(n);z.appendChild(g);for(var u=[],D=0,g=0;g<d.length;g++)for(n=0;n<d[g].entries.length;n++)D++;for(var I=[c,e,k],y=0,g=0;g<d.length;g++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];u.push(x(I[Math.floor(y/(D/3))],c.title,c.id));y++}})(d[g]);b.appendChild(z);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";t=document.createElement("input");isLocalStorage&&(t.setAttribute("type","checkbox"),t.checked=!0,t.defaultChecked= !0,d.appendChild(t),g=document.createElement("span"),mxUtils.write(g," "+mxResources.get("rememberThisSetting")),d.appendChild(g),mxEvent.addListener(g,"click",function(a){t.checked=!t.checked;mxEvent.consume(a)}));b.appendChild(d);g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<u.length;c++){var f=u[c].apply(this,arguments);null!=f&&b.push(f)}a.sidebar.showEntries(0<b.length? b.join(";"):"",t.checked);a.hideDialog()});n.className="geBtn gePrimaryBtn";d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right"}a.editor.cancelFirst?(d.appendChild(g),d.appendChild(n)):(d.appendChild(n),d.appendChild(g));b.appendChild(d);this.container=b},PluginsDialog=function(a){function c(){if(0==e.length)b.innerHTML=mxUtils.htmlEntities(mxResources.get("noPlugins"));else{b.innerHTML="";for(var f=0;f<e.length;f++){var d=document.createElement("span");d.style.whiteSpace= "nowrap";var p=document.createElement("span");p.className="geSprite geSprite-delete";p.style.position="relative";p.style.cursor="pointer";p.style.top="5px";p.style.marginRight="4px";p.style.display="inline-block";d.appendChild(p);mxUtils.write(d,e[f]);b.appendChild(d);mxUtils.br(b);mxEvent.addListener(p,"click",function(b){return function(){a.confirm(mxResources.get("delete")+' "'+e[b]+'"?',function(){e.splice(b,1);c()})}}(f))}}}var d=document.createElement("div"),b=document.createElement("div"); @@ -8091,43 +8190,43 @@ c,d){var b=document.createElement("div"),e=document.createElement("table"),g=doc f.setAttribute("type","text");f.style.width="100px";f.value="0";this.init=function(){f.focus();f.select()};q.appendChild(f);k.appendChild(n);k.appendChild(q);g.appendChild(k);k=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("top")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value="0";q.appendChild(m);k.appendChild(n);k.appendChild(q);g.appendChild(k);k=document.createElement("tr"); n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("right")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="100px";p.value="0";q.appendChild(p);k.appendChild(n);k.appendChild(q);g.appendChild(k);k=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("bottom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px"; u.value="0";q.appendChild(u);k.appendChild(n);k.appendChild(q);g.appendChild(k);k=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("circle")+":");k.appendChild(n);var v=document.createElement("input");v.setAttribute("type","checkbox");q.appendChild(v);k.appendChild(q);g.appendChild(k);e.appendChild(g);b.appendChild(e);e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";var t=new Image, -x=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),c=b.getContext("2d"),e=t.width,g=t.height,k=parseInt(f.value),l=parseInt(m.value),e=Math.max(1,e-k-parseInt(p.value)),g=Math.max(1,g-l-parseInt(u.value));b.width=e;b.height=g;v.checked&&(c.fillStyle="#000000",c.arc(e/2,g/2,Math.min(e/2,g/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(t,k,l,e,g,0,0,e,g);d(b.toDataURL())});x.className="geBtn gePrimaryBtn";x.setAttribute("disabled", -"disabled");t.onload=function(){x.removeAttribute("disabled");l.innerHTML="";mxUtils.write(l,mxResources.get("width")+": "+t.width+" "+mxResources.get("height")+": "+t.height)};t.src=c;mxEvent.addListener(b,"keypress",function(a){13==a.keyCode&&x.click()});c=document.createElement("div");c.style.marginTop="20px";c.style.textAlign="right";a.editor.cancelFirst?(c.appendChild(e),c.appendChild(x)):(c.appendChild(x),c.appendChild(e));b.appendChild(c);this.container=b},EditGeometryDialog=function(a,c){var d= +z=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),c=b.getContext("2d"),e=t.width,g=t.height,k=parseInt(f.value),l=parseInt(m.value),e=Math.max(1,e-k-parseInt(p.value)),g=Math.max(1,g-l-parseInt(u.value));b.width=e;b.height=g;v.checked&&(c.fillStyle="#000000",c.arc(e/2,g/2,Math.min(e/2,g/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(t,k,l,e,g,0,0,e,g);d(b.toDataURL())});z.className="geBtn gePrimaryBtn";z.setAttribute("disabled", +"disabled");t.onload=function(){z.removeAttribute("disabled");l.innerHTML="";mxUtils.write(l,mxResources.get("width")+": "+t.width+" "+mxResources.get("height")+": "+t.height)};t.src=c;mxEvent.addListener(b,"keypress",function(a){13==a.keyCode&&z.click()});c=document.createElement("div");c.style.marginTop="20px";c.style.textAlign="right";a.editor.cancelFirst?(c.appendChild(e),c.appendChild(z)):(c.appendChild(z),c.appendChild(e));b.appendChild(c);this.container=b},EditGeometryDialog=function(a,c){var d= a.editor.graph,b=1==c.length?d.getCellGeometry(c[0]):null,e=document.createElement("div"),g=document.createElement("table"),k=document.createElement("tbody"),l=document.createElement("tr"),n=document.createElement("td"),q=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(n,mxResources.get("relative")+":");var f=document.createElement("input");f.setAttribute("type","checkbox");null!=b&&b.relative&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);this.init=function(){f.focus()}; q.appendChild(f);l.appendChild(n);l.appendChild(q);k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("left")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=b?b.x:"";q.appendChild(m);l.appendChild(n);l.appendChild(q);k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("top")+ ":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="100px";p.value=null!=b?b.y:"";q.appendChild(p);l.appendChild(n);l.appendChild(q);k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("dx")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=b&&null!=b.offset?b.offset.x:"";q.appendChild(u);l.appendChild(n);l.appendChild(q); k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("dy")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.width="100px";v.value=null!=b&&null!=b.offset?b.offset.y:"";q.appendChild(v);l.appendChild(n);l.appendChild(q);k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("width")+":");var t= -document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=b?b.width:"";q.appendChild(t);l.appendChild(n);l.appendChild(q);k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("height")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.width="100px";x.value=null!=b?b.height:"";q.appendChild(x);l.appendChild(n);l.appendChild(q);k.appendChild(l); -l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("rotation")+":");var y=document.createElement("input");y.setAttribute("type","text");y.style.width="100px";y.value=1==c.length?mxUtils.getValue(d.getCellStyle(c[0]),mxConstants.STYLE_ROTATION,0):"";q.appendChild(y);l.appendChild(n);l.appendChild(q);k.appendChild(l);g.appendChild(k);e.appendChild(g);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className= +document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=b?b.width:"";q.appendChild(t);l.appendChild(n);l.appendChild(q);k.appendChild(l);l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("height")+":");var z=document.createElement("input");z.setAttribute("type","text");z.style.width="100px";z.value=null!=b?b.height:"";q.appendChild(z);l.appendChild(n);l.appendChild(q);k.appendChild(l); +l=document.createElement("tr");n=document.createElement("td");q=document.createElement("td");mxUtils.write(n,mxResources.get("rotation")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.width="100px";x.value=1==c.length?mxUtils.getValue(d.getCellStyle(c[0]),mxConstants.STYLE_ROTATION,0):"";q.appendChild(x);l.appendChild(n);l.appendChild(q);k.appendChild(l);g.appendChild(k);e.appendChild(g);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className= "geBtn";var D=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.getModel().beginUpdate();try{for(var b=0;b<c.length;b++){var e=d.getCellGeometry(c[b]);null!=e&&(e=e.clone(),d.isCellMovable(c[b])&&(e.relative=f.checked,0<mxUtils.trim(m.value).length&&(e.x=Number(m.value)),0<mxUtils.trim(p.value).length&&(e.y=Number(p.value)),0<mxUtils.trim(u.value).length&&(null==e.offset&&(e.offset=new mxPoint),e.offset.x=Number(u.value)),0<mxUtils.trim(v.value).length&&(null==e.offset&&(e.offset= -new mxPoint),e.offset.y=Number(v.value))),d.isCellResizable(c[b])&&(0<mxUtils.trim(t.value).length&&(e.width=Number(t.value)),0<mxUtils.trim(x.value).length&&(e.height=Number(x.value))),d.getModel().setGeometry(c[b],e));0<mxUtils.trim(y.value).length&&d.setCellStyles(mxConstants.STYLE_ROTATION,Number(y.value),[c[b]])}}finally{d.getModel().endUpdate()}});D.className="geBtn gePrimaryBtn";mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&D.click()});g=document.createElement("div");g.style.marginTop= +new mxPoint),e.offset.y=Number(v.value))),d.isCellResizable(c[b])&&(0<mxUtils.trim(t.value).length&&(e.width=Number(t.value)),0<mxUtils.trim(z.value).length&&(e.height=Number(z.value))),d.getModel().setGeometry(c[b],e));0<mxUtils.trim(x.value).length&&d.setCellStyles(mxConstants.STYLE_ROTATION,Number(x.value),[c[b]])}}finally{d.getModel().endUpdate()}});D.className="geBtn gePrimaryBtn";mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&D.click()});g=document.createElement("div");g.style.marginTop= "20px";g.style.textAlign="right";a.editor.cancelFirst?(g.appendChild(b),g.appendChild(D)):(g.appendChild(D),g.appendChild(b));e.appendChild(g);this.container=e},LibraryDialog=function(a,c,d,b,e,g){function k(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=u;)a=a.parentNode;var b=null;if(null!=a)for(var c=u.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function l(b,c,d,m,p,e,g,n,B){try{if(a.spinner.stop(),null==c||"image/"==c.substring(0,6))if(null==b&&null!= -g||null==t[b]){var A=function(){H.innerHTML="";H.style.cursor="pointer";H.style.whiteSpace="nowrap";H.style.textOverflow="ellipsis";mxUtils.write(H,null!=F.title&&0<F.title.length?F.title:mxResources.get("untitled"));H.style.color=null==F.title||0==F.title.length?"#d0d0d0":""};u.style.backgroundImage="";v.style.display="none";var y=p,C=e;if(p>a.maxImageSize||e>a.maxImageSize){var G=Math.min(1,Math.min(a.maxImageSize/Math.max(1,p)),a.maxImageSize/Math.max(1,e));p*=G;e*=G}y>C?(C=Math.round(100*C/y), -y=100):(y=Math.round(100*y/C),C=100);var q=document.createElement("div");q.setAttribute("draggable","true");q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.style.position="relative";q.style.cursor="move";mxUtils.setPrefixedStyle(q.style,"transition","transform .1s ease-in-out");if(null!=b){var E=document.createElement("img");E.setAttribute("src",I.convert(b));E.style.width=y+"px";E.style.height=C+"px";E.style.margin="10px";E.style.paddingBottom=Math.floor((100-C)/2)+"px";E.style.paddingLeft= -Math.floor((100-y)/2)+"px";q.appendChild(E)}else if(null!=g){var K=a.stringToCells(Graph.decompress(g.xml));0<K.length&&(a.sidebar.createThumb(K,100,100,q,null,!0,!1),q.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",q.firstChild.style.cursor="")}var J=document.createElement("img");J.setAttribute("src",Editor.closeImage);J.setAttribute("border","0");J.setAttribute("title",mxResources.get("delete"));J.setAttribute("align","top");J.style.paddingTop="4px";J.style.position="absolute"; +g||null==t[b]){var A=function(){H.innerHTML="";H.style.cursor="pointer";H.style.whiteSpace="nowrap";H.style.textOverflow="ellipsis";mxUtils.write(H,null!=F.title&&0<F.title.length?F.title:mxResources.get("untitled"));H.style.color=null==F.title||0==F.title.length?"#d0d0d0":""};u.style.backgroundImage="";v.style.display="none";var x=p,C=e;if(p>a.maxImageSize||e>a.maxImageSize){var G=Math.min(1,Math.min(a.maxImageSize/Math.max(1,p)),a.maxImageSize/Math.max(1,e));p*=G;e*=G}x>C?(C=Math.round(100*C/x), +x=100):(x=Math.round(100*x/C),C=100);var q=document.createElement("div");q.setAttribute("draggable","true");q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.style.position="relative";q.style.cursor="move";mxUtils.setPrefixedStyle(q.style,"transition","transform .1s ease-in-out");if(null!=b){var E=document.createElement("img");E.setAttribute("src",I.convert(b));E.style.width=x+"px";E.style.height=C+"px";E.style.margin="10px";E.style.paddingBottom=Math.floor((100-C)/2)+"px";E.style.paddingLeft= +Math.floor((100-x)/2)+"px";q.appendChild(E)}else if(null!=g){var K=a.stringToCells(Graph.decompress(g.xml));0<K.length&&(a.sidebar.createThumb(K,100,100,q,null,!0,!1),q.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",q.firstChild.style.cursor="")}var J=document.createElement("img");J.setAttribute("src",Editor.closeImage);J.setAttribute("border","0");J.setAttribute("title",mxResources.get("delete"));J.setAttribute("align","top");J.style.paddingTop="4px";J.style.position="absolute"; J.style.marginLeft="-12px";J.style.zIndex="1";J.style.cursor="pointer";mxEvent.addListener(J,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(J,"click",function(d){t[b]=null;for(var m=0;m<f.length;m++)if(null!=f[m].data&&f[m].data==b||null!=f[m].xml&&null!=c&&f[m].xml==c.xml){f.splice(m,1);break}q.parentNode.removeChild(a);0==f.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",v.style.display="");mxEvent.consume(d)});mxEvent.addListener(J,"dblclick", function(a){mxEvent.consume(a)})})(q,b,g);q.appendChild(J);q.style.marginBottom="30px";var H=document.createElement("div");H.style.position="absolute";H.style.boxSizing="border-box";H.style.bottom="-18px";H.style.left="10px";H.style.right="10px";H.style.backgroundColor="#ffffff";H.style.overflow="hidden";H.style.textAlign="center";var F=null;null!=b?(F={data:b,w:p,h:e,title:B},null!=n&&(F.aspect=n),t[b]=E,f.push(F)):null!=g&&(g.aspect="fixed",f.push(g),F=g);mxEvent.addListener(H,"keydown",function(a){13== a.keyCode&&null!=D&&(D(),D=null,mxEvent.consume(a))});A();q.appendChild(H);mxEvent.addListener(H,"mousedown",function(a){"true"!=H.getAttribute("contentEditable")&&mxEvent.consume(a)});K=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,F.title||"",mxResources.get("ok"),function(a){null!=a&&(F.title=a,A())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();mxEvent.consume(b)}else if("true"!= H.getAttribute("contentEditable")){null!=D&&(D(),D=null);if(null==F.title||0==F.title.length)H.innerHTML="";H.style.textOverflow="";H.style.whiteSpace="";H.style.cursor="text";H.style.color="";H.setAttribute("contentEditable","true");mxUtils.setPrefixedStyle(H.style,"user-select","text");H.focus();document.execCommand("selectAll",!1,null);D=function(){H.removeAttribute("contentEditable");H.style.cursor="pointer";F.title=H.innerHTML;A()};mxEvent.consume(b)}};mxEvent.addListener(H,"click",K);mxEvent.addListener(q, -"dblclick",K);u.appendChild(q);mxEvent.addListener(q,"dragstart",function(a){null==b&&null!=g&&(J.style.visibility="hidden",H.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);x=k(a);mxClient.IS_GC&&(q.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(q.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(q,30);J.style.visibility="";H.style.visibility=""},0)});mxEvent.addListener(q,"dragend",function(a){"hidden"==J.style.visibility&& -(J.style.visibility="",H.style.visibility="");x=null;mxUtils.setOpacity(q,100);mxUtils.setPrefixedStyle(q.style,"transform",null)})}else z||(z=!0,a.handleError({message:mxResources.get("fileExists")}));else{p=!1;try{if(y=mxUtils.parseXml(b),"mxlibrary"==y.documentElement.nodeName){C=JSON.parse(mxUtils.getTextContent(y.documentElement));if(null!=C&&0<C.length)for(var N=0;N<C.length;N++)null!=C[N].xml?l(null,null,0,0,0,0,C[N]):l(C[N].data,null,0,0,C[N].w,C[N].h,null,"fixed",C[N].title);p=!0}else if("mxfile"== -y.documentElement.nodeName){for(var Q=y.documentElement.getElementsByTagName("diagram"),N=0;N<Q.length;N++){var C=mxUtils.getTextContent(Q[N]),K=a.stringToCells(Graph.decompress(C)),aa=a.editor.graph.getBoundingBoxFromGeometry(K);l(null,null,0,0,0,0,{xml:C,w:aa.width,h:aa.height})}p=!0}}catch(ea){}p||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ea){}return null}function n(a){a.dataTransfer.dropEffect=null!=x?"move":"copy";a.stopPropagation();a.preventDefault()} -function q(b){b.stopPropagation();b.preventDefault();z=!1;y=k(b);if(null!=x)null!=y&&y<u.children.length?(f.splice(y>x?y-1:y,0,f.splice(x,1)[0]),u.insertBefore(u.children[x],u.children[y])):(f.push(f.splice(x,1)[0]),u.appendChild(u.children[x]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,B(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)|| +"dblclick",K);u.appendChild(q);mxEvent.addListener(q,"dragstart",function(a){null==b&&null!=g&&(J.style.visibility="hidden",H.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);z=k(a);mxClient.IS_GC&&(q.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(q.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(q,30);J.style.visibility="";H.style.visibility=""},0)});mxEvent.addListener(q,"dragend",function(a){"hidden"==J.style.visibility&& +(J.style.visibility="",H.style.visibility="");z=null;mxUtils.setOpacity(q,100);mxUtils.setPrefixedStyle(q.style,"transform",null)})}else y||(y=!0,a.handleError({message:mxResources.get("fileExists")}));else{p=!1;try{if(x=mxUtils.parseXml(b),"mxlibrary"==x.documentElement.nodeName){C=JSON.parse(mxUtils.getTextContent(x.documentElement));if(null!=C&&0<C.length)for(var N=0;N<C.length;N++)null!=C[N].xml?l(null,null,0,0,0,0,C[N]):l(C[N].data,null,0,0,C[N].w,C[N].h,null,"fixed",C[N].title);p=!0}else if("mxfile"== +x.documentElement.nodeName){for(var P=x.documentElement.getElementsByTagName("diagram"),N=0;N<P.length;N++){var C=mxUtils.getTextContent(P[N]),K=a.stringToCells(Graph.decompress(C)),aa=a.editor.graph.getBoundingBoxFromGeometry(K);l(null,null,0,0,0,0,{xml:C,w:aa.width,h:aa.height})}p=!0}}catch(ea){}p||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ea){}return null}function n(a){a.dataTransfer.dropEffect=null!=z?"move":"copy";a.stopPropagation();a.preventDefault()} +function q(b){b.stopPropagation();b.preventDefault();y=!1;x=k(b);if(null!=z)null!=x&&x<u.children.length?(f.splice(x>z?x-1:x,0,f.splice(z,1)[0]),u.insertBefore(u.children[z],u.children[x])):(f.push(f.splice(z,1)[0]),u.appendChild(u.children[z]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,B(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)|| /(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){l(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var f=[];d=document.createElement("div");d.style.height="100%";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.height="40px";d.appendChild(m);mxUtils.write(m,mxResources.get("filename")+":");null==c&&(c=a.defaultLibraryName+".xml");var p=document.createElement("input");p.setAttribute("value", c);p.style.marginRight="20px";p.style.marginLeft="10px";p.style.width="500px";null==e||e.isRenamable()||p.setAttribute("disabled","true");this.init=function(){if(null==e||e.isRenamable())p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};m.appendChild(p);var u=document.createElement("div");u.style.borderWidth="1px 0px 1px 0px";u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px"; -u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==f.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var v=document.createElement("div");v.style.position="absolute";v.style.width="640px";v.style.top="260px";v.style.textAlign="center";v.style.fontSize="22px";v.style.color="#a0c3ff";mxUtils.write(v,mxResources.get("dragImagesHere"));d.appendChild(v);var t={},x=null,y=null,D=null; -c=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=D&&(D(),D=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",c);mxEvent.addListener(u,"pointerdown",c);mxEvent.addListener(u,"touchstart",c);var I=new mxUrlConverter,z=!1;if(null!=b)for(c=0;c<b.length;c++)m=b[c],l(m.data,null,0,0,m.w,m.h,m,m.aspect,m.title);mxEvent.addListener(u,"dragleave",function(a){v.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==v){a.stopPropagation();a.preventDefault(); +u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==f.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var v=document.createElement("div");v.style.position="absolute";v.style.width="640px";v.style.top="260px";v.style.textAlign="center";v.style.fontSize="22px";v.style.color="#a0c3ff";mxUtils.write(v,mxResources.get("dragImagesHere"));d.appendChild(v);var t={},z=null,x=null,D=null; +c=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=D&&(D(),D=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",c);mxEvent.addListener(u,"pointerdown",c);mxEvent.addListener(u,"touchstart",c);var I=new mxUrlConverter,y=!1;if(null!=b)for(c=0;c<b.length;c++)m=b[c],l(m.data,null,0,0,m.w,m.h,m,m.aspect,m.title);mxEvent.addListener(u,"dragleave",function(a){v.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==v){a.stopPropagation();a.preventDefault(); break}b=b.parentNode}});var B=function(b){return function(c,d,f,m,p,e,g,k,t){null!=t&&(/(\.vsdx)($|\?)/i.test(t.name)||/(\.vssx)($|\?)/i.test(t.name))?a.importVisio(t,mxUtils.bind(this,function(a){l(a,d,f,m,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," "))})):null!=t&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,t.name)?a.parseFile(t,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=c.status&&(l(c.responseText, d,f,m,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(l(c,d,f,m,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",n);mxEvent.addListener(u,"drop",q);mxEvent.addListener(v,"dragover",n);mxEvent.addListener(v,"drop",q);d.appendChild(u);b=document.createElement("div");b.style.textAlign="right";b.style.marginTop="20px"; c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});c.setAttribute("id","btnCancel");c.className="geBtn";a.editor.cancelFirst&&b.appendChild(c);m=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(f),c=p.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document,"_blank")});m.setAttribute("id", -"btnDownload");m.className="geBtn";b.appendChild(m);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var C=document.createElement("input");C.setAttribute("multiple","multiple");C.setAttribute("type","file");mxEvent.addListener(C,"change",function(b){z=!1;a.importFiles(C.files,0,0,a.maxImageSize,function(a,c,d,f,m,p,e,g,k){null!=C.files&&(B(b)(a,c,d,f,m,p,e,g,k),C.type="",C.type="file",C.value="")});u.scrollTop=u.scrollHeight});C.style.display="none";document.body.appendChild(C);a.libDlgFileInputElt= -C}m=mxUtils.button(mxResources.get("import"),function(){null!=D&&(D(),D=null);a.libDlgFileInputElt.click()});m.setAttribute("id","btnAddImage");m.className="geBtn";b.appendChild(m)}m=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=D&&(D(),D=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){z=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}l(a,null,0,0,b,c);u.scrollTop=u.scrollHeight}})}); +"btnDownload");m.className="geBtn";b.appendChild(m);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var C=document.createElement("input");C.setAttribute("multiple","multiple");C.setAttribute("type","file");mxEvent.addListener(C,"change",function(b){y=!1;a.importFiles(C.files,0,0,a.maxImageSize,function(a,c,d,f,m,p,e,g,k){null!=C.files&&(B(b)(a,c,d,f,m,p,e,g,k),C.type="",C.type="file",C.value="")});u.scrollTop=u.scrollHeight});C.style.display="none";document.body.appendChild(C);a.libDlgFileInputElt= +C}m=mxUtils.button(mxResources.get("import"),function(){null!=D&&(D(),D=null);a.libDlgFileInputElt.click()});m.setAttribute("id","btnAddImage");m.className="geBtn";b.appendChild(m)}m=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=D&&(D(),D=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){y=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}l(a,null,0,0,b,c);u.scrollTop=u.scrollHeight}})}); m.setAttribute("id","btnAddImageUrl");m.className="geBtn";b.appendChild(m);this.saveBtnClickHandler=function(b,c,d,f){a.saveLibrary(b,c,d,f)};m=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=D&&(D(),D=null);this.saveBtnClickHandler(p.value,f,e,g)}));m.setAttribute("id","btnSave");m.className="geBtn gePrimaryBtn";b.appendChild(m);a.editor.cancelFirst||b.appendChild(c);d.appendChild(b);this.container=d},EditShapeDialog=function(a,c,d,b,e){b=null!=b?b:300;e=null!=e?e:120;var g, k,l=document.createElement("table"),n=document.createElement("tbody");l.style.cellPadding="4px";g=document.createElement("tr");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";mxUtils.write(k,d);g.appendChild(k);n.appendChild(g);g=document.createElement("tr");k=document.createElement("td");var q=document.createElement("textarea");q.style.outline="none";q.style.resize="none";q.style.width=b-200+"px";q.style.height=e+"px";this.textarea=q;this.init=function(){q.focus(); q.scrollTop=0};k.appendChild(q);g.appendChild(k);k=document.createElement("td");d=document.createElement("div");d.style.position="relative";d.style.border="1px solid gray";d.style.top="6px";d.style.width="200px";d.style.height=e+4+"px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);k.appendChild(d);var f=new Graph(d);f.setEnabled(!1);var m=a.editor.graph.cloneCell(c);f.addCells([m]);d=f.view.getState(m);var p="";null!=d.shape&&null!=d.shape.stencil&&(p=mxUtils.getPrettyXml(d.shape.stencil.desc)); mxUtils.write(q,p||"");d=f.getGraphBounds();e=Math.min(160/d.width,(e-40)/d.height);f.view.scaleAndTranslate(e,20/e-d.x,20/e-d.y);g.appendChild(k);n.appendChild(g);g=document.createElement("tr");k=document.createElement("td");k.setAttribute("colspan","2");k.style.paddingTop="2px";k.style.whiteSpace="nowrap";k.setAttribute("align","right");a.isOffline()||(e=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),e.className="geBtn", k.appendChild(e));e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&k.appendChild(e);var u=function(b,c,d){var f=q.value,m=mxUtils.parseXml(f),f=mxUtils.getPrettyXml(m.documentElement),m=m.documentElement.getElementsByTagName("parsererror");if(null!=m&&0<m.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(d&&a.hideDialog(),m=!b.model.contains(c),!d||m||f!=p){f=Graph.compress(f); -b.getModel().beginUpdate();try{if(m){var e=a.editor.graph.getFreeInsertPoint();c.geometry.x=e.x;c.geometry.y=e.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+f+")",[c])}catch(z){throw z;}finally{b.getModel().endUpdate()}m&&(b.setSelectionCell(c),b.scrollCellToVisible(c))}};d=mxUtils.button(mxResources.get("preview"),function(){u(f,m,!1)});d.className="geBtn";k.appendChild(d);d=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,c,!0)});d.className="geBtn gePrimaryBtn"; +b.getModel().beginUpdate();try{if(m){var e=a.editor.graph.getFreeInsertPoint();c.geometry.x=e.x;c.geometry.y=e.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+f+")",[c])}catch(y){throw y;}finally{b.getModel().endUpdate()}m&&(b.setSelectionCell(c),b.scrollCellToVisible(c))}};d=mxUtils.button(mxResources.get("preview"),function(){u(f,m,!1)});d.className="geBtn";k.appendChild(d);d=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,c,!0)});d.className="geBtn gePrimaryBtn"; k.appendChild(d);a.editor.cancelFirst||k.appendChild(e);g.appendChild(k);n.appendChild(g);l.appendChild(n);this.container=l},CustomDialog=function(a,c,d,b,e,g,k,l){var n=document.createElement("div");n.appendChild(c);c=document.createElement("div");c.style.marginTop="16px";c.style.textAlign="center";null!=k&&c.appendChild(k);a.isOffline()||null==g||(k=mxUtils.button(mxResources.get("help"),function(){a.openLink(g)}),k.className="geBtn",c.appendChild(k));k=mxUtils.button(mxResources.get("cancel"), function(){a.hideDialog();null!=b&&b()});k.className="geBtn";l&&(k.style.display="none");a.editor.cancelFirst&&c.appendChild(k);e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=d&&d()});c.appendChild(e);e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(k);n.appendChild(c);this.cancelBtn=k;this.okButton=e;this.container=n},TemplatesDialog=function(){var a='<div class="geTempDlgHeader"><img src="/images/draw.io-logo.svg" class="geTempDlgHeaderLogo"><input type="search" class="geTempDlgSearchBox" placeholder="'+ mxResources.get("search",null,"Search")+'"></div><div class="geTemplatesList"><div class="geTempDlgNewDiagramlbl">'+mxResources.get("newDiagram",null,"New Diagram")+'</div><div class="geTempDlgHLine"></div><div class="geTemplatesLbl">'+mxResources.get("templates",null,"Templates")+'</div></div><div class="geTempDlgContent"><div class="geTempDlgNewDiagramCat"><div class="geTempDlgNewDiagramCatLbl">'+mxResources.get("newDiagram",null,"New Diagram")+'</div><div class="geTempDlgNewDiagramCatList"></div><div class="geTempDlgNewDiagramCatFooter"><div class="geTempDlgShowAllBtn">'+ @@ -8139,23 +8238,23 @@ TemplatesDialog.prototype.init=function(a,c,d,b,e,g,k,l,n,q){function f(){null!= m+".svg";return!0}function p(a){function b(a){X.removeChild(d);B.removeChild(c);X.scrollTop=m}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var c=document.createElement("div");c.className="geTempDlgDialogMask";B.appendChild(c);var d=document.createElement("div");d.className="geTempDlgDiagramPreviewBox";var f=document.createElement("img");f.src=a;d.appendChild(f);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn"; a.setAttribute("title",mxResources.get("close"));d.appendChild(a);var m=X.scrollTop;mxEvent.addListener(a,"click",b);mxEvent.addListener(c,"click",b);X.appendChild(d);X.scrollTop=0;d.style.lineHeight=d.clientHeight+"px"}function u(a,b,c){if(null!=E){for(var d=E.className.split(" "),f=0;f<d.length;f++)if(-1<d[f].indexOf("Active")){d.splice(f,1);break}E.className=d.join(" ")}null!=a?(E=a,E.className+=" "+b,K=c,U.className="geTempDlgCreateBtn"):(K=E=null,U.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")} function v(b){if(null!=K){var d=K;K=null;U.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled geTempDlgCreateBtnBusy";d.isExternal?(1==b?q(d.url,d,"nameInput.value"):n(d.url,d,"nameInput.value"),a.hideDialog(!0)):mxUtils.get(TEMPLATE_PATH+"/"+d.url,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(c(b.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function t(a){a=a?"":"none";for(var b=B.querySelectorAll(".geTempDlgLinkToDiagram"),c=0;c<b.length;c++)b[c].style.display= -a}function x(a,b,c){function d(){U.innerHTML=b?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));t(!b)}T.innerHTML="";u();N=a;var f=null;if(c){f=document.createElement("table");f.className="geTempDlgDiagramsListGrid";var m=document.createElement("tr"),e=document.createElement("th");e.style.width="50%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));m.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML= -mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));m.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));m.appendChild(e);f.appendChild(m);T.appendChild(f)}for(m=0;m<a.length;m++){a[m].isExternal=!b;var g=a[m].url,e=mxUtils.htmlEntities(a[m].title),k=a[m].tooltip||a[m].title,z=a[m].imgUrl,A=mxUtils.htmlEntities(a[m].changedBy||""),l=mxUtils.htmlEntities(a[m].lastModifiedOn|| -"");z||(z=TEMPLATE_PATH+"/"+g.substring(0,g.length-4)+".png");g=c?50:15;null!=e&&e.length>g&&(e=e.substring(0,g)+"…");if(c){var n=document.createElement("tr"),z=document.createElement("td"),B=document.createElement("img");B.src="/images/icon-search.svg";B.className="geTempDlgDiagramListPreviewBtn";B.setAttribute("title",mxResources.get("preview"));z.appendChild(B);k=document.createElement("span");k.className="geTempDlgDiagramTitle";k.innerHTML=e;z.appendChild(k);n.appendChild(z);z=document.createElement("td"); -z.innerHTML=A;n.appendChild(z);z=document.createElement("td");z.innerHTML=l;n.appendChild(z);f.appendChild(n);null==E&&(d(),u(n,"geTempDlgDiagramsListGridActive",a[m]));(function(a,b){mxEvent.addListener(n,"click",function(){E!=b&&(d(),u(b,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(n,"dblclick",v);mxEvent.addListener(B,"click",function(){p(a)})})(a[m],n)}else{var x=document.createElement("div");x.className="geTempDlgDiagramTile";x.setAttribute("title",k);null==E&&(d(),u(x,"geTempDlgDiagramTileActive", -a[m]));A=document.createElement("div");A.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var y=document.createElement("img");y.style.display="none";(function(a,b){y.onload=function(){b.className="geTempDlgDiagramTileImg";a.style.display=""};y.onerror=function(){b.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(y,A);y.src=z;A.appendChild(y);x.appendChild(A);A=document.createElement("div");A.className="geTempDlgDiagramTileLbl";A.innerHTML=null!=e?e:"";x.appendChild(A); -B=document.createElement("img");B.src="/images/icon-search.svg";B.className="geTempDlgDiagramPreviewBtn";B.setAttribute("title",mxResources.get("preview"));x.appendChild(B);(function(a,b){mxEvent.addListener(x,"click",function(){E!=b&&(d(),u(b,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(x,"dblclick",v);mxEvent.addListener(B,"click",function(){p(a)})})(a[m],x);T.appendChild(x)}}}function y(a,b){ba.innerHTML="";u();for(var c=!b&&5<a.length?5:a.length,d=0;d<c;d++){var f=a[d];f.isCategory= +a}function z(a,b,c){function d(){U.innerHTML=b?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));t(!b)}T.innerHTML="";u();N=a;var f=null;if(c){f=document.createElement("table");f.className="geTempDlgDiagramsListGrid";var m=document.createElement("tr"),e=document.createElement("th");e.style.width="50%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));m.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML= +mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));m.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));m.appendChild(e);f.appendChild(m);T.appendChild(f)}for(m=0;m<a.length;m++){a[m].isExternal=!b;var g=a[m].url,e=mxUtils.htmlEntities(a[m].title),k=a[m].tooltip||a[m].title,y=a[m].imgUrl,A=mxUtils.htmlEntities(a[m].changedBy||""),l=mxUtils.htmlEntities(a[m].lastModifiedOn|| +"");y||(y=TEMPLATE_PATH+"/"+g.substring(0,g.length-4)+".png");g=c?50:15;null!=e&&e.length>g&&(e=e.substring(0,g)+"…");if(c){var n=document.createElement("tr"),y=document.createElement("td"),B=document.createElement("img");B.src="/images/icon-search.svg";B.className="geTempDlgDiagramListPreviewBtn";B.setAttribute("title",mxResources.get("preview"));y.appendChild(B);k=document.createElement("span");k.className="geTempDlgDiagramTitle";k.innerHTML=e;y.appendChild(k);n.appendChild(y);y=document.createElement("td"); +y.innerHTML=A;n.appendChild(y);y=document.createElement("td");y.innerHTML=l;n.appendChild(y);f.appendChild(n);null==E&&(d(),u(n,"geTempDlgDiagramsListGridActive",a[m]));(function(a,b){mxEvent.addListener(n,"click",function(){E!=b&&(d(),u(b,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(n,"dblclick",v);mxEvent.addListener(B,"click",function(){p(a)})})(a[m],n)}else{var x=document.createElement("div");x.className="geTempDlgDiagramTile";x.setAttribute("title",k);null==E&&(d(),u(x,"geTempDlgDiagramTileActive", +a[m]));A=document.createElement("div");A.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var z=document.createElement("img");z.style.display="none";(function(a,b){z.onload=function(){b.className="geTempDlgDiagramTileImg";a.style.display=""};z.onerror=function(){b.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(z,A);z.src=y;A.appendChild(z);x.appendChild(A);A=document.createElement("div");A.className="geTempDlgDiagramTileLbl";A.innerHTML=null!=e?e:"";x.appendChild(A); +B=document.createElement("img");B.src="/images/icon-search.svg";B.className="geTempDlgDiagramPreviewBtn";B.setAttribute("title",mxResources.get("preview"));x.appendChild(B);(function(a,b){mxEvent.addListener(x,"click",function(){E!=b&&(d(),u(b,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(x,"dblclick",v);mxEvent.addListener(B,"click",function(){p(a)})})(a[m],x);T.appendChild(x)}}}function x(a,b){ba.innerHTML="";u();for(var c=!b&&5<a.length?5:a.length,d=0;d<c;d++){var f=a[d];f.isCategory= !0;var m=document.createElement("div"),p=mxResources.get(f.title);null==p&&(p=f.title.substring(0,1).toUpperCase()+f.title.substring(1));m.className="geTempDlgNewDiagramCatItem";m.setAttribute("title",p);p=mxUtils.htmlEntities(p);15<p.length&&(p=p.substring(0,15)+"…");null==E&&(U.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(m,"geTempDlgNewDiagramCatItemActive",f));var e=document.createElement("div");e.className="geTempDlgNewDiagramCatItemImg";var g=document.createElement("img"); g.src=NEW_DIAGRAM_CATS_PATH+"/"+f.img;e.appendChild(g);m.appendChild(e);e=document.createElement("div");e.className="geTempDlgNewDiagramCatItemLbl";e.innerHTML=p;m.appendChild(e);ba.appendChild(m);(function(a,b){mxEvent.addListener(m,"click",function(){E!=b&&(U.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(b,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(m,"dblclick",v)})(f,m)}Y.style.display=5>a.length?"none":""}function D(a){var b=B.querySelector(".geTemplatesList"), c;for(c in a){var d=document.createElement("div"),f=mxResources.get(c),m=a[c];null==f&&(f=c.substring(0,1).toUpperCase()+c.substring(1));d.className="geTemplateCatLink";d.setAttribute("title",f+" ("+m.length+")");f=mxUtils.htmlEntities(f);15<f.length&&(f=f.substring(0,15)+"…");d.innerHTML=f+" ("+m.length+")";b.appendChild(d);(function(b,c,f){mxEvent.addListener(d,"click",function(){G!=f&&(null!=G?(G.style.fontWeight="normal",G.style.textDecoration="none"):(fa.style.display="none",ga.style.minHeight= -"100%"),G=f,G.style.fontWeight="bold",G.style.textDecoration="underline",X.scrollTop=0,C&&(A=!0),L.innerHTML=c,V.style.display="none",x(a[b],!0))})})(c,f,d)}}function I(a){k&&(X.scrollTop=0,T.innerHTML="",Z.spin(T),A=!1,C=!0,L.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),Q=null,k(O,a?null:g))}function z(a){f();X.scrollTop=0;T.innerHTML="";Z.spin(T);A=!1;C=!0;da=null;L.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+' "'+ -mxUtils.htmlEntities(a)+'"';l(a,O,F?null:g);Q=a}b=null!=b?b:TEMPLATE_PATH+"/index.xml";e=null!=e?e:NEW_DIAGRAM_CATS_PATH+"/index.xml";var B=this.container,C=!1,A=!1,G=null,E=null,K=null,H=!1,F=!0,J=!1,N=[],Q,Y=B.querySelector(".geTempDlgShowAllBtn"),T=B.querySelector(".geTempDlgDiagramsTiles"),L=B.querySelector(".geTempDlgDiagramsListTitle"),V=B.querySelector(".geTempDlgDiagramsListBtns"),X=B.querySelector(".geTempDlgContent"),ga=B.querySelector(".geTempDlgDiagramsList"),fa=B.querySelector(".geTempDlgNewDiagramCat"), +"100%"),G=f,G.style.fontWeight="bold",G.style.textDecoration="underline",X.scrollTop=0,C&&(A=!0),L.innerHTML=c,V.style.display="none",z(a[b],!0))})})(c,f,d)}}function I(a){k&&(X.scrollTop=0,T.innerHTML="",Z.spin(T),A=!1,C=!0,L.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),P=null,k(O,a?null:g))}function y(a){f();X.scrollTop=0;T.innerHTML="";Z.spin(T);A=!1;C=!0;ca=null;L.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+' "'+ +mxUtils.htmlEntities(a)+'"';l(a,O,F?null:g);P=a}b=null!=b?b:TEMPLATE_PATH+"/index.xml";e=null!=e?e:NEW_DIAGRAM_CATS_PATH+"/index.xml";var B=this.container,C=!1,A=!1,G=null,E=null,K=null,H=!1,F=!0,J=!1,N=[],P,Y=B.querySelector(".geTempDlgShowAllBtn"),T=B.querySelector(".geTempDlgDiagramsTiles"),L=B.querySelector(".geTempDlgDiagramsListTitle"),V=B.querySelector(".geTempDlgDiagramsListBtns"),X=B.querySelector(".geTempDlgContent"),ga=B.querySelector(".geTempDlgDiagramsList"),fa=B.querySelector(".geTempDlgNewDiagramCat"), ba=B.querySelector(".geTempDlgNewDiagramCatList"),U=B.querySelector(".geTempDlgCreateBtn"),Z=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(B.querySelector(".geTempDlgNewDiagramlbl"),"click",function(){f();fa.style.display="";ga.style.minHeight="calc(100% - 280px)";I(F)});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){m(this,"geTempDlgAllDiagramsBtnImg", -"all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(F=!0,null==Q?I(F):z(Q))});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){m(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(F=!1,null==Q?I(F):z(Q))});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){m(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg", -"tiles",!1)&&(J=!0,x(N,!1,J))});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){m(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(J=!1,x(N,!1,J))});mxEvent.addListener(Y,"click",function(){H?(fa.style.height="280px",ba.style.height="190px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),y(ea)):(fa.style.height="440px",ba.style.height="355px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess", -null,"- Show less")),y(ea,!0));H=!H});var P=!1,ca=!1,aa={},ea=[],R=1;mxUtils.get(b,function(a){if(!P){P=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=aa[b];null==c&&(R++,c=[],aa[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a= -a.nextSibling}D(aa)}});mxUtils.get(e,function(a){if(!ca){ca=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&ea.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;y(ea)}});var O=function(a,b){V.style.display="";Z.stop();C=!1;A?A=!1:b?T.innerHTML=b:0==a.length?T.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")): -x(a,!1,J)};I(F);var da=null;l&&mxEvent.addListener(B.querySelector(".geTempDlgSearchBox"),"keyup",function(a){var b=this;null!=da&&clearTimeout(da);13==a.keyCode?z(b.value):da=setTimeout(function(){z(b.value)},500)});mxEvent.addListener(U,"click",v);mxEvent.addListener(B.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){v(!0)});mxEvent.addListener(B.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=d&&d();a.hideDialog(!0)})}; +"all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(F=!0,null==P?I(F):y(P))});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){m(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(F=!1,null==P?I(F):y(P))});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){m(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg", +"tiles",!1)&&(J=!0,z(N,!1,J))});mxEvent.addListener(B.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){m(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(J=!1,z(N,!1,J))});mxEvent.addListener(Y,"click",function(){H?(fa.style.height="280px",ba.style.height="190px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),x(ea)):(fa.style.height="440px",ba.style.height="355px",Y.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess", +null,"- Show less")),x(ea,!0));H=!H});var R=!1,da=!1,aa={},ea=[],Q=1;mxUtils.get(b,function(a){if(!R){R=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=aa[b];null==c&&(Q++,c=[],aa[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a= +a.nextSibling}D(aa)}});mxUtils.get(e,function(a){if(!da){da=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&ea.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;x(ea)}});var O=function(a,b){V.style.display="";Z.stop();C=!1;A?A=!1:b?T.innerHTML=b:0==a.length?T.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")): +z(a,!1,J)};I(F);var ca=null;l&&mxEvent.addListener(B.querySelector(".geTempDlgSearchBox"),"keyup",function(a){var b=this;null!=ca&&clearTimeout(ca);13==a.keyCode?y(b.value):ca=setTimeout(function(){y(b.value)},500)});mxEvent.addListener(U,"click",v);mxEvent.addListener(B.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){v(!0)});mxEvent.addListener(B.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=d&&d();a.hideDialog(!0)})}; var BtnDialog=function(a,c,d,b){var e=document.createElement("div");e.style.textAlign="center";var g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g,mxResources.get("done"));var k="Unknown",l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("align","absmiddle");l.style.marginRight="10px";c==a.drive?(k=mxResources.get("googleDrive"),l.src=IMAGE_PATH+"/google-drive-logo-white.svg"):c==a.dropbox? (k=mxResources.get("dropbox"),l.src=IMAGE_PATH+"/dropbox-logo-white.svg"):c==a.oneDrive?(k=mxResources.get("oneDrive"),l.src=IMAGE_PATH+"/onedrive-logo-white.svg"):c==a.gitHub?(k=mxResources.get("github"),l.src=IMAGE_PATH+"/github-logo-white.svg"):c==a.gitLab?(k=mxResources.get("gitlab"),l.src=IMAGE_PATH+"/gitlab-logo.svg"):c==a.trello&&(k=mxResources.get("trello"),l.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizedIn",[k],"You are now authorized in {1}")); d=mxUtils.button(d,b);d.insertBefore(l,d.firstChild);d.style.marginTop="6px";d.className="geBigButton";d.style.fontSize="18px";d.style.padding="14px";e.appendChild(g);e.appendChild(a);e.appendChild(d);this.container=e},FontDialog=function(a,c,d,b,e){function g(a){this.style.border="";13==a.keyCode&&D.click()}var k,l,n,q=document.createElement("table"),f=document.createElement("tbody");q.style.marginTop="8px";k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.whiteSpace= @@ -8164,12 +8263,12 @@ k=document.createElement("tr");l=document.createElement("td");l.style.whiteSpace l=document.createElement("td");l.colSpan=2;l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.fontWeight="bold";var u=document.createElement("input");u.style.cssText="margin-right:8px;margin-bottom:8px;";u.setAttribute("value","googlefonts");u.setAttribute("type","radio");u.setAttribute("name","current-fontdialog");u.setAttribute("id","fontdialog-googlefonts");l.appendChild(u);n=document.createElement("label");n.setAttribute("for","fontdialog-googlefonts");mxUtils.write(n,mxResources.get("googleFonts", null,"Google Fonts"));l.appendChild(n);k.appendChild(l);f.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.width="120px";l.style.paddingLeft="15px";mxUtils.write(l,mxResources.get("fontname",null,"Font Name")+":");k.appendChild(l);var v=document.createElement("input");"g"==b&&v.setAttribute("value",c);v.style.marginLeft="4px";v.style.width="250px";v.className="dlg_fontName_g";l=document.createElement("td");l.appendChild(v); k.appendChild(l);f.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.fontWeight="bold";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","webfonts");t.setAttribute("type","radio");t.setAttribute("name","current-fontdialog");t.setAttribute("id","fontdialog-webfonts");l.appendChild(t);n=document.createElement("label");n.setAttribute("for", -"fontdialog-webfonts");mxUtils.write(n,mxResources.get("webfonts",null,"Web Fonts"));l.appendChild(n);k.appendChild(l);f.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.width="120px";l.style.paddingLeft="15px";mxUtils.write(l,mxResources.get("fontname",null,"Font Name")+":");k.appendChild(l);var x=document.createElement("input");"w"==b&&x.setAttribute("value",c);x.style.marginLeft="4px";x.style.width="250px"; -x.className="dlg_fontName_w";l=document.createElement("td");l.appendChild(x);k.appendChild(l);f.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.width="120px";l.style.paddingLeft="15px";mxUtils.write(l,mxResources.get("fontUrl",null,"Font URL")+":");k.appendChild(l);var y=document.createElement("input");y.setAttribute("value",d||"");y.style.marginLeft="4px";y.style.width="250px";y.className="dlg_fontUrl";l=document.createElement("td"); -l.appendChild(y);k.appendChild(l);f.appendChild(k);this.init=function(){var a=p;"g"==b?a=v:"w"==b&&(a=x);a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?a.select():document.execCommand("selectAll",!1,null)};k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="20px";l.style.whiteSpace="nowrap";l.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&& -l.appendChild(c);var D=mxUtils.button(mxResources.get("apply"),function(){var b,c,d;m.checked?(b=p.value,d="s"):u.checked?(b=v.value,c=Editor.GOOGLE_FONTS+encodeURIComponent(b).replace(/%20/g,"+"),d="g"):t.checked&&(b=x.value,c=y.value,d="w");var f;f=c;var g=d,k=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;null==b||0==b.length?(q.querySelector(".dlg_fontName_"+g).style.border="1px solid red",f=!1):"w"!=g||k.test(f)?f=!0:(q.querySelector(".dlg_fontUrl").style.border= -"1px solid red",f=!1);f&&(e(b,c,d),a.hideDialog())});D.className="geBtn gePrimaryBtn";mxEvent.addListener(p,"keypress",g);mxEvent.addListener(v,"keypress",g);mxEvent.addListener(x,"keypress",g);mxEvent.addListener(y,"keypress",g);mxEvent.addListener(p,"focus",function(){m.setAttribute("checked","checked");m.checked=!0});mxEvent.addListener(v,"focus",function(){u.setAttribute("checked","checked");u.checked=!0});mxEvent.addListener(x,"focus",function(){t.setAttribute("checked","checked");t.checked= -!0});mxEvent.addListener(y,"focus",function(){t.setAttribute("checked","checked");t.checked=!0});l.appendChild(D);a.editor.cancelFirst||l.appendChild(c);k.appendChild(l);f.appendChild(k);q.appendChild(f);this.container=q}; +"fontdialog-webfonts");mxUtils.write(n,mxResources.get("webfonts",null,"Web Fonts"));l.appendChild(n);k.appendChild(l);f.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.width="120px";l.style.paddingLeft="15px";mxUtils.write(l,mxResources.get("fontname",null,"Font Name")+":");k.appendChild(l);var z=document.createElement("input");"w"==b&&z.setAttribute("value",c);z.style.marginLeft="4px";z.style.width="250px"; +z.className="dlg_fontName_w";l=document.createElement("td");l.appendChild(z);k.appendChild(l);f.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.style.whiteSpace="nowrap";l.style.fontSize="10pt";l.style.width="120px";l.style.paddingLeft="15px";mxUtils.write(l,mxResources.get("fontUrl",null,"Font URL")+":");k.appendChild(l);var x=document.createElement("input");x.setAttribute("value",d||"");x.style.marginLeft="4px";x.style.width="250px";x.className="dlg_fontUrl";l=document.createElement("td"); +l.appendChild(x);k.appendChild(l);f.appendChild(k);this.init=function(){var a=p;"g"==b?a=v:"w"==b&&(a=z);a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?a.select():document.execCommand("selectAll",!1,null)};k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="20px";l.style.whiteSpace="nowrap";l.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&& +l.appendChild(c);var D=mxUtils.button(mxResources.get("apply"),function(){var b,c,d;m.checked?(b=p.value,d="s"):u.checked?(b=v.value,c=Editor.GOOGLE_FONTS+encodeURIComponent(b).replace(/%20/g,"+"),d="g"):t.checked&&(b=z.value,c=x.value,d="w");var f;f=c;var g=d,k=/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;null==b||0==b.length?(q.querySelector(".dlg_fontName_"+g).style.border="1px solid red",f=!1):"w"!=g||k.test(f)?f=!0:(q.querySelector(".dlg_fontUrl").style.border= +"1px solid red",f=!1);f&&(e(b,c,d),a.hideDialog())});D.className="geBtn gePrimaryBtn";mxEvent.addListener(p,"keypress",g);mxEvent.addListener(v,"keypress",g);mxEvent.addListener(z,"keypress",g);mxEvent.addListener(x,"keypress",g);mxEvent.addListener(p,"focus",function(){m.setAttribute("checked","checked");m.checked=!0});mxEvent.addListener(v,"focus",function(){u.setAttribute("checked","checked");u.checked=!0});mxEvent.addListener(z,"focus",function(){t.setAttribute("checked","checked");t.checked= +!0});mxEvent.addListener(x,"focus",function(){t.setAttribute("checked","checked");t.checked=!0});l.appendChild(D);a.editor.cancelFirst||l.appendChild(c);k.appendChild(l);f.appendChild(k);q.appendChild(f);this.container=q}; function AspectDialog(a,c,d,b,e){this.aspect={pageId:c||a.pages[0].getId(),layerIds:d||[]};c=document.createElement("div");var g=document.createElement("h5");g.style.margin="0 0 10px";mxUtils.write(g,mxResources.get("pages"));c.appendChild(g);d=document.createElement("div");d.className="geAspectDlgList";c.appendChild(d);g=document.createElement("h5");g.style.margin="0 0 10px";mxUtils.write(g,mxResources.get("layers"));c.appendChild(g);g=document.createElement("div");g.className="geAspectDlgList"; c.appendChild(g);this.pagesContainer=d;this.layersContainer=g;this.ui=a;d=document.createElement("div");d.style.marginTop="16px";d.style.textAlign="center";g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=e&&e()});g.className="geBtn";a.editor.cancelFirst&&d.appendChild(g);var k=mxUtils.button(mxResources.get("ok"),mxUtils.bind(this,function(){a.hideDialog();b({pageId:this.selectedPage,layerIds:Object.keys(this.selectedLayers)})}));d.appendChild(k);k.className="geBtn gePrimaryBtn"; a.editor.cancelFirst||d.appendChild(g);k.setAttribute("disabled","disabled");this.okBtn=k;c.appendChild(d);this.container=c}AspectDialog.prototype.init=function(){for(var a=0;a<this.ui.pages.length;a++){var c=this.ui.updatePageRoot(this.ui.pages[a]);this.createPageItem(c.getId(),c.getName(),c.node,c.root)}}; @@ -8232,14 +8331,14 @@ c.onerror=function(){b(EditorUi.prototype.svgBrokenImage.src)};c.src=a}};Editor. g)}else null!=e&&c.setAttribute(p,e)})(e[g])});c("image","xlink:href");c("img","src");0==f&&b(a)};Editor.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,f,m,p;c<d;){f=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);b+="==";break}m=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>> 2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(m&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((m&15)<<2);b+="=";break}p=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(m&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((m&15)<<2|(p&192)>>6); b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(p&63)}return b};Editor.prototype.loadUrl=function(a,b,c,d,f,m){try{var p=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);f=null!=f?f:!0;var e=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(p){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a= -mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),f=0;f<a.length;f++)d[f]=String.fromCharCode(a[f]);d=d.join("")}m=null!=m?m:"data:image/png;base64,";d=m+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},p,this.timeout,function(){f&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:e})})});e()}catch(Q){null!=c&&c(Q)}};Editor.prototype.loadFonts=function(a){if(null!=this.fontCss&&null==this.resolvedFontCss){var b= +mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),f=0;f<a.length;f++)d[f]=String.fromCharCode(a[f]);d=d.join("")}m=null!=m?m:"data:image/png;base64,";d=m+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},p,this.timeout,function(){f&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:e})})});e()}catch(P){null!=c&&c(P)}};Editor.prototype.loadFonts=function(a){if(null!=this.fontCss&&null==this.resolvedFontCss){var b= function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.fontCss.split("url("),d=0,f={},m=mxUtils.bind(this,function(){if(0==d){for(var m=[c[0]],p=1;p<c.length;p++){var e=c[p].indexOf(")");m.push('url("');m.push(f[b(c[p].substring(0,e))]);m.push('"'+c[p].substring(e))}this.resolvedFontCss=m.join("");a()}});if(0<c.length)for(var p=1;p<c.length;p++){var e=c[p].indexOf(")"),g=null,k=c[p].indexOf("format(",e);0<k&&(g=b(c[p].substring(k+7,c[p].indexOf(")", k))));mxUtils.bind(this,function(a){if(null==f[a]){f[a]=a;d++;var b="application/x-font-ttf";if("svg"==g||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==g||"embedded-opentype"==g||/(\.otf)($|\?)/i.test(a))b="application/x-font-opentype";else if("woff"==g||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==g||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==g||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==g||/(\.sfnt)($|\?)/i.test(a))b= "application/font-sfnt";var c=a;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){f[a]=b;d--;m()}),mxUtils.bind(this,function(a){d--;m()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[p].substring(0,e)),g)}}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var b=document.getElementsByTagName("style"),c=0;c<b.length;c++)0<mxUtils.getTextContent(b[c]).indexOf("MathJax")&& a[0].appendChild(b[c].cloneNode(!0))};Editor.prototype.addFontCss=function(a){var b=a.getElementsByTagName("defs");null!=this.fontCss&&null!=b&&0<b.length&&(a=a.ownerDocument,a=null!=a.createElementNS?a.createElementNS(mxConstants.NS_SVG,"style"):a.createElement("style"),a.setAttribute("type","text/css"),mxUtils.setTextContent(a,this.fontCss),b[0][0].appendChild(a))};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||(null==this.graph.extFonts||0==this.graph.extFonts.length)&& -this.useCanvasForExport};Editor.prototype.exportToCanvas=function(a,b,c,d,f,m,p,e,g,k,t,z,u,l){m=null!=m?m:!0;z=null!=z?z:this.graph;u=null!=u?u:0;var v=g?null:z.background;v==mxConstants.NONE&&(v=null);null==v&&(v=d);null==v&&0==g&&(v=this.graph.defaultPageBackgroundColor);this.convertImages(z.getSvg(v,null,null,l,null,null!=p?p:!0,null,null,null,k),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){try{var p=document.createElement("canvas"),g=parseInt(c.getAttribute("width")), +this.useCanvasForExport};Editor.prototype.exportToCanvas=function(a,b,c,d,f,m,p,e,g,k,t,y,u,l){m=null!=m?m:!0;y=null!=y?y:this.graph;u=null!=u?u:0;var v=g?null:y.background;v==mxConstants.NONE&&(v=null);null==v&&(v=d);null==v&&0==g&&(v=this.graph.defaultPageBackgroundColor);this.convertImages(y.getSvg(v,null,null,l,null,null!=p?p:!0,null,null,null,k),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){try{var p=document.createElement("canvas"),g=parseInt(c.getAttribute("width")), k=parseInt(c.getAttribute("height"));e=null!=e?e:1;null!=b&&(e=m?Math.min(1,Math.min(3*b/(4*k),b/g)):b/g);g=Math.ceil(e*g)+2*u;k=Math.ceil(e*k)+2*u;p.setAttribute("width",g);p.setAttribute("height",k);var t=p.getContext("2d");null!=v&&(t.beginPath(),t.rect(0,0,g,k),t.fillStyle=v,t.fill());t.scale(e,e);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(d,u/e,u/e);a(p)},0):(t.drawImage(d,u/e,u/e),a(p))}catch(ea){null!=f&&f(ea)}});d.onerror=function(a){null!=f&&f(a)};try{k&&this.graph.addSvgShadow(c); -var p=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}z.mathEnabled&&this.addMathCss(c);d.src=this.createSvgDataUri(mxUtils.getXml(c))});this.loadFonts(p)}catch(Z){null!=f&&f(Z)}}),c,t)};Editor.prototype.writeGraphModelToPng=function(a,b,c,d,f){function m(a,b){var c=g;g+=b;return a.substring(c,g)}function p(a){a=m(a,4);return a.charCodeAt(3)+ +var p=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}y.mathEnabled&&this.addMathCss(c);d.src=this.createSvgDataUri(mxUtils.getXml(c))});this.loadFonts(p)}catch(Z){null!=f&&f(Z)}}),c,t)};Editor.prototype.writeGraphModelToPng=function(a,b,c,d,f){function m(a,b){var c=g;g+=b;return a.substring(c,g)}function p(a){a=m(a,4);return a.charCodeAt(3)+ (a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function e(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(m(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=f&&f();else if(m(a,4),"IHDR"!=m(a,4))null!=f&&f();else{m(a,17);f=a.substring(0,g);do{var k=p(a);if("IDAT"==m(a,4)){f=a.substring(0,g-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0): "")+d;d=4294967295;d=EditorUi.prototype.updateCRC(d,b,0,4);d=EditorUi.prototype.updateCRC(d,c,0,c.length);f+=e(c.length)+b+c+e(d^4294967295);f+=a.substring(g-8,a.length);break}f+=a.substring(g-8,g-4+k);m(a,k);m(a,4)}while(k);return"data:image/png;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this, arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,b){var c=null;null!=a.editor.graph.getModel().getParent(b)?c=b.getId():null!=a.currentPage&&(c=a.currentPage.getId());return c});if(null!=window.StyleFormatPanel){var k=Format.prototype.init; @@ -8272,28 +8371,28 @@ stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#363 null!=f.shape&&(f.shape.commonCustomPropAdded||(f.shape.commonCustomPropAdded=!0,f.shape.customProperties=f.shape.customProperties||[],f.cell.vertex?Array.prototype.push.apply(f.shape.customProperties,Editor.commonVertexProperties):Array.prototype.push.apply(f.shape.customProperties,Editor.commonEdgeProperties)),d(f.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{d(JSON.parse(a))}catch(F){}}};var f=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a= this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments);if(Editor.enableCustomProperties){for(var b={},c=a.vertices,d=a.edges,m=0;m<c.length;m++)this.findCommonProperties(c[m],b,0==m);for(m=0;m<d.length;m++)this.findCommonProperties(d[m],b,0==c.length&&0==m);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(b).length&&this.container.appendChild(this.addProperties(this.createPanel(), b,a))}};var m=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var b=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));b.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";b.style.marginRight="2px";a.appendChild(b);b=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this, -function(a){this.editorUi.actions.get("pasteStyle").funct()}));b.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";a.appendChild(b);mxUtils.br(a);return m.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=function(a,b,c){function d(a,b,c,d){z.getModel().beginUpdate();try{var f=[],m=[];if(null!=c.index){for(var p=[],e=c.parentRow.nextSibling;e&& -e.getAttribute("data-pName")==a;)p.push(e.getAttribute("data-pValue")),e=e.nextSibling;c.index<p.length?null!=d?p.splice(d,1):p[c.index]=b:p.push(b);null!=c.size&&p.length>c.size&&(p=p.slice(0,c.size));b=p.join(",");null!=c.countProperty&&(z.setCellStyles(c.countProperty,p.length,z.getSelectionCells()),f.push(c.countProperty),m.push(p.length))}z.setCellStyles(a,b,z.getSelectionCells());f.push(a);m.push(b);if(null!=c.dependentProps)for(a=0;a<c.dependentProps.length;a++){var g=c.dependentPropsDefVal[a], -k=c.dependentPropsVals[a];if(k.length>b)k=k.slice(0,b);else for(var u=k.length;u<b;u++)k.push(g);k=k.join(",");z.setCellStyles(c.dependentProps[a],k,z.getSelectionCells());f.push(c.dependentProps[a]);m.push(k)}if("function"==typeof c.onChange)c.onChange(z,b);t.editorUi.fireEvent(new mxEventObject("styleChanged","keys",f,"values",m,"cells",z.getSelectionCells()))}finally{z.getModel().endUpdate()}}function f(b,c,d){var f=mxUtils.getOffset(a,!0),m=mxUtils.getOffset(b,!0);c.style.position="absolute"; +function(a){this.editorUi.actions.get("pasteStyle").funct()}));b.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");b.style.marginBottom="2px";b.style.width="100px";a.appendChild(b);mxUtils.br(a);return m.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=function(a,b,c){function d(a,b,c,d){y.getModel().beginUpdate();try{var f=[],m=[];if(null!=c.index){for(var p=[],e=c.parentRow.nextSibling;e&& +e.getAttribute("data-pName")==a;)p.push(e.getAttribute("data-pValue")),e=e.nextSibling;c.index<p.length?null!=d?p.splice(d,1):p[c.index]=b:p.push(b);null!=c.size&&p.length>c.size&&(p=p.slice(0,c.size));b=p.join(",");null!=c.countProperty&&(y.setCellStyles(c.countProperty,p.length,y.getSelectionCells()),f.push(c.countProperty),m.push(p.length))}y.setCellStyles(a,b,y.getSelectionCells());f.push(a);m.push(b);if(null!=c.dependentProps)for(a=0;a<c.dependentProps.length;a++){var g=c.dependentPropsDefVal[a], +k=c.dependentPropsVals[a];if(k.length>b)k=k.slice(0,b);else for(var u=k.length;u<b;u++)k.push(g);k=k.join(",");y.setCellStyles(c.dependentProps[a],k,y.getSelectionCells());f.push(c.dependentProps[a]);m.push(k)}if("function"==typeof c.onChange)c.onChange(y,b);t.editorUi.fireEvent(new mxEventObject("styleChanged","keys",f,"values",m,"cells",y.getSelectionCells()))}finally{y.getModel().endUpdate()}}function f(b,c,d){var f=mxUtils.getOffset(a,!0),m=mxUtils.getOffset(b,!0);c.style.position="absolute"; c.style.left=m.x-f.x+"px";c.style.top=m.y-f.y+"px";c.style.width=b.offsetWidth+"px";c.style.height=b.offsetHeight-(d?4:0)+"px";c.style.zIndex=5}function m(a,b,c){var f=document.createElement("div");f.style.width="32px";f.style.height="4px";f.style.margin="2px";f.style.border="1px solid black";f.style.background=b&&"none"!=b?b:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(t,function(m){this.editorUi.pickColor(b,function(b){f.style.background="none"==b?"url('"+Dialog.prototype.noColorImage+ -"')":b;d(a,b,c)});mxEvent.consume(m)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(f);return btn}function p(a,b,c,f,m,p,e){null!=b&&(b=b.split(","),u.push({name:a,values:b,type:c,defVal:f,countProperty:m,parentRow:p,isDeletable:!0,flipBkg:e}));btn=mxUtils.button("+",mxUtils.bind(t,function(b){for(var g=p,t=0;null!=g.nextSibling;)if(g.nextSibling.getAttribute("data-pName")==a)g=g.nextSibling,t++;else break;var z={type:c,parentRow:p,index:t,isDeletable:!0, -defVal:f,countProperty:m},t=k(a,"",z,0==t%2,e);d(a,f,z);g.parentNode.insertBefore(t,g.nextSibling);mxEvent.consume(b)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function e(a,b,c,d,f,m,p){if(0<f){var e=Array(f);b=null!=b?b.split(","):[];for(var g=0;g<f;g++)e[g]=null!=b[g]?b[g]:null!=d?d:"";u.push({name:a,values:e,type:c,defVal:d,parentRow:m,flipBkg:p,size:f})}return document.createElement("div")}function g(a,b,c){var f=document.createElement("input");f.type= -"checkbox";f.checked="1"==b;mxEvent.addListener(f,"change",function(){d(a,f.checked?"1":"0",c)});return f}function k(b,c,k,z,u){var l=k.dispName,v=k.type,n=document.createElement("tr");n.className="gePropRow"+(u?"Dark":"")+(z?"Alt":"")+" gePropNonHeaderRow";n.setAttribute("data-pName",b);n.setAttribute("data-pValue",c);z=!1;null!=k.index&&(n.setAttribute("data-index",k.index),l=(null!=l?l:"")+"["+k.index+"]",z=!0);var B=document.createElement("td");B.className="gePropRowCell";B.innerHTML=mxUtils.htmlEntities(mxResources.get(l, -null,l));z&&(B.style.textAlign="right");n.appendChild(B);B=document.createElement("td");B.className="gePropRowCell";if("color"==v)B.appendChild(m(b,c,k));else if("bool"==v||"boolean"==v)B.appendChild(g(b,c,k));else if("enum"==v){var x=k.enumList;for(u=0;u<x.length;u++)if(l=x[u],l.val==c){B.innerHTML=mxUtils.htmlEntities(mxResources.get(l.dispName,null,l.dispName));break}mxEvent.addListener(B,"click",mxUtils.bind(t,function(){var m=document.createElement("select");f(B,m);for(var p=0;p<x.length;p++){var e= +"')":b;d(a,b,c)});mxEvent.consume(m)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(f);return btn}function p(a,b,c,f,m,p,e){null!=b&&(b=b.split(","),u.push({name:a,values:b,type:c,defVal:f,countProperty:m,parentRow:p,isDeletable:!0,flipBkg:e}));btn=mxUtils.button("+",mxUtils.bind(t,function(b){for(var g=p,t=0;null!=g.nextSibling;)if(g.nextSibling.getAttribute("data-pName")==a)g=g.nextSibling,t++;else break;var y={type:c,parentRow:p,index:t,isDeletable:!0, +defVal:f,countProperty:m},t=k(a,"",y,0==t%2,e);d(a,f,y);g.parentNode.insertBefore(t,g.nextSibling);mxEvent.consume(b)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function e(a,b,c,d,f,m,p){if(0<f){var e=Array(f);b=null!=b?b.split(","):[];for(var g=0;g<f;g++)e[g]=null!=b[g]?b[g]:null!=d?d:"";u.push({name:a,values:e,type:c,defVal:d,parentRow:m,flipBkg:p,size:f})}return document.createElement("div")}function g(a,b,c){var f=document.createElement("input");f.type= +"checkbox";f.checked="1"==b;mxEvent.addListener(f,"change",function(){d(a,f.checked?"1":"0",c)});return f}function k(b,c,k,y,u){var l=k.dispName,v=k.type,n=document.createElement("tr");n.className="gePropRow"+(u?"Dark":"")+(y?"Alt":"")+" gePropNonHeaderRow";n.setAttribute("data-pName",b);n.setAttribute("data-pValue",c);y=!1;null!=k.index&&(n.setAttribute("data-index",k.index),l=(null!=l?l:"")+"["+k.index+"]",y=!0);var B=document.createElement("td");B.className="gePropRowCell";B.innerHTML=mxUtils.htmlEntities(mxResources.get(l, +null,l));y&&(B.style.textAlign="right");n.appendChild(B);B=document.createElement("td");B.className="gePropRowCell";if("color"==v)B.appendChild(m(b,c,k));else if("bool"==v||"boolean"==v)B.appendChild(g(b,c,k));else if("enum"==v){var x=k.enumList;for(u=0;u<x.length;u++)if(l=x[u],l.val==c){B.innerHTML=mxUtils.htmlEntities(mxResources.get(l.dispName,null,l.dispName));break}mxEvent.addListener(B,"click",mxUtils.bind(t,function(){var m=document.createElement("select");f(B,m);for(var p=0;p<x.length;p++){var e= x[p],g=document.createElement("option");g.value=mxUtils.htmlEntities(e.val);g.innerHTML=mxUtils.htmlEntities(mxResources.get(e.dispName,null,e.dispName));m.appendChild(g)}m.value=c;a.appendChild(m);mxEvent.addListener(m,"change",function(){var a=mxUtils.htmlEntities(m.value);d(b,a,k)});m.focus();mxEvent.addListener(m,"blur",function(){a.removeChild(m)})}))}else"dynamicArr"==v?B.appendChild(p(b,c,k.subType,k.subDefVal,k.countProperty,n,u)):"staticArr"==v?B.appendChild(e(b,c,k.subType,k.subDefVal,k.size, -n,u)):(B.innerHTML=c,mxEvent.addListener(B,"click",mxUtils.bind(t,function(){function m(){var a=p.value,a=0==a.length&&"string"!=v?0:a;k.allowAuto&&("auto"==a.trim().toLowerCase()?(a="auto",v="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=k.min&&a<k.min?a=k.min:null!=k.max&&a>k.max&&(a=k.max);a=mxUtils.htmlEntities(("int"==v?parseInt(a):a)+"");d(b,a,k)}var p=document.createElement("input");f(B,p,!0);p.value=c;p.className="gePropEditor";"int"!=v&&"float"!=v||k.allowAuto||(p.type="number",p.step= -"int"==v?"1":"any",null!=k.min&&(p.min=parseFloat(k.min)),null!=k.max&&(p.max=parseFloat(k.max)));a.appendChild(p);mxEvent.addListener(p,"keypress",function(a){13==a.keyCode&&m()});p.focus();mxEvent.addListener(p,"blur",function(){m()})})));k.isDeletable&&(u=mxUtils.button("-",mxUtils.bind(t,function(a){d(b,"",k,k.index);mxEvent.consume(a)})),u.style.height="16px",u.style.width="25px",u.style["float"]="right",u.className="geColorBtn",B.appendChild(u));n.appendChild(B);return n}var t=this,z=this.editorUi.editor.graph, -u=[];a.style.position="relative";a.style.padding="0";var v=document.createElement("table");v.style.whiteSpace="nowrap";v.style.width="100%";var l=document.createElement("tr");l.className="gePropHeader";var n=document.createElement("th");n.className="gePropHeaderCell";var B=document.createElement("img");B.src=Sidebar.prototype.expandedImage;n.appendChild(B);mxUtils.write(n,mxResources.get("property"));l.style.cursor="pointer";var x=function(){var b=v.querySelectorAll(".gePropNonHeaderRow"),c;if(t.editorUi.propertiesCollapsed){B.src= -Sidebar.prototype.collapsedImage;c="none";for(var d=a.childNodes.length-1;0<=d;d--)try{var f=a.childNodes[d],m=f.nodeName.toUpperCase();"INPUT"!=m&&"SELECT"!=m||a.removeChild(f)}catch(ka){}}else B.src=Sidebar.prototype.expandedImage,c="";for(d=0;d<b.length;d++)b[d].style.display=c};mxEvent.addListener(l,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;x()});l.appendChild(n);n=document.createElement("th");n.className="gePropHeaderCell";n.innerHTML=mxResources.get("value"); -l.appendChild(n);v.appendChild(l);var y=!1,A=!1,C;for(C in b)if(l=b[C],"function"!=typeof l.isVisible||l.isVisible(c,this)){var D=null!=c.style[C]?mxUtils.htmlEntities(c.style[C]+""):l.defVal;if("separator"==l.type)A=!A;else{if("staticArr"==l.type)l.size=parseInt(c.style[l.sizeProperty]||b[l.sizeProperty].defVal)||0;else if(null!=l.dependentProps){for(var q=l.dependentProps,I=[],G=[],n=0;n<q.length;n++){var E=c.style[q[n]];G.push(b[q[n]].subDefVal);I.push(null!=E?E.split(","):[])}l.dependentPropsDefVal= -G;l.dependentPropsVals=I}v.appendChild(k(C,D,l,y,A));y=!y}}for(n=0;n<u.length;n++)for(l=u[n],b=l.parentRow,c=0;c<l.values.length;c++)C=k(l.name,l.values[c],{type:l.type,parentRow:l.parentRow,isDeletable:l.isDeletable,index:c,defVal:l.defVal,countProperty:l.countProperty,size:l.size},0==c%2,l.flipBkg),b.parentNode.insertBefore(C,b.nextSibling),b=C;a.appendChild(v);x();return a};StyleFormatPanel.prototype.addStyles=function(a){function b(a){function b(a){var b=mxUtils.button("",function(b){d.getModel().beginUpdate(); -try{var c=d.getSelectionCells();for(b=0;b<c.length;b++){for(var f=d.getModel().getStyle(c[b]),p=0;p<m.length;p++)f=mxUtils.removeStylename(f,m[p]);var e=d.getModel().isVertex(c[b])?d.defaultVertexStyle:d.defaultEdgeStyle;null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),f=""==a.fill?mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR, -null)),f=""==a.stroke?mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,null)),d.getModel().isVertex(c[b])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null)))):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,"#ffffff")),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(e, -mxConstants.STYLE_STROKECOLOR,"#000000")),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),d.getModel().isVertex(c[b])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null))));d.getModel().setStyle(c[b],f)}}finally{d.getModel().endUpdate()}});b.className="geStyleButton";b.style.width="36px";b.style.height="30px";b.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&& -(mxClient.IS_QUIRKS||10>document.documentMode)?b.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":b.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor=""==a.fill?mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(d.defaultVertexStyle, -mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),b.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var c=mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(d.defaultVertexStyle, -mxConstants.STYLE_STROKECOLOR,"#000000");b.style.backgroundColor=c;b.style.border="1px solid "+p}f.appendChild(b)}f.innerHTML="";for(var c=0;c<a.length;c++)0<c&&0==mxUtils.mod(c,4)&&mxUtils.br(f),b(a[c])}function c(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var d=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace="nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px"; -a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var m="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var p=document.createElement("div");p.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; +n,u)):(B.innerHTML=c,mxEvent.addListener(B,"click",mxUtils.bind(t,function(){function m(){var a=p.value,a=0==a.length&&"string"!=v?0:a;k.allowAuto&&(null!=a.trim&&"auto"==a.trim().toLowerCase()?(a="auto",v="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=k.min&&a<k.min?a=k.min:null!=k.max&&a>k.max&&(a=k.max);a=mxUtils.htmlEntities(("int"==v?parseInt(a):a)+"");d(b,a,k)}var p=document.createElement("input");f(B,p,!0);p.value=c;p.className="gePropEditor";"int"!=v&&"float"!=v||k.allowAuto||(p.type="number", +p.step="int"==v?"1":"any",null!=k.min&&(p.min=parseFloat(k.min)),null!=k.max&&(p.max=parseFloat(k.max)));a.appendChild(p);mxEvent.addListener(p,"keypress",function(a){13==a.keyCode&&m()});p.focus();mxEvent.addListener(p,"blur",function(){m()})})));k.isDeletable&&(u=mxUtils.button("-",mxUtils.bind(t,function(a){d(b,"",k,k.index);mxEvent.consume(a)})),u.style.height="16px",u.style.width="25px",u.style["float"]="right",u.className="geColorBtn",B.appendChild(u));n.appendChild(B);return n}var t=this,y= +this.editorUi.editor.graph,u=[];a.style.position="relative";a.style.padding="0";var v=document.createElement("table");v.style.whiteSpace="nowrap";v.style.width="100%";var l=document.createElement("tr");l.className="gePropHeader";var n=document.createElement("th");n.className="gePropHeaderCell";var B=document.createElement("img");B.src=Sidebar.prototype.expandedImage;n.appendChild(B);mxUtils.write(n,mxResources.get("property"));l.style.cursor="pointer";var x=function(){var b=v.querySelectorAll(".gePropNonHeaderRow"), +c;if(t.editorUi.propertiesCollapsed){B.src=Sidebar.prototype.collapsedImage;c="none";for(var d=a.childNodes.length-1;0<=d;d--)try{var f=a.childNodes[d],m=f.nodeName.toUpperCase();"INPUT"!=m&&"SELECT"!=m||a.removeChild(f)}catch(ka){}}else B.src=Sidebar.prototype.expandedImage,c="";for(d=0;d<b.length;d++)b[d].style.display=c};mxEvent.addListener(l,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;x()});l.appendChild(n);n=document.createElement("th");n.className="gePropHeaderCell"; +n.innerHTML=mxResources.get("value");l.appendChild(n);v.appendChild(l);var z=!1,A=!1,C;for(C in b)if(l=b[C],"function"!=typeof l.isVisible||l.isVisible(c,this)){var D=null!=c.style[C]?mxUtils.htmlEntities(c.style[C]+""):l.defVal;if("separator"==l.type)A=!A;else{if("staticArr"==l.type)l.size=parseInt(c.style[l.sizeProperty]||b[l.sizeProperty].defVal)||0;else if(null!=l.dependentProps){for(var q=l.dependentProps,I=[],G=[],n=0;n<q.length;n++){var E=c.style[q[n]];G.push(b[q[n]].subDefVal);I.push(null!= +E?E.split(","):[])}l.dependentPropsDefVal=G;l.dependentPropsVals=I}v.appendChild(k(C,D,l,z,A));z=!z}}for(n=0;n<u.length;n++)for(l=u[n],b=l.parentRow,c=0;c<l.values.length;c++)C=k(l.name,l.values[c],{type:l.type,parentRow:l.parentRow,isDeletable:l.isDeletable,index:c,defVal:l.defVal,countProperty:l.countProperty,size:l.size},0==c%2,l.flipBkg),b.parentNode.insertBefore(C,b.nextSibling),b=C;a.appendChild(v);x();return a};StyleFormatPanel.prototype.addStyles=function(a){function b(a){function b(a){var b= +mxUtils.button("",function(b){d.getModel().beginUpdate();try{var c=d.getSelectionCells();for(b=0;b<c.length;b++){for(var f=d.getModel().getStyle(c[b]),p=0;p<m.length;p++)f=mxUtils.removeStylename(f,m[p]);var e=d.getModel().isVertex(c[b])?d.defaultVertexStyle:d.defaultEdgeStyle;null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),f=""==a.fill?mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR, +a.fill||mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,null)),f=""==a.stroke?mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,null)),d.getModel().isVertex(c[b])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null)))):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,"#ffffff")),f= +mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,"#000000")),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),d.getModel().isVertex(c[b])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null))));d.getModel().setStyle(c[b],f)}}finally{d.getModel().endUpdate()}});b.className="geStyleButton";b.style.width="36px";b.style.height="30px";b.style.margin= +"0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?b.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":b.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor=""==a.fill?mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR, +"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),b.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var c=mxUtils.getValue(d.defaultVertexStyle, +mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(d.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");b.style.backgroundColor=c;b.style.border="1px solid "+p}f.appendChild(b)}f.innerHTML="";for(var c=0;c<a.length;c++)0<c&&0==mxUtils.mod(c,4)&&mxUtils.br(f),b(a[c])}function c(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var d=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace= +"nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var m="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var p=document.createElement("div");p.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; mxEvent.addListener(p,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);b(this.defaultColorSchemes[this.editorUi.currentScheme])}));var e=document.createElement("div");e.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; 1<this.defaultColorSchemes.length&&(a.appendChild(p),a.appendChild(e));mxEvent.addListener(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);b(this.defaultColorSchemes[this.editorUi.currentScheme])}));c(p);c(e);b(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var b=this.format.getSelectionState(),c=null;1==this.editorUi.editor.graph.getSelectionCount()&& (c=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),c.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),c.style.width="202px",c.style.marginBottom="2px",a.appendChild(c));var d=this.editorUi.editor.graph,f=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(b=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, @@ -8305,12 +8404,12 @@ this.layoutManager.getLayout=function(a){var b=this.graph.getCellStyle(a);if(nul b.childLayout)return c=new mxTableLayout(this.graph),c.rows=b.tableRows||2,c.columns=b.tableColumns||2,c.colPercentages=b.colPercentages,c.rowPercentages=b.rowPercentages,c.equalColumns="1"==mxUtils.getValue(b,"equalColumns",c.colPercentages?"0":"1"),c.equalRows="1"==mxUtils.getValue(b,"equalRows",c.rowPercentages?"0":"1"),c.resizeParent="1"==mxUtils.getValue(b,"resizeParent","1"),c.border=b.tableBorder||c.border,c.marginLeft=b.marginLeft||0,c.marginRight=b.marginRight||0,c.marginTop=b.marginTop|| 0,c.marginBottom=b.marginBottom||0,c.autoAddCol="1"==mxUtils.getValue(b,"autoAddCol","0"),c.autoAddRow="1"==mxUtils.getValue(b,"autoAddRow",c.autoAddCol?"0":"1"),c.colWidths=b.colWidths||"100",c.rowHeights=b.rowHeights||"50",c}return d.apply(this,arguments)};this.updateGlobalUrlVariables()};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars)); if(null!=a)for(var b in a)this.globalVars[b]=a[b]}catch(E){null!=window.console&&console.log("Error in vars URL parameter: "+E)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var u=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var b=u.apply(this,arguments);null==b&&null!=this.globalVars&&(b=this.globalVars[a]);return b};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a= -this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var v=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,b,c,d,f,m,p,e,g,k,t){var z=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&&(z=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var u=v.apply(this,arguments);if(t&&null!=this.extFonts&&0<this.extFonts.length){var l= -u.ownerDocument,n=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"style"):l.createElement("style");null!=l.setAttributeNS?n.setAttributeNS("type","text/css"):n.setAttribute("type","text/css");for(var B="",x=0;x<this.extFonts.length;x++)var y=this.extFonts[x].name,C=this.extFonts[x].url,B=0==C.indexOf(Editor.GOOGLE_FONTS)?B+("@import url("+C+");"):B+('@font-face {font-family: "'+y+'";src: url("'+C+'");}');n.appendChild(l.createTextNode(B));u.getElementsByTagName("defs")[0].appendChild(n)}null!= -z&&(this.stylesheet=z,this.refresh());return u};var t=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var a=t.apply(this,arguments);if(this.mathEnabled){this.container.getBoundingClientRect();var b=a.drawText;a.drawText=function(a,c){if(null!=c.addForeignObject&&null!=a.text&&a.text.checkBounds()&&null!=a.text.node&&null==a.text.node.ownerSVGElement){c.save();var d=a.text.node.cloneNode(!0);d.style.transformOrigin="";d.style.transform="";d.style.top="0px";d.style.left= +this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var v=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,b,c,d,f,m,p,e,g,k,t){var y=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&&(y=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var u=v.apply(this,arguments);if(t&&null!=this.extFonts&&0<this.extFonts.length){var l= +u.ownerDocument,n=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"style"):l.createElement("style");null!=l.setAttributeNS?n.setAttributeNS("type","text/css"):n.setAttribute("type","text/css");for(var B="",x=0;x<this.extFonts.length;x++)var z=this.extFonts[x].name,C=this.extFonts[x].url,B=0==C.indexOf(Editor.GOOGLE_FONTS)?B+("@import url("+C+");"):B+('@font-face {font-family: "'+z+'";src: url("'+C+'");}');n.appendChild(l.createTextNode(B));u.getElementsByTagName("defs")[0].appendChild(n)}null!= +y&&(this.stylesheet=y,this.refresh());return u};var t=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var a=t.apply(this,arguments);if(this.mathEnabled){this.container.getBoundingClientRect();var b=a.drawText;a.drawText=function(a,c){if(null!=c.addForeignObject&&null!=a.text&&a.text.checkBounds()&&null!=a.text.node&&null==a.text.node.ownerSVGElement){c.save();var d=a.text.node.cloneNode(!0);d.style.transformOrigin="";d.style.transform="";d.style.top="0px";d.style.left= "0px";for(var f=d.getElementsByTagName("math");0<f.length;)f[0].parentNode.removeChild(f[0]);var m=a.text.scale,f=a.text.bounds.x/m,p=a.text.bounds.y/m,e=a.text.bounds.width/m,m=a.text.bounds.height/m;a.text.updateTransform(c,f,p,e,m);a.text.configureCanvas(c,f,p,e,m);var g=mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML,k=g||c instanceof mxVmlCanvas2D?"html":"",t=a.text.value;g||"html"!=k||(t=mxUtils.htmlEntities(t,!1));"html"!=k||mxUtils.isNode(a.text.value)||(t=mxUtils.replaceTrailingNewlines(t, -"<div><br></div>"));var t=!mxUtils.isNode(a.text.value)&&a.text.replaceLinefeeds&&"html"==k?t.replace(/\n/g,"<br/>"):t,z=a.text.textDirection;z!=mxConstants.TEXT_DIRECTION_AUTO||g||(z=a.text.getAutoDirection());z!=mxConstants.TEXT_DIRECTION_LTR&&z!=mxConstants.TEXT_DIRECTION_RTL&&(z=null);c.addForeignObject(f+c.state.dx,p+c.state.dy,e,m,t,a.text.align,a.text.valign,a.text.wrap,k,a.text.overflow,a.text.clipped,a.text.getTextRotation(),z,d,c.root.ownerSVGElement);c.restore()}else b.apply(this,arguments)}}return a}; -var x=Graph.prototype.isCssTransformsSupported;Graph.prototype.isCssTransformsSupported=function(){return x.apply(this,arguments)&&!mxClient.IS_SF};var y=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){y.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode||"svg"!=this.graph.container.firstChild.nodeName? +"<div><br></div>"));var t=!mxUtils.isNode(a.text.value)&&a.text.replaceLinefeeds&&"html"==k?t.replace(/\n/g,"<br/>"):t,y=a.text.textDirection;y!=mxConstants.TEXT_DIRECTION_AUTO||g||(y=a.text.getAutoDirection());y!=mxConstants.TEXT_DIRECTION_LTR&&y!=mxConstants.TEXT_DIRECTION_RTL&&(y=null);c.addForeignObject(f+c.state.dx,p+c.state.dy,e,m,t,a.text.align,a.text.valign,a.text.wrap,k,a.text.overflow,a.text.clipped,a.text.getTextRotation(),y,d,c.root.ownerSVGElement);c.restore()}else b.apply(this,arguments)}}return a}; +var z=Graph.prototype.isCssTransformsSupported;Graph.prototype.isCssTransformsSupported=function(){return z.apply(this,arguments)&&!mxClient.IS_SF};var x=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){x.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode||"svg"!=this.graph.container.firstChild.nodeName? null==this.webKitForceRepaintNode||this.graph.mathEnabled&&("svg"==this.graph.container.firstChild.nodeName||this.graph.container.firstChild==this.webKitForceRepaintNode)||(null!=this.webKitForceRepaintNode.parentNode&&this.webKitForceRepaintNode.parentNode.removeChild(this.webKitForceRepaintNode),this.webKitForceRepaintNode=null):(this.webKitForceRepaintNode=document.createElement("div"),this.webKitForceRepaintNode.style.cssText="position:absolute;",a.ownerSVGElement.parentNode.insertBefore(this.webKitForceRepaintNode, a.ownerSVGElement))}};var D=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){D.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var b=0;b<a.actions.length;b++){var c=a.actions[b];if(null!=c.open)if(this.isCustomLink(c.open)){if(!this.customLinkClicked(c.open))return}else this.openLink(c.open)}this.model.beginUpdate();try{for(b= 0;b<a.actions.length;b++)c=a.actions[b],null!=c.toggle&&this.toggleCells(this.getCellsForAction(c.toggle,!0)),null!=c.show&&this.setCellsVisible(this.getCellsForAction(c.show,!0),!0),null!=c.hide&&this.setCellsVisible(this.getCellsForAction(c.hide,!0),!1)}finally{this.model.endUpdate()}for(b=0;b<a.actions.length;b++){var c=a.actions[b],d=[];null!=c.select&&this.isEnabled()&&(d=this.getCellsForAction(c.select),this.setSelectionCells(d));null!=c.highlight&&(d=this.getCellsForAction(c.highlight),this.highlightCells(d, @@ -8326,41 +8425,42 @@ f.setAttribute("id",this.shadowId);var m=null!=d.createElementNS?d.createElement m.setAttribute("result","offsetBlur");f.appendChild(m);m=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feBlend"):d.createElement("feBlend");m.setAttribute("in","SourceGraphic");m.setAttribute("in2","offsetBlur");f.appendChild(m);m=a.getElementsByTagName("defs");0==m.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d=m[0];d.appendChild(f);c||(b=null!=b?b:a.getElementsByTagName("g")[0], null!=b&&(b.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),b=a.getAttribute("viewBox"),null!=b&&0<b.length&&(b=b.split(" "),3<b.length&&(w=parseFloat(b[2])+6,h=parseFloat(b[3])+6,a.setAttribute("viewBox",b[0]+" "+b[1]+" "+w+" "+h))))));return f};Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible= a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),b,c=0;do b=this.model.getChildAt(this.model.root,c);while(c++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!=b&&this.setDefaultParent(b)}};mxStencilRegistry.libraries.mockup= -[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.dfd=[SHAPES_PATH+"/mxDFD.js"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.kubernetes=[SHAPES_PATH+"/mxKubernetes.js",STENCIL_PATH+ -"/kubernetes.xml"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+ -"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/miscellaneous"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries["electrical/transmission"]= -[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries["electrical/logic_gates"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries["electrical/abstract"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/abstract.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]= -[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]= -[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js", -STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"]; -mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc= -[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var I=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,f,m,p,e,g,k){if(null!=c&&null==mxMarker.markers[c]){var t= -this.getPackageForType(c);null!=t&&mxStencilRegistry.getStencil(t)}return I.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){l.value=Math.max(1,Math.min(e,Math.max(parseInt(l.value),parseInt(u.value))));u.value=Math.max(1,Math.min(e,Math.min(parseInt(l.value),parseInt(u.value))))}function d(b){function c(b,c,m){var p=b.useCssTransforms,e=b.currentTranslate,g=b.currentScale,k=b.view.translate,t=b.view.scale;b.useCssTransforms&&(b.useCssTransforms=!1,b.currentTranslate= -new mxPoint(0,0),b.currentScale=1,b.view.translate=new mxPoint(0,0),b.view.scale=1);var z=b.getGraphBounds(),u=0,l=0,v=ma.get(),n=1/b.pageScale,y=x.checked;if(y)var n=parseInt(S.value),C=parseInt(ia.value),n=Math.min(v.height*C/(z.height/b.view.scale),v.width*n/(z.width/b.view.scale));else n=parseInt(B.value)/(100*b.pageScale),isNaN(n)&&(d=1/b.pageScale,B.value="100 %");v=mxRectangle.fromRectangle(v);v.width=Math.ceil(v.width*d);v.height=Math.ceil(v.height*d);n*=d;!y&&b.pageVisible?(z=b.getPageLayout(), -u-=z.x*v.width,l-=z.y*v.height):y=!0;if(null==c){c=PrintDialog.createPrintPreview(b,n,v,0,u,l,y);c.pageSelector=!1;c.mathEnabled=!1;u=a.getCurrentFile();null!=u&&(c.title=u.getTitle());var D=c.writeHead;c.writeHead=function(c){D.apply(this,arguments);null!=a.editor.fontCss&&(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"));if(null!=b.extFonts)for(var d=0;d<b.extFonts.length;d++){var f=b.extFonts[d].name,m=b.extFonts[d].url;0==m.indexOf(Editor.GOOGLE_FONTS)?c.writeln('<link rel="stylesheet" href="'+ -m+'" charset="UTF-8" type="text/css">'):(c.writeln('<style type="text/css">'),c.writeln('@font-face {\n\tfont-family: "'+f+'";\n\tsrc: url("'+m+'");\n}'),c.writeln("</style>"))}};if("undefined"!==typeof MathJax){var q=c.renderPage;c.renderPage=function(a,b,c,d,f,m){var p=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var e=q.apply(this,arguments);mxClient.NO_FO=p;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:e.className= -"geDisableMathJax";return e}}u=null;null!=f.themes&&"darkTheme"==f.defaultThemeName&&(u=f.stylesheet,f.stylesheet=f.getDefaultStylesheet(),f.refresh());c.open(null,null,m,!0);null!=u&&(f.stylesheet=u,f.refresh())}else{v=b.background;if(null==v||""==v||v==mxConstants.NONE)v="#ffffff";c.backgroundColor=v;c.autoOrigin=y;c.appendGraph(b,n,u,l,m,!0);if(null!=b.extFonts&&null!=c.wnd)for(m=0;m<b.extFonts.length;m++)u=b.extFonts[m].name,l=b.extFonts[m].url,0==l.indexOf(Editor.GOOGLE_FONTS)?c.wnd.document.writeln('<link rel="stylesheet" href="'+ -l+'" charset="UTF-8" type="text/css">'):(c.wnd.document.writeln('<style type="text/css">'),c.wnd.document.writeln('@font-face {\n\tfont-family: "'+u+'";\n\tsrc: url("'+l+'");\n}'),c.wnd.document.writeln("</style>"))}p&&(b.useCssTransforms=p,b.currentTranslate=e,b.currentScale=g,b.view.translate=k,b.view.scale=t);return c}var d=parseInt(M.value)/100;isNaN(d)&&(d=1,M.value="100 %");var d=.75*d,m=u.value,p=l.value,e=!t.checked,k=null;e&&(e=m==g&&p==g);if(!e&&null!=a.pages&&a.pages.length){var z=0,e= -a.pages.length-1;t.checked||(z=parseInt(m)-1,e=parseInt(p)-1);for(var v=z;v<=e;v++){var n=a.pages[v],m=n==a.currentPage?f:null;if(null==m){var m=a.createTemporaryGraph(f.getStylesheet()),p=!0,z=!1,y=null,C=null;null==n.viewState&&null==n.root&&a.updatePageRoot(n);null!=n.viewState&&(p=n.viewState.pageVisible,z=n.viewState.mathEnabled,y=n.viewState.background,C=n.viewState.backgroundImage,m.extFonts=n.viewState.extFonts);m.background=y;m.backgroundImage=null!=C?new mxImage(C.src,C.width,C.height): -null;m.pageVisible=p;m.mathEnabled=z;var D=m.getGlobalVariable;m.getGlobalVariable=function(b){return"page"==b?n.getName():"pagenumber"==b?v+1:"pagecount"==b?null!=a.pages?a.pages.length:1:D.apply(this,arguments)};document.body.appendChild(m.container);a.updatePageRoot(n);m.model.setRoot(n.root)}k=c(m,k,v!=e);m!=f&&m.container.parentNode.removeChild(m.container)}}else k=c(f);null==k?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(k.mathEnabled&&(e=k.wnd.document,e.writeln('<script type="text/x-mathjax-config">'), -e.writeln("MathJax.Hub.Config({"),e.writeln("showMathMenu: false,"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),e.writeln("TeX: {"),e.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),e.writeln("},"),e.writeln("tex2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'), -e.writeln("},"),e.writeln("asciimath2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("}"),e.writeln("});"),b&&(e.writeln("MathJax.Hub.Queue(function () {"),e.writeln("window.print();"),e.writeln("});")),e.writeln("\x3c/script>"),e.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),k.closeDocument(),!k.mathEnabled&&b&&PrintDialog.printPreview(k))}var f=a.editor.graph,m=document.createElement("div"),p=document.createElement("h3");p.style.width= -"100%";p.style.textAlign="center";p.style.marginTop="0px";mxUtils.write(p,b||mxResources.get("print"));m.appendChild(p);var e=1,g=1,k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");k.appendChild(t);p=document.createElement("span"); -mxUtils.write(p,mxResources.get("printAllPages"));k.appendChild(p);mxUtils.br(k);var z=t.cloneNode(!0);t.setAttribute("checked","checked");z.setAttribute("value","range");k.appendChild(z);p=document.createElement("span");mxUtils.write(p,mxResources.get("pages")+":");k.appendChild(p);var u=document.createElement("input");u.style.cssText="margin:0 8px 0 8px;";u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min","1");u.style.width="50px";k.appendChild(u);p=document.createElement("span"); -mxUtils.write(p,mxResources.get("to"));k.appendChild(p);var l=u.cloneNode(!0);k.appendChild(l);mxEvent.addListener(u,"focus",function(){z.checked=!0});mxEvent.addListener(l,"focus",function(){z.checked=!0});mxEvent.addListener(u,"change",c);mxEvent.addListener(l,"change",c);if(null!=a.pages&&(e=a.pages.length,null!=a.currentPage))for(p=0;p<a.pages.length;p++)if(a.currentPage==a.pages[p]){g=p+1;u.value=g;l.value=g;break}u.setAttribute("max",e);l.setAttribute("max",e);1<e&&m.appendChild(k);var v=document.createElement("div"); -v.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");v.appendChild(n);p=document.createElement("span");mxUtils.write(p,mxResources.get("adjustTo"));v.appendChild(p);var B=document.createElement("input");B.style.cssText="margin:0 8px 0 8px;";B.setAttribute("value","100 %");B.style.width="50px";v.appendChild(B);mxEvent.addListener(B,"focus",function(){n.checked=!0}); -m.appendChild(v);var k=k.cloneNode(!1),x=n.cloneNode(!0);x.setAttribute("value","fit");n.setAttribute("checked","checked");p=document.createElement("div");p.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";p.appendChild(x);k.appendChild(p);v=document.createElement("table");v.style.display="inline-block";var y=document.createElement("tbody"),C=document.createElement("tr"),D=C.cloneNode(!0),q=document.createElement("td"),A=q.cloneNode(!0),I=q.cloneNode(!0),G=q.cloneNode(!0), -da=q.cloneNode(!0),W=q.cloneNode(!0);q.style.textAlign="right";G.style.textAlign="right";mxUtils.write(q,mxResources.get("fitTo"));var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","1");S.setAttribute("min","1");S.setAttribute("type","number");S.style.width="40px";A.appendChild(S);p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsAcross"));I.appendChild(p);mxUtils.write(G,mxResources.get("fitToBy"));var ia=S.cloneNode(!0); -da.appendChild(ia);mxEvent.addListener(S,"focus",function(){x.checked=!0});mxEvent.addListener(ia,"focus",function(){x.checked=!0});p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsDown"));W.appendChild(p);C.appendChild(q);C.appendChild(A);C.appendChild(I);D.appendChild(G);D.appendChild(da);D.appendChild(W);y.appendChild(C);y.appendChild(D);v.appendChild(y);k.appendChild(v);m.appendChild(k);k=document.createElement("div");p=document.createElement("div");p.style.fontWeight= -"bold";p.style.marginBottom="12px";mxUtils.write(p,mxResources.get("paperSize"));k.appendChild(p);p=document.createElement("div");p.style.marginBottom="12px";var ma=PageSetupDialog.addPageFormatPanel(p,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);k.appendChild(p);p=document.createElement("span");mxUtils.write(p,mxResources.get("pageScale"));k.appendChild(p);var M=document.createElement("input");M.style.cssText="margin:0 8px 0 8px;";M.setAttribute("value","100 %"); -M.style.width="60px";k.appendChild(M);m.appendChild(k);p=document.createElement("div");p.style.cssText="text-align:right;margin:48px 0 0 0;";k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&p.appendChild(k);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),v.className="geBtn",p.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"), -function(){a.hideDialog();d(!1)}),v.className="geBtn",p.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";p.appendChild(v);a.editor.cancelFirst||p.appendChild(k);m.appendChild(p);this.container=m};var z=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor|| -(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(z.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled), -null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var B=document.createElement("canvas"),C=new Image;C.onload=function(){try{B.getContext("2d").drawImage(C,0,0);var a=B.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(G){}};C.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(A){}})(); -(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="12.4.2";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t"; +[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.cisco19=[SHAPES_PATH+"/mxCisco19.js",STENCIL_PATH+"/cisco19.xml"];mxStencilRegistry.libraries.dfd=[SHAPES_PATH+"/mxDFD.js"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"]; +mxStencilRegistry.libraries.kubernetes=[SHAPES_PATH+"/mxKubernetes.js",STENCIL_PATH+"/kubernetes.xml"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js", +STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/miscellaneous"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/miscellaneous.xml"]; +mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries["electrical/logic_gates"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries["electrical/abstract"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/abstract.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]= +[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js", +STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js", +STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks= +[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"]; +mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var I=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,f,m,p,e, +g,k){if(null!=c&&null==mxMarker.markers[c]){var t=this.getPackageForType(c);null!=t&&mxStencilRegistry.getStencil(t)}return I.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){l.value=Math.max(1,Math.min(e,Math.max(parseInt(l.value),parseInt(u.value))));u.value=Math.max(1,Math.min(e,Math.min(parseInt(l.value),parseInt(u.value))))}function d(b){function c(b,c,m){var p=b.useCssTransforms,e=b.currentTranslate,g=b.currentScale,k=b.view.translate,t=b.view.scale;b.useCssTransforms&& +(b.useCssTransforms=!1,b.currentTranslate=new mxPoint(0,0),b.currentScale=1,b.view.translate=new mxPoint(0,0),b.view.scale=1);var y=b.getGraphBounds(),u=0,l=0,v=ma.get(),n=1/b.pageScale,z=x.checked;if(z)var n=parseInt(S.value),C=parseInt(ia.value),n=Math.min(v.height*C/(y.height/b.view.scale),v.width*n/(y.width/b.view.scale));else n=parseInt(B.value)/(100*b.pageScale),isNaN(n)&&(d=1/b.pageScale,B.value="100 %");v=mxRectangle.fromRectangle(v);v.width=Math.ceil(v.width*d);v.height=Math.ceil(v.height* +d);n*=d;!z&&b.pageVisible?(y=b.getPageLayout(),u-=y.x*v.width,l-=y.y*v.height):z=!0;if(null==c){c=PrintDialog.createPrintPreview(b,n,v,0,u,l,z);c.pageSelector=!1;c.mathEnabled=!1;u=a.getCurrentFile();null!=u&&(c.title=u.getTitle());var D=c.writeHead;c.writeHead=function(c){D.apply(this,arguments);null!=a.editor.fontCss&&(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"));if(null!=b.extFonts)for(var d=0;d<b.extFonts.length;d++){var f=b.extFonts[d].name,m=b.extFonts[d].url; +0==m.indexOf(Editor.GOOGLE_FONTS)?c.writeln('<link rel="stylesheet" href="'+m+'" charset="UTF-8" type="text/css">'):(c.writeln('<style type="text/css">'),c.writeln('@font-face {\n\tfont-family: "'+f+'";\n\tsrc: url("'+m+'");\n}'),c.writeln("</style>"))}};if("undefined"!==typeof MathJax){var q=c.renderPage;c.renderPage=function(a,b,c,d,f,m){var p=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var e=q.apply(this,arguments);mxClient.NO_FO= +p;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:e.className="geDisableMathJax";return e}}u=null;null!=f.themes&&"darkTheme"==f.defaultThemeName&&(u=f.stylesheet,f.stylesheet=f.getDefaultStylesheet(),f.refresh());c.open(null,null,m,!0);null!=u&&(f.stylesheet=u,f.refresh())}else{v=b.background;if(null==v||""==v||v==mxConstants.NONE)v="#ffffff";c.backgroundColor=v;c.autoOrigin=z;c.appendGraph(b,n,u,l,m,!0);if(null!=b.extFonts&&null!=c.wnd)for(m=0;m<b.extFonts.length;m++)u=b.extFonts[m].name, +l=b.extFonts[m].url,0==l.indexOf(Editor.GOOGLE_FONTS)?c.wnd.document.writeln('<link rel="stylesheet" href="'+l+'" charset="UTF-8" type="text/css">'):(c.wnd.document.writeln('<style type="text/css">'),c.wnd.document.writeln('@font-face {\n\tfont-family: "'+u+'";\n\tsrc: url("'+l+'");\n}'),c.wnd.document.writeln("</style>"))}p&&(b.useCssTransforms=p,b.currentTranslate=e,b.currentScale=g,b.view.translate=k,b.view.scale=t);return c}var d=parseInt(M.value)/100;isNaN(d)&&(d=1,M.value="100 %");var d=.75* +d,m=u.value,p=l.value,e=!t.checked,k=null;e&&(e=m==g&&p==g);if(!e&&null!=a.pages&&a.pages.length){var y=0,e=a.pages.length-1;t.checked||(y=parseInt(m)-1,e=parseInt(p)-1);for(var v=y;v<=e;v++){var n=a.pages[v],m=n==a.currentPage?f:null;if(null==m){var m=a.createTemporaryGraph(f.getStylesheet()),p=!0,y=!1,z=null,C=null;null==n.viewState&&null==n.root&&a.updatePageRoot(n);null!=n.viewState&&(p=n.viewState.pageVisible,y=n.viewState.mathEnabled,z=n.viewState.background,C=n.viewState.backgroundImage,m.extFonts= +n.viewState.extFonts);m.background=z;m.backgroundImage=null!=C?new mxImage(C.src,C.width,C.height):null;m.pageVisible=p;m.mathEnabled=y;var D=m.getGlobalVariable;m.getGlobalVariable=function(b){return"page"==b?n.getName():"pagenumber"==b?v+1:"pagecount"==b?null!=a.pages?a.pages.length:1:D.apply(this,arguments)};document.body.appendChild(m.container);a.updatePageRoot(n);m.model.setRoot(n.root)}k=c(m,k,v!=e);m!=f&&m.container.parentNode.removeChild(m.container)}}else k=c(f);null==k?a.handleError({message:mxResources.get("errorUpdatingPreview")}): +(k.mathEnabled&&(e=k.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln("showMathMenu: false,"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),e.writeln("TeX: {"),e.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'), +e.writeln("},"),e.writeln("tex2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("},"),e.writeln("asciimath2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("}"),e.writeln("});"),b&&(e.writeln("MathJax.Hub.Queue(function () {"),e.writeln("window.print();"),e.writeln("});")),e.writeln("\x3c/script>"),e.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),k.closeDocument(),!k.mathEnabled&&b&&PrintDialog.printPreview(k))}var f=a.editor.graph, +m=document.createElement("div"),p=document.createElement("h3");p.style.width="100%";p.style.textAlign="center";p.style.marginTop="0px";mxUtils.write(p,b||mxResources.get("print"));m.appendChild(p);var e=1,g=1,k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name", +"pages-printdialog");k.appendChild(t);p=document.createElement("span");mxUtils.write(p,mxResources.get("printAllPages"));k.appendChild(p);mxUtils.br(k);var y=t.cloneNode(!0);t.setAttribute("checked","checked");y.setAttribute("value","range");k.appendChild(y);p=document.createElement("span");mxUtils.write(p,mxResources.get("pages")+":");k.appendChild(p);var u=document.createElement("input");u.style.cssText="margin:0 8px 0 8px;";u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min", +"1");u.style.width="50px";k.appendChild(u);p=document.createElement("span");mxUtils.write(p,mxResources.get("to"));k.appendChild(p);var l=u.cloneNode(!0);k.appendChild(l);mxEvent.addListener(u,"focus",function(){y.checked=!0});mxEvent.addListener(l,"focus",function(){y.checked=!0});mxEvent.addListener(u,"change",c);mxEvent.addListener(l,"change",c);if(null!=a.pages&&(e=a.pages.length,null!=a.currentPage))for(p=0;p<a.pages.length;p++)if(a.currentPage==a.pages[p]){g=p+1;u.value=g;l.value=g;break}u.setAttribute("max", +e);l.setAttribute("max",e);1<e&&m.appendChild(k);var v=document.createElement("div");v.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");v.appendChild(n);p=document.createElement("span");mxUtils.write(p,mxResources.get("adjustTo"));v.appendChild(p);var B=document.createElement("input");B.style.cssText="margin:0 8px 0 8px;";B.setAttribute("value","100 %");B.style.width= +"50px";v.appendChild(B);mxEvent.addListener(B,"focus",function(){n.checked=!0});m.appendChild(v);var k=k.cloneNode(!1),x=n.cloneNode(!0);x.setAttribute("value","fit");n.setAttribute("checked","checked");p=document.createElement("div");p.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";p.appendChild(x);k.appendChild(p);v=document.createElement("table");v.style.display="inline-block";var z=document.createElement("tbody"),C=document.createElement("tr"),D=C.cloneNode(!0), +q=document.createElement("td"),A=q.cloneNode(!0),I=q.cloneNode(!0),G=q.cloneNode(!0),ca=q.cloneNode(!0),W=q.cloneNode(!0);q.style.textAlign="right";G.style.textAlign="right";mxUtils.write(q,mxResources.get("fitTo"));var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","1");S.setAttribute("min","1");S.setAttribute("type","number");S.style.width="40px";A.appendChild(S);p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsAcross")); +I.appendChild(p);mxUtils.write(G,mxResources.get("fitToBy"));var ia=S.cloneNode(!0);ca.appendChild(ia);mxEvent.addListener(S,"focus",function(){x.checked=!0});mxEvent.addListener(ia,"focus",function(){x.checked=!0});p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsDown"));W.appendChild(p);C.appendChild(q);C.appendChild(A);C.appendChild(I);D.appendChild(G);D.appendChild(ca);D.appendChild(W);z.appendChild(C);z.appendChild(D);v.appendChild(z);k.appendChild(v);m.appendChild(k); +k=document.createElement("div");p=document.createElement("div");p.style.fontWeight="bold";p.style.marginBottom="12px";mxUtils.write(p,mxResources.get("paperSize"));k.appendChild(p);p=document.createElement("div");p.style.marginBottom="12px";var ma=PageSetupDialog.addPageFormatPanel(p,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);k.appendChild(p);p=document.createElement("span");mxUtils.write(p,mxResources.get("pageScale"));k.appendChild(p);var M=document.createElement("input"); +M.style.cssText="margin:0 8px 0 8px;";M.setAttribute("value","100 %");M.style.width="60px";k.appendChild(M);m.appendChild(k);p=document.createElement("div");p.style.cssText="text-align:right;margin:48px 0 0 0;";k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&p.appendChild(k);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),v.className="geBtn", +p.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),v.className="geBtn",p.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";p.appendChild(v);a.editor.cancelFirst||p.appendChild(k);m.appendChild(p);this.container=m};var y=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)):(y.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&& +(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var B=document.createElement("canvas"),C=new Image;C.onload=function(){try{B.getContext("2d").drawImage(C,0,0);var a=B.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(G){}}; +C.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(A){}})(); +(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="12.4.3";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t"; EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":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.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.logError= function(a,b,c,d,e){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,c,d,e);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var f=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",m=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:""; -e=null!=e?e:Error(a);(new Image).src=m+"/log?severity="+f+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=e&&null!=e.stack?"&stack="+encodeURIComponent(e.stack):"")}}catch(y){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL: +e=null!=e?e:Error(a);(new Image).src=m+"/log?severity="+f+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=e&&null!=e.stack?"&stack="+encodeURIComponent(e.stack):"")}}catch(x){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL: "";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(p){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(p){}}; EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)a.push(arguments[b]);console.log.apply(console,a)}}catch(p){}};EditorUi.parsePng=function(a,b,c){function d(a,b){var c=m;m+=b;return a.substring(c,m)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var m=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a, 4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var p=d(a,4);if(null!=b&&b(m-8,p,c))break;value=d(a,c);d(a,4);if("IEND"==p)break}while(c)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};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.timeout=Editor.prototype.timeout; @@ -8374,14 +8474,14 @@ p.style.color="white",p.style.fontFamily="Helvetica, Arial",p.style.fontSize="9p m.charAt(m.length-1)&&(m+="..."),p.innerHTML=m,c.appendChild(p),d.status=p,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(p.style.left=Math.round(Math.max(0,a-p.offsetWidth/2))+"px",p.style.top=Math.round(Math.max(0,b+70-p.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,m)}));this.stop();return a}),p=!0);return p};var m=d.stop;d.stop=function(){m.call(this);this.active=!1;null!= d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.prototype.isCompatibleString=function(a){try{var b=mxUtils.parseXml(a),c=this.editor.extractGraphModel(b.documentElement,!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(u){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==a.charCodeAt(3)&&161==a.charCodeAt(4)&& 177==a.charCodeAt(5)&&26==a.charCodeAt(6)&&225==a.charCodeAt(7)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&4==a.charCodeAt(3)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&6==a.charCodeAt(3)};EditorUi.prototype.isPngData=function(a){return 8<a.length&&137==a.charCodeAt(0)&&80==a.charCodeAt(1)&&78==a.charCodeAt(2)&&71==a.charCodeAt(3)&&13==a.charCodeAt(4)&&10==a.charCodeAt(5)&&26==a.charCodeAt(6)&&10==a.charCodeAt(7)};var a=EditorUi.prototype.extractGraphModelFromHtml; -EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var d=b.indexOf("<mxfile ");if(0<=d){var f=b.lastIndexOf("</mxfile>");f>d&&(c=b.substring(d,f+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),g=this.editor.extractGraphModel(e.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),c=null!=g?mxUtils.getXml(g):""}catch(x){}return c};EditorUi.prototype.validateFileData= +EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var d=b.indexOf("<mxfile ");if(0<=d){var f=b.lastIndexOf("</mxfile>");f>d&&(c=b.substring(d,f+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),g=this.editor.extractGraphModel(e.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),c=null!=g?mxUtils.getXml(g):""}catch(z){}return c};EditorUi.prototype.validateFileData= function(a){if(null!=a&&0<a.length){var b=a.indexOf('<meta charset="utf-8">');0<=b&&(a=a.slice(0,b)+'<meta charset="utf-8"/>'+a.slice(b+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a){b=this.editor.graph;b.model.beginUpdate();try{var c=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram"); if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var f=d.length-1;0<=f;f--){var e=this.updatePageRoot(new DiagramPage(d[f]));null==e.getName()&&e.setName(mxResources.get("pageWithNumber",[f+1]));b.model.execute(new ChangePage(this,e,0==f?e:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")), -this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(f=0;f<c.length;f++)b.model.execute(new ChangePage(this,c[f],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,g,k,l,n,q,z){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;n=null!=n?n:!0;var f,m=null;null== -c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":m=f=d;if(null==a)return"";var p=a;if("mxfile"!=p.nodeName.toLowerCase()){if(z){var t=a.ownerDocument.createElement("diagram");t.setAttribute("id",Editor.guid());t.appendChild(a)}else{t=Graph.zapGremlins(mxUtils.getXml(a));p=Graph.compress(t);if(Graph.decompress(p)!=t)return t;t=a.ownerDocument.createElement("diagram");t.setAttribute("id",Editor.guid());mxUtils.setTextContent(t,p)}p=a.ownerDocument.createElement("mxfile");p.appendChild(t)}q? +this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(f=0;f<c.length;f++)b.model.execute(new ChangePage(this,c[f],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,g,k,l,n,q,y){b=null!=b?b:this.editor.graph;e=null!=e?e:!1;n=null!=n?n:!0;var f,m=null;null== +c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":m=f=d;if(null==a)return"";var p=a;if("mxfile"!=p.nodeName.toLowerCase()){if(y){var t=a.ownerDocument.createElement("diagram");t.setAttribute("id",Editor.guid());t.appendChild(a)}else{t=Graph.zapGremlins(mxUtils.getXml(a));p=Graph.compress(t);if(Graph.decompress(p)!=t)return t;t=a.ownerDocument.createElement("diagram");t.setAttribute("id",Editor.guid());mxUtils.setTextContent(t,p)}p=a.ownerDocument.createElement("mxfile");p.appendChild(t)}q? (p=p.cloneNode(!0),p.removeAttribute("modified"),p.removeAttribute("host"),p.removeAttribute("agent"),p.removeAttribute("etag"),p.removeAttribute("userAgent"),p.removeAttribute("version"),p.removeAttribute("editor"),p.removeAttribute("type")):(p.removeAttribute("userAgent"),p.removeAttribute("version"),p.removeAttribute("editor"),p.removeAttribute("pages"),p.removeAttribute("type"),mxClient.IS_CHROMEAPP?p.setAttribute("host","Chrome"):EditorUi.isElectronApp?p.setAttribute("host","Electron"):p.setAttribute("host", -window.location.hostname),p.setAttribute("modified",(new Date).toISOString()),p.setAttribute("agent",navigator.userAgent),p.setAttribute("version",EditorUi.VERSION),p.setAttribute("etag",Editor.guid()),a=null!=c?c.getMode():this.mode,null!=a&&p.setAttribute("type",a),null!=this.pages&&p.setAttribute("pages",this.pages.length));z=z?mxUtils.getPrettyXml(p):mxUtils.getXml(p);if(!g&&!e&&(k||null!=c&&/(\.html)$/i.test(c.getTitle())))z=this.getHtml2(mxUtils.getXml(p),b,null!=c?c.getTitle():null,f,m);else if(g|| -!e&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),z=this.getEmbeddedSvg(z,b,d,null,l,n,m);return z};EditorUi.prototype.getXmlFileData=function(a,b,c){a=null!=a?a:!0;b=null!=b?b:!1;c=null!=c?c:!Editor.compressXml;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage)if(a=function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&c?(b=mxUtils.trim(mxUtils.getTextContent(a)), +window.location.hostname),p.setAttribute("modified",(new Date).toISOString()),p.setAttribute("agent",navigator.userAgent),p.setAttribute("version",EditorUi.VERSION),p.setAttribute("etag",Editor.guid()),a=null!=c?c.getMode():this.mode,null!=a&&p.setAttribute("type",a),null!=this.pages&&p.setAttribute("pages",this.pages.length));y=y?mxUtils.getPrettyXml(p):mxUtils.getXml(p);if(!g&&!e&&(k||null!=c&&/(\.html)$/i.test(c.getTitle())))y=this.getHtml2(mxUtils.getXml(p),b,null!=c?c.getTitle():null,f,m);else if(g|| +!e&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(d=null),y=this.getEmbeddedSvg(y,b,d,null,l,n,m);return y};EditorUi.prototype.getXmlFileData=function(a,b,c){a=null!=a?a:!0;b=null!=b?b:!1;c=null!=c?c:!Editor.compressXml;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage)if(a=function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&c?(b=mxUtils.trim(mxUtils.getTextContent(a)), a=a.cloneNode(!1),0<b.length&&(b=Graph.decompress(b),null!=b&&0<b.length&&a.appendChild(mxUtils.parseXml(b).documentElement))):null==b||c?a=a.cloneNode(!0):(a=a.cloneNode(!1),mxUtils.setTextContent(a,Graph.compressNode(b)));d.appendChild(a)},EditorUi.removeChildNodes(this.currentPage.node),mxUtils.setTextContent(this.currentPage.node,Graph.compressNode(d)),d=this.fileNode.cloneNode(!1),b)a(this.currentPage.node);else for(b=0;b<this.pages.length;b++){if(this.currentPage!=this.pages[b]&&this.pages[b].needsUpdate){var f= (new mxCodec(mxUtils.createXmlDocument())).encode(new mxGraphModel(this.pages[b].root));this.editor.graph.saveViewState(this.pages[b].viewState,f);EditorUi.removeChildNodes(this.pages[b].node);mxUtils.setTextContent(this.pages[b].node,Graph.compressNode(f));delete this.pages[b].needsUpdate}a(this.pages[b].node)}return d};EditorUi.prototype.anonymizeString=function(a,b){for(var c=[],d=0;d<a.length;d++){var f=a.charAt(d);0<=EditorUi.ignoredAnonymizedChars.indexOf(f)?c.push(f):isNaN(parseInt(f))?f.toLowerCase()!= f?c.push(String.fromCharCode(65+Math.round(25*Math.random()))):f.toUpperCase()!=f?c.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(f)?c.push(" "):c.push("?"):c.push(b?"0":Math.round(9*Math.random()))}return c.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var b=0;b<a[EditorUi.DIFF_INSERT].length;b++)try{var c=mxUtils.parseXml(a[EditorUi.DIFF_INSERT][b].data).documentElement.cloneNode(!1);null!=c.getAttribute("name")&&c.setAttribute("name", @@ -8402,15 +8502,15 @@ b[d].getAttribute("id")&&b[d].setAttribute("id",d),a=new DiagramPage(b[d]),null= this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var f=urlParams["layer-ids"].split(" ");a={};for(d=0;d<f.length;d++)a[f[d]]=!0;for(var e=this.editor.graph.getModel(),g=e.getChildren(e.root),d=0;d<g.length;d++){var k=g[d];e.setVisible(k,a[k.id]||!1)}}catch(D){}};EditorUi.prototype.getBaseFilename=function(a){var b= this.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(b)||/(\.html)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.png)$/i.test(b)||/(\.drawio)$/i.test(b))b=b.substring(0,b.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(b=b+"-"+this.currentPage.getName());return b};EditorUi.prototype.downloadFile=function(a,b,c,d,e,g,k,l,n,q){try{d= null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(!e),m=f+"."+a;if("xml"==a){var p='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,null,null,d,e,null,null,null,b);this.saveData(m,a,p,"text/xml")}else if("html"==a)p=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(m,a,p,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?m=f+".png":"jpeg"==a&&(m=f+".jpg"),this.saveRequest(m, -a,mxUtils.bind(this,function(b,c){try{var f=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var m=this.createDownloadRequest(b,a,d,c,k,e,l,n,q);this.editor.graph.pageVisible=f;return m}catch(Q){this.handleError(Q)}}));else{var t=null,u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(m,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(t)}))});if("svg"== -a){var v=this.editor.graph.background;if(k||v==mxConstants.NONE)v=null;var y=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(y);this.convertImages(y,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else m=f+".svg",t=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop(); +a,mxUtils.bind(this,function(b,c){try{var f=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var m=this.createDownloadRequest(b,a,d,c,k,e,l,n,q);this.editor.graph.pageVisible=f;return m}catch(P){this.handleError(P)}}));else{var t=null,u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(m,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(t)}))});if("svg"== +a){var v=this.editor.graph.background;if(k||v==mxConstants.NONE)v=null;var x=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(x);this.convertImages(x,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else m=f+".svg",t=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop(); u(a)}),d)}}catch(H){this.handleError(H)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e,g,k,l,n){var f=this.editor.graph,m=f.getGraphBounds();c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var p="",t="";if(m.width*m.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};m="0";"pdf"==b&&0==g&&(t="&allPages=1");if("xmlpng"==b&&(m="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){p= "&from="+g;break}g=f.background;"png"==b&&e?g=mxConstants.NONE:e||null!=g&&g!=mxConstants.NONE||(g="#ffffff");e={globalVars:f.getExportVariables()};n&&(e.grid={size:f.gridSize,steps:f.view.gridSteps,color:f.view.gridColor});return new mxXmlRequest(EXPORT_URL,"format="+b+p+t+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+m+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(e))+(null!=k?"&scale="+k:"")+(null!=l?"&border="+ l:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this, function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var m=null!=a.interval?parseInt(a.interval):6E4,p=null,e=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),g()):this.handleError({message:mxResources.get("error")+ " "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(p);p=window.setTimeout(e,m)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();e()}));g();e()}null!=b&&b()});if(null!=a.url&&0<a.url.length){var m=a.url;/^https?:\/\//.test(m)&&!this.editor.isCorsEnabledForUrl(m)&&(m=PROXY_URL+"?url="+encodeURIComponent(m));this.loadUrl(m,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&& c(a)}))}else f("")};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||f.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){d.alert(a.tooltip)});return b}var c=null,d=this;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var f=this.editor.graph,e=f.getModel();e.beginUpdate();var g=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var k=e.getCell(a.getAttribute("id")); -if(null!=k){try{var l=a.getAttribute("value");if(null!=l){var n=mxUtils.parseXml(l).documentElement;if(null!=n)if("1"==n.getAttribute("replace-value"))e.setValue(k,n);else for(var z=n.attributes,B=0;B<z.length;B++)f.setAttributeForCell(k,z[B].nodeName,0<z[B].nodeValue.length?z[B].nodeValue:null)}}catch(J){null!=window.console&&console.log("Error in value for "+k.id+": "+J)}try{var C=a.getAttribute("style");null!=C&&f.model.setStyle(k,C)}catch(J){null!=window.console&&console.log("Error in style for "+ +if(null!=k){try{var l=a.getAttribute("value");if(null!=l){var n=mxUtils.parseXml(l).documentElement;if(null!=n)if("1"==n.getAttribute("replace-value"))e.setValue(k,n);else for(var y=n.attributes,B=0;B<y.length;B++)f.setAttributeForCell(k,y[B].nodeName,0<y[B].nodeValue.length?y[B].nodeValue:null)}}catch(J){null!=window.console&&console.log("Error in value for "+k.id+": "+J)}try{var C=a.getAttribute("style");null!=C&&f.model.setStyle(k,C)}catch(J){null!=window.console&&console.log("Error in style for "+ k.id+": "+J)}try{var q=a.getAttribute("icon");if(null!=q){var G=0<q.length?JSON.parse(q):null;null!=G&&G.append||f.removeCellOverlays(k);null!=G&&f.addCellOverlay(k,b(G))}}catch(J){null!=window.console&&console.log("Error in icon for "+k.id+": "+J)}try{var E=a.getAttribute("geometry");if(null!=E){var E=JSON.parse(E),K=f.getCellGeometry(k);if(null!=K){K=K.clone();for(key in E){var H=parseFloat(E[key]);"dx"==key?K.x+=H:"dy"==key?K.y+=H:"dw"==key?K.width+=H:"dh"==key?K.height+=H:K[key]=parseFloat(E[key])}f.model.setGeometry(k, K)}}}catch(J){null!=window.console&&console.log("Error in icon for "+k.id+": "+J)}}}else if("model"==a.nodeName){for(var F=a.firstChild;null!=F&&F.nodeType!=mxConstants.NODETYPE_ELEMENT;)F=F.nextSibling;null!=F&&(new mxCodec(a.firstChild)).decode(F,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(f.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))f.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"== a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return c};EditorUi.prototype.getCopyFilename=function(a,b){var c=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,d="",f=c.lastIndexOf(".");0<=f&&(d=c.substring(f),c=c.substring(0,f));if(b)var m=new Date,f=m.getFullYear(),e=m.getMonth()+1,g=m.getDate(),k=m.getHours(),l=m.getMinutes(),m=m.getSeconds(),c= @@ -8418,9 +8518,9 @@ c+(" "+(f+"-"+e+"-"+g+"-"+k+"-"+l+"-"+m));return c=mxResources.get("copyOf",[c]) this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);!b&&null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.editor.setStatus("");this.updateUi();b||this.showSplash()});if(null!=a)try{mxClient.IS_SF&&"min"==uiTheme&&(this.diagramContainer.style.visibility="");this.openingFile=!0; this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();delete this.openingFile;this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.graph.model.prefix=Editor.guid()+"-";this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();a.isEditable()?a.isModified()?(a.addUnsavedStatus(),null!=a.backupPatch&&a.patch([a.backupPatch])):this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+ mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>");!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||EditorUi.logEvent({category:a.getMode().toUpperCase()+"-OPEN-FILE-"+ -a.getHash(),action:"size_"+a.getSize(),label:"autosave_"+(this.editor.autosave?"on":"off")});EditorUi.debug("File.opened",[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(x){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(x){}}catch(x){this.fileLoadedError=x;null!=window.console&&(console.error(x),console.log("error in fileLoaded:", -a,x));if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=x&&null!=x.message?":err:"+encodeURIComponent(x.message):"")+(null!=x&&null!=x.stack?"&stack="+encodeURIComponent(x.stack):"")}catch(y){}var m=mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))? -window.location.search=this.getSearch(["url"]):null!=c?this.fileLoaded(c):f()});b?m():this.handleError(x,mxResources.get("errorLoadingFile"),m,!0)}else f();return d};EditorUi.prototype.getHashValueForPages=function(a,b){var c=0,d=new mxGraphModel,f=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var m=0;m<a.length;m++){this.updatePageRoot(a[m]);var e=a[m].node.cloneNode(!1);e.removeAttribute("name");d.root=a[m].root;var g=f.encode(d);this.editor.graph.saveViewState(a[m].viewState, +a.getHash(),action:"size_"+a.getSize(),label:"autosave_"+(this.editor.autosave?"on":"off")});EditorUi.debug("File.opened",[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(z){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(z){}}catch(z){this.fileLoadedError=z;null!=window.console&&(console.error(z),console.log("error in fileLoaded:", +a,z));if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=z&&null!=z.message?":err:"+encodeURIComponent(z.message):"")+(null!=z&&null!=z.stack?"&stack="+encodeURIComponent(z.stack):"")}catch(x){}var m=mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))? +window.location.search=this.getSearch(["url"]):null!=c?this.fileLoaded(c):f()});b?m():this.handleError(z,mxResources.get("errorLoadingFile"),m,!0)}else f();return d};EditorUi.prototype.getHashValueForPages=function(a,b){var c=0,d=new mxGraphModel,f=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var m=0;m<a.length;m++){this.updatePageRoot(a[m]);var e=a[m].node.cloneNode(!1);e.removeAttribute("name");d.root=a[m].root;var g=f.encode(d);this.editor.graph.saveViewState(a[m].viewState, g,!0);g.removeAttribute("pageWidth");g.removeAttribute("pageHeight");e.appendChild(g);null!=b&&(b.eltCount+=e.getElementsByTagName("*").length,b.nodeCount+=e.getElementsByTagName("mxCell").length);c=(c<<5)-c+this.hashValue(e,function(a,b,c,d){return!d||"mxGeometry"!=a.nodeName&&"mxPoint"!=a.nodeName||"x"!=b&&"y"!=b&&"width"!=b&&"height"!=b?d&&"mxCell"==a.nodeName&&"previous"==b?null:c:Math.round(c)},b)<<0}return c};EditorUi.prototype.hashValue=function(a,b,c){var d=0;if(null!=a&&"object"===typeof a&& "number"===typeof a.nodeType&&"string"===typeof a.nodeName&&"function"===typeof a.getAttribute){null!=a.nodeName&&(d^=this.hashValue(a.nodeName,b,c));if(null!=a.attributes){null!=c&&(c.attrCount+=a.attributes.length);for(var f=0;f<a.attributes.length;f++){var m=a.attributes[f].name,e=null!=b?b(a,m,a.attributes[f].value,!0):a.attributes[f].value;null!=e&&(d^=this.hashValue(m,b,c)+this.hashValue(e,b,c))}}if(null!=a.childNodes)for(f=0;f<a.childNodes.length;f++)d=(d<<5)-d+this.hashValue(a.childNodes[f], b,c)<<0}else if(null!=a&&"function"!==typeof a){a=String(a);b=0;null!=c&&(c.byteCount+=a.length);for(f=0;f<a.length;f++)b=(b<<5)-b+a.charCodeAt(f)<<0;d^=b}return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,d,e,g,k){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad? @@ -8429,18 +8529,18 @@ LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title null!=a?a:b.firstChild.nextSibling.nextSibling;var c=b.lastChild,d=c.previousSibling;b.insertBefore(c,a);b.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(a){var b=mxUtils.parseXml(a.getData());if("mxlibrary"==b.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(b.documentElement));this.libraryLoaded(a,c,b.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded= function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,m=mxUtils.bind(this,function(b,c){0==b.length&&a.isEditable()?(null==f&&(f=document.createElement("div"),f.className="geDropTarget",mxUtils.write(f,mxResources.get("dragElementsHere"))),c.appendChild(f)):this.addLibraryEntries(b, c)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);c=null!=c&&0<c.length?c:a.getTitle();var e=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){m(b,a)}));this.repositionLibrary(d);var p=e.parentNode.previousSibling;c=p.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&p.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var g=document.createElement("div");g.style.position="absolute";g.style.right="0px";g.style.top="0px";g.style.padding="8px"; -mxClient.IS_QUIRKS||8==document.documentMode||(g.style.backgroundColor="inherit");p.style.position="relative";var k=document.createElement("img");k.setAttribute("src",Dialog.prototype.closeImage);k.setAttribute("title",mxResources.get("close"));k.setAttribute("valign","absmiddle");k.setAttribute("border","0");k.style.cursor="pointer";k.style.margin="0 3px";var z=null;if(".scratchpad"!=a.title||this.closableScratchpad)g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c= -mxUtils.bind(this,function(){this.closeLibrary(a)});null!=z?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var l=this.editor.graph,n=null,q=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),e,b,a,a.getMode());mxEvent.consume(c)}),G=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n),n=k.cloneNode(!1), -n.setAttribute("src",Editor.spinImage),n.setAttribute("title",mxResources.get("saving")),n.style.cursor="default",n.style.marginRight="2px",n.style.marginTop="-2px",g.insertBefore(n,g.firstChild),p.style.paddingRight=18*g.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=n&&null!=n.parentNode&&(n.parentNode.removeChild(n),p.style.paddingRight=18*g.childNodes.length+"px")})):null==z&&(z=k.cloneNode(!1),z.setAttribute("src",IMAGE_PATH+"/download.png"),z.setAttribute("title", -mxResources.get("save")),g.insertBefore(z,g.firstChild),mxEvent.addListener(z,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==z||a.isModified()||(p.style.paddingRight=18*g.childNodes.length+"px",z.parentNode.removeChild(z),z=null)});mxEvent.consume(c)})),p.style.paddingRight=18*g.childNodes.length+"px")}),E=mxUtils.bind(this,function(a,c,d,m){a=l.cloneCells(mxUtils.sortCells(l.model.getTopmostCells(a)));for(var p= +mxClient.IS_QUIRKS||8==document.documentMode||(g.style.backgroundColor="inherit");p.style.position="relative";var k=document.createElement("img");k.setAttribute("src",Dialog.prototype.closeImage);k.setAttribute("title",mxResources.get("close"));k.setAttribute("valign","absmiddle");k.setAttribute("border","0");k.style.cursor="pointer";k.style.margin="0 3px";var y=null;if(".scratchpad"!=a.title||this.closableScratchpad)g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c= +mxUtils.bind(this,function(){this.closeLibrary(a)});null!=y?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var l=this.editor.graph,n=null,q=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),e,b,a,a.getMode());mxEvent.consume(c)}),G=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n),n=k.cloneNode(!1), +n.setAttribute("src",Editor.spinImage),n.setAttribute("title",mxResources.get("saving")),n.style.cursor="default",n.style.marginRight="2px",n.style.marginTop="-2px",g.insertBefore(n,g.firstChild),p.style.paddingRight=18*g.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=n&&null!=n.parentNode&&(n.parentNode.removeChild(n),p.style.paddingRight=18*g.childNodes.length+"px")})):null==y&&(y=k.cloneNode(!1),y.setAttribute("src",IMAGE_PATH+"/download.png"),y.setAttribute("title", +mxResources.get("save")),g.insertBefore(y,g.firstChild),mxEvent.addListener(y,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==y||a.isModified()||(p.style.paddingRight=18*g.childNodes.length+"px",y.parentNode.removeChild(y),y=null)});mxEvent.consume(c)})),p.style.paddingRight=18*g.childNodes.length+"px")}),E=mxUtils.bind(this,function(a,c,d,m){a=l.cloneCells(mxUtils.sortCells(l.model.getTopmostCells(a)));for(var p= 0;p<a.length;p++){var g=l.getCellGeometry(a[p]);null!=g&&g.translate(-c.x,-c.y)}e.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,m||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=m&&(a.title=m);b.push(a);G(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),K=mxUtils.bind(this,function(a){if(l.isSelectionEmpty())l.getRubberband().isActive()?(l.getRubberband().execute(a),l.getRubberband().reset()): this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=l.getSelectionCells(),c=l.view.getBounds(b),d=l.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=l.view.translate.x;c.y-=l.view.translate.y;E(b,c)}mxEvent.consume(a)});mxEvent.addGestureListeners(e,function(){},mxUtils.bind(this,function(a){l.isMouseDown&&null!=l.panningManager&&null!=l.graphHandler.first&&(l.graphHandler.suspend(),null!=l.graphHandler.hint&&(l.graphHandler.hint.style.visibility= "hidden"),e.style.backgroundColor="#f1f3f4",e.style.cursor="copy",l.panningManager.stop(),l.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){l.isMouseDown&&null!=l.panningManager&&null!=l.graphHandler&&(e.style.backgroundColor="",e.style.cursor="default",this.sidebar.showTooltips=!0,l.panningManager.stop(),l.graphHandler.reset(),l.isMouseDown=!1,l.autoScroll=!0,K(a),mxEvent.consume(a))}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){l.isMouseDown&&null!=l.graphHandler.first&& (l.graphHandler.resume(),null!=l.graphHandler.hint&&(l.graphHandler.hint.style.visibility="visible"),e.style.backgroundColor="",e.style.cursor="",l.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){e.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";e.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){e.style.cursor="";e.style.backgroundColor= -"";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,p,g,k,t,z,l,n){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,t),c)],c[0].vertex=!0,E(c,new mxRectangle(0,0,k,t),a,mxEvent.isAltDown(a)?null:z.substring(0,z.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f), -f=null);else{var u=!1,v=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var p=mxUtils.parseXml(c);if("mxlibrary"==p.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(p.documentElement));m(g,e);b=b.concat(g);G(a);this.spinner.stop();u=!0}catch(R){}else if("mxfile"==p.documentElement.nodeName)try{for(var k=p.documentElement.getElementsByTagName("diagram"),p=0;p<k.length;p++){var t=this.stringToCells(Editor.getDiagramNodeXml(k[p])),z=this.editor.graph.getBoundingBoxFromGeometry(t); -E(t,new mxRectangle(0,0,z.width,z.height),a)}u=!0}catch(R){null!=window.console&&console.log("error in drop handler:",R)}}u||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=n&&null!=z&&(/(\.v(dx|sdx?))($|\?)/i.test(z)||/(\.vs(x|sx?))($|\?)/i.test(z))?this.importVisio(n,function(a){v(a,"text/xml")},null,z):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c, -z)&&null!=n?this.parseFile(n,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"dragleave",function(a){e.style.cursor="";e.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));k=k.cloneNode(!1);k.setAttribute("src", +"";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,p,g,k,t,y,l,n){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,t),c)],c[0].vertex=!0,E(c,new mxRectangle(0,0,k,t),a,mxEvent.isAltDown(a)?null:y.substring(0,y.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f), +f=null);else{var u=!1,v=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var p=mxUtils.parseXml(c);if("mxlibrary"==p.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(p.documentElement));m(g,e);b=b.concat(g);G(a);this.spinner.stop();u=!0}catch(Q){}else if("mxfile"==p.documentElement.nodeName)try{for(var k=p.documentElement.getElementsByTagName("diagram"),p=0;p<k.length;p++){var t=this.stringToCells(Editor.getDiagramNodeXml(k[p])),y=this.editor.graph.getBoundingBoxFromGeometry(t); +E(t,new mxRectangle(0,0,y.width,y.height),a)}u=!0}catch(Q){null!=window.console&&console.log("error in drop handler:",Q)}}u||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=n&&null!=y&&(/(\.v(dx|sdx?))($|\?)/i.test(y)||/(\.vs(x|sx?))($|\?)/i.test(y))?this.importVisio(n,function(a){v(a,"text/xml")},null,y):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c, +y)&&null!=n?this.parseFile(n,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"dragleave",function(a){e.style.cursor="";e.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));k=k.cloneNode(!1);k.setAttribute("src", Editor.editImage);k.setAttribute("title",mxResources.get("edit"));g.insertBefore(k,g.firstChild);mxEvent.addListener(k,"click",q);mxEvent.addListener(e,"dblclick",function(a){mxEvent.getSource(a)==e&&q(a)});c=k.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));g.insertBefore(c,g.firstChild);mxEvent.addListener(c,"click",K);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title", mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),g.insertBefore(c,g.firstChild))}p.appendChild(g);p.style.paddingRight=18*g.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],f=d.data;if(null!=f){var f=this.convertDataUri(f),m="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;"; "fixed"==d.aspect&&(m+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(m+"image="+f,d.w,d.h,"",d.title||"",!1,!1,!0))}else null!=d.xml&&(f=this.stringToCells(Graph.decompress(d.xml)),0<f.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(f,d.w,d.h,d.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.offline||EditorUi.isElectronApp||("1"==urlParams.savesidebar&& @@ -8464,7 +8564,7 @@ b,c,d){var f=a.toDataURL("image/"+c);if(6>=f.length||f==a.cloneNode(!1).toDataUR function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var c=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));c.textarea.style.width="600px";c.textarea.style.height="380px";this.showDialog(c.container,620,460,!0,!0,null,null,null, null,!0);c.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else{var f=document.createElement("a"),m=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&& "undefined"!==typeof f.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),m=65==(g?parseInt(g[2],10):!1)?!1:m;if(m||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));m?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.click(),f.parentNode.removeChild(f)}catch(D){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}}; -EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),m=0;m<f;++m){for(var g=1024*m,k=Math.min(g+1024,d),l=Array(k-g),z=0;g<k;++z,++g)l[z]=c[g].charCodeAt(0);e[m]=new Uint8Array(l)}return new Blob(e, +EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),m=0;m<f;++m){for(var g=1024*m,k=Math.min(g+1024,d),l=Array(k-g),y=0;g<k;++y,++g)l[y]=c[g].charCodeAt(0);e[m]=new Uint8Array(l)}return new Blob(e, {type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,g,k){g=null!=g?g:!1;k=null!=k?k:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);isLocalStorage&&e++;var f=4>=e?2:6<e?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(b,f){try{if("_blank"==f)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var e=window.open("about:blank");null==e?mxUtils.popup(a,!0):(e.document.write("<pre>"+mxUtils.htmlEntities(a,!1)+"</pre>"), e.document.close())}else this.openInNewWindow(a,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(f,mxUtils.bind(this,function(e){try{this.exportFile(a,b,c,d,f,e)}catch(C){this.handleError(C)}}))}catch(B){this.handleError(B)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,k,null,1<e,f,a,c,d);g=this.isServices(e)?e>f?390:270:160;this.showDialog(b.container,400,g,!0,!0);b.init()}; EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||mxClient.IS_FF||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d||null==d.document?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img style="max-width:100%;" src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+ @@ -8487,30 +8587,30 @@ d.style.width="100px";d.style.marginLeft="8px";d.style.marginRight="10px";d.clas (f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(f));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",m=null,m=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;c()});mxEvent.consume(a)}));c();m.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";m.style.marginLeft="4px";m.style.height="22px";m.style.width= "22px";m.style.position="relative";m.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";m.className="geColorBtn";a.appendChild(m);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,g,k,l){var f=this.getCurrentFile(),m=[];d&&(m.push("lightbox=1"),"auto"!=a&&m.push("target="+a),null!=b&&b!=mxConstants.NONE&&m.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)), null!=e&&0<e.length&&m.push("edit="+encodeURIComponent(e)),g&&m.push("layers=1"),this.editor.graph.foldingEnabled&&m.push("nav=1"));c&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&m.push("page-id="+this.currentPage.getId());a=!0;null!=k?c="#U"+encodeURIComponent(k):(f=this.getCurrentFile(),l||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))): -(c="#"+f.getHash(),a=!1));a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&m.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<m.length?"?"+m.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,g,k,l,n,q,z){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);n||(f.lightbox= +(c="#"+f.getHash(),a=!1));a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&m.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<m.length?"?"+m.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,g,k,l,n,q,y){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);n||(f.lightbox= !1);f.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];k&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),f.resize=!0);l&&c.push("layers");0<c.length&&(n&&c.push("lightbox"),f.toolbar=c.join(" "));null!=q&&0<q.length&&(f.edit=q);null!=a?f.url=a:f.xml=this.getFileData(!0,null,null,null,null,!k);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;": -"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";z(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var f=document.createElement("div"); +"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";y(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var f=document.createElement("div"); f.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("html"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(e);var m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name", "type-embedhtmldialog");e=g.cloneNode(!0);e.setAttribute("value","copy");m.appendChild(e);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));m.appendChild(k);mxUtils.br(m);m.appendChild(g);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));m.appendChild(k);var p=this.getCurrentFile();null==c&&null!=p&&p.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href", -"javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),m.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));e.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");f.appendChild(m);var l=this.addLinkSection(f),n=this.addCheckbox(f,mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px"; -u.style.width="60px";u.style.marginLeft="4px";u.style.marginRight="12px";u.value="100%";f.appendChild(u);var q=this.addCheckbox(f,mxResources.get("fit"),!0),m=null!=this.pages&&1<this.pages.length,G=G=this.addCheckbox(f,mxResources.get("allPages"),m,!m),E=this.addCheckbox(f,mxResources.get("layers"),!0),K=this.addCheckbox(f,mxResources.get("lightbox"),!0),H=this.addEditButton(f,K),F=H.getEditInput();F.style.marginBottom="16px";mxEvent.addListener(K,"change",function(){K.checked?F.removeAttribute("disabled"): -F.setAttribute("disabled","disabled");F.checked&&K.checked?H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){d(g.checked?c:null,n.checked,u.value,l.getTarget(),l.getColor(),q.checked,G.checked,E.checked,K.checked,H.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);e.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace= +"javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),m.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));e.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");f.appendChild(m);var y=this.addLinkSection(f),l=this.addCheckbox(f,mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,":");var n=document.createElement("input");n.setAttribute("type","text");n.style.marginRight="16px"; +n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="12px";n.value="100%";f.appendChild(n);var u=this.addCheckbox(f,mxResources.get("fit"),!0),m=null!=this.pages&&1<this.pages.length,q=q=this.addCheckbox(f,mxResources.get("allPages"),m,!m),E=this.addCheckbox(f,mxResources.get("layers"),!0),K=this.addCheckbox(f,mxResources.get("lightbox"),!0),H=this.addEditButton(f,K),F=H.getEditInput();F.style.marginBottom="16px";mxEvent.addListener(K,"change",function(){K.checked?F.removeAttribute("disabled"): +F.setAttribute("disabled","disabled");F.checked&&K.checked?H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){d(g.checked?c:null,l.checked,n.value,y.getTarget(),y.getColor(),u.checked,q.checked,E.checked,K.checked,H.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);e.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace= "nowrap";var m=document.createElement("h3");mxUtils.write(m,a||mxResources.get("link"));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(m);var k=this.getCurrentFile(),m="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=k&&k.constructor==window.DriveFile&&!b){a=80;var m="https://desk.draw.io/support/solutions/articles/16000039384",p=document.createElement("div");p.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; -var l=document.createElement("div");l.style.whiteSpace="normal";mxUtils.write(l,mxResources.get("linkAccountRequired"));p.appendChild(l);l=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));l.style.marginTop="12px";l.className="geBtn";p.appendChild(l);f.appendChild(p);l=document.createElement("a");l.style.paddingLeft="12px";l.style.color="gray";l.style.fontSize="11px";l.setAttribute("href","javascript:void(0);");mxUtils.write(l,mxResources.get("check")); -p.appendChild(l);mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var t=null,n=null;if(null!=c||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),t=document.createElement("input"), -t.setAttribute("type","text"),t.style.marginRight="16px",t.style.width="50px",t.style.marginLeft="6px",t.style.marginRight="16px",t.style.marginBottom="10px",t.value="100%",f.appendChild(t),mxUtils.write(f,mxResources.get("height")+":"),n=document.createElement("input"),n.setAttribute("type","text"),n.style.width="50px",n.style.marginLeft="6px",n.style.marginBottom="10px",n.value=d+"px",f.appendChild(n),mxUtils.br(f);var u=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var v=null; -if(null==k||k.constructor!=window.DriveFile||b)v=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var q=this.addCheckbox(f,mxResources.get("lightbox"),!0),K=this.addEditButton(f,q),H=K.getEditInput(),F=this.addCheckbox(f,mxResources.get("layers"),!0);F.style.marginLeft=H.style.marginLeft;F.style.marginBottom="16px";F.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(F.removeAttribute("disabled"),H.removeAttribute("disabled")):(F.setAttribute("disabled","disabled"),H.setAttribute("disabled", -"disabled"));H.checked&&q.checked?K.getEditSelect().removeAttribute("disabled"):K.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(u.getTarget(),u.getColor(),null==v?!0:v.checked,q.checked,K.getLink(),F.checked,null!=t?t.value:null,null!=n?n.value:null)}),null,mxResources.get("create"),m);this.showDialog(b.container,340,254+a,!0,!0);null!=t?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): -document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxResources.get("image"));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(e?"10":"4")+"px";f.appendChild(m);if(e){mxUtils.write(f,mxResources.get("zoom")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.marginRight= +var y=document.createElement("div");y.style.whiteSpace="normal";mxUtils.write(y,mxResources.get("linkAccountRequired"));p.appendChild(y);y=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));y.style.marginTop="12px";y.className="geBtn";p.appendChild(y);f.appendChild(p);y=document.createElement("a");y.style.paddingLeft="12px";y.style.color="gray";y.style.fontSize="11px";y.setAttribute("href","javascript:void(0);");mxUtils.write(y,mxResources.get("check")); +p.appendChild(y);mxEvent.addListener(y,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,t=null;if(null!=c||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),l=document.createElement("input"), +l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",f.appendChild(l),mxUtils.write(f,mxResources.get("height")+":"),t=document.createElement("input"),t.setAttribute("type","text"),t.style.width="50px",t.style.marginLeft="6px",t.style.marginBottom="10px",t.value=d+"px",f.appendChild(t),mxUtils.br(f);var n=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var u=null; +if(null==k||k.constructor!=window.DriveFile||b)u=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(f,mxResources.get("lightbox"),!0),q=this.addEditButton(f,v),H=q.getEditInput(),F=this.addCheckbox(f,mxResources.get("layers"),!0);F.style.marginLeft=H.style.marginLeft;F.style.marginBottom="16px";F.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(F.removeAttribute("disabled"),H.removeAttribute("disabled")):(F.setAttribute("disabled","disabled"),H.setAttribute("disabled", +"disabled"));H.checked&&v.checked?q.getEditSelect().removeAttribute("disabled"):q.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(n.getTarget(),n.getColor(),null==u?!0:u.checked,v.checked,q.getLink(),F.checked,null!=l?l.value:null,null!=t?t.value:null)}),null,mxResources.get("create"),m);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select(): +document.execCommand("selectAll",!1,null)):n.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxResources.get("image"));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(e?"10":"4")+"px";f.appendChild(m);if(e){mxUtils.write(f,mxResources.get("zoom")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.marginRight= "16px";g.style.width="60px";g.style.marginLeft="4px";g.style.marginRight="12px";g.value=this.lastExportZoom||"100%";f.appendChild(g);mxUtils.write(f,mxResources.get("borderWidth")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.marginRight="16px";k.style.width="60px";k.style.marginLeft="4px";k.value=this.lastExportBorder||"0";f.appendChild(k);mxUtils.br(f)}var p=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),l=d?null:this.addCheckbox(f, mxResources.get("includeCopyOfMyDiagram"),!0),m=this.editor.graph,n=d?null:this.addCheckbox(f,mxResources.get("transparentBackground"),m.background==mxConstants.NONE||null==m.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,f,mxUtils.bind(this,function(){var a=parseInt(g.value)/100||1,b=parseInt(k.value)||0;c(!p.checked,null!=l?l.checked:!1,null!=n?n.checked:!1,a,b)}),null,a,b);this.showDialog(a.container,300,(e?25:0)+(d?125:210),!0,!0)};EditorUi.prototype.showExportDialog= function(a,b,c,d,e,g,k,l){k=null!=k?k:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var m=this.editor.graph,p="jpeg"==l?196:300,n=document.createElement("h3");mxUtils.write(n,a);n.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(n);mxUtils.write(f,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight= -"12px";t.value=this.lastExportZoom||"100%";f.appendChild(t);mxUtils.write(f,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";f.appendChild(u);mxUtils.br(f);var v=this.addCheckbox(f,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=l),q=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,m.isSelectionEmpty()),y=document.createElement("input"); -y.style.marginTop="16px";y.style.marginRight="8px";y.style.marginLeft="24px";y.setAttribute("disabled","disabled");y.setAttribute("type","checkbox");g&&(f.appendChild(y),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),p+=26,mxEvent.addListener(q,"change",function(){q.checked?y.removeAttribute("disabled"):y.setAttribute("disabled","disabled")}));m.isSelectionEmpty()||(y.setAttribute("checked","checked"),y.defaultChecked=!0);var x=this.addCheckbox(f,mxResources.get("shadow"),m.shadowVisible), +"12px";t.value=this.lastExportZoom||"100%";f.appendChild(t);mxUtils.write(f,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";f.appendChild(u);mxUtils.br(f);var v=this.addCheckbox(f,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=l),q=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,m.isSelectionEmpty()),x=document.createElement("input"); +x.style.marginTop="16px";x.style.marginRight="8px";x.style.marginLeft="24px";x.setAttribute("disabled","disabled");x.setAttribute("type","checkbox");g&&(f.appendChild(x),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),p+=26,mxEvent.addListener(q,"change",function(){q.checked?x.removeAttribute("disabled"):x.setAttribute("disabled","disabled")}));m.isSelectionEmpty()||(x.setAttribute("checked","checked"),x.defaultChecked=!0);var z=this.addCheckbox(f,mxResources.get("shadow"),m.shadowVisible), F=document.createElement("input");F.style.marginTop="16px";F.style.marginRight="8px";F.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||F.setAttribute("disabled","disabled");b&&(f.appendChild(F),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),p+=26);var J=null;if("png"==l||"jpeg"==l)J=this.addCheckbox(f,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),p+=26;var N=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),k,null,null, -"jpeg"!=l),Q=null!=this.pages&&1<this.pages.length,Y=this.addCheckbox(f,Q?mxResources.get("allPages"):"",Q,!Q,null,"jpeg"!=l);Y.style.marginLeft="24px";Y.style.marginBottom="16px";Q||(Y.style.display="none");mxEvent.addListener(N,"change",function(){N.checked&&Q?Y.removeAttribute("disabled"):Y.setAttribute("disabled","disabled")});k&&Q||Y.setAttribute("disabled","disabled");var T=document.createElement("select");T.style.maxWidth="260px";T.style.marginLeft="8px";T.style.marginRight="10px";T.className= +"jpeg"!=l),P=null!=this.pages&&1<this.pages.length,Y=this.addCheckbox(f,P?mxResources.get("allPages"):"",P,!P,null,"jpeg"!=l);Y.style.marginLeft="24px";Y.style.marginBottom="16px";P||(Y.style.display="none");mxEvent.addListener(N,"change",function(){N.checked&&P?Y.removeAttribute("disabled"):Y.setAttribute("disabled","disabled")});k&&P||Y.setAttribute("disabled","disabled");var T=document.createElement("select");T.style.maxWidth="260px";T.style.marginLeft="8px";T.style.marginRight="10px";T.className= "geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));T.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));T.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));T.appendChild(a);"svg"==l&&(mxUtils.write(f,mxResources.get("links")+":"),f.appendChild(T),mxUtils.br(f),mxUtils.br(f), -p+=26);c=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=t.value;e(t.value,v.checked,!q.checked,x.checked,N.checked,F.checked,u.value,y.checked,!Y.checked,T.value,null!=J?J.checked:null)}),null,c,d);this.showDialog(c.container,340,p,!0,!0,null,null,null,null,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a, +p+=26);c=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=t.value;e(t.value,v.checked,!q.checked,z.checked,N.checked,F.checked,u.value,x.checked,!Y.checked,T.value,null!=J?J.checked:null)}),null,c,d);this.showDialog(c.container,340,p,!0,!0,null,null,null,null,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a, b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var m=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";f.appendChild(g)}var k=this.addCheckbox(f,mxResources.get("fit"),!0),p=this.addCheckbox(f,mxResources.get("shadow"),m.shadowVisible&&d,!d),l=this.addCheckbox(f,c),n=this.addCheckbox(f,mxResources.get("lightbox"),!0),u=this.addEditButton(f,n),v=u.getEditInput(), q=1<m.model.getChildCount(m.model.getRoot()),E=this.addCheckbox(f,mxResources.get("layers"),q,!q);E.style.marginLeft=v.style.marginLeft;E.style.marginBottom="12px";E.style.marginTop="8px";mxEvent.addListener(n,"change",function(){n.checked?(q&&E.removeAttribute("disabled"),v.removeAttribute("disabled")):(E.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&n.checked?u.getEditSelect().removeAttribute("disabled"):u.getEditSelect().setAttribute("disabled","disabled")}); b=new CustomDialog(this,f,mxUtils.bind(this,function(){a(k.checked,p.checked,l.checked,n.checked,u.getLink(),E.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,g,k,l){function f(b){var f=" ",p="";d&&(f=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ @@ -8522,216 +8622,216 @@ EditorUi.drawHost+"/?client=1&lightbox=1"+(e?"&edit=_blank":"")+(g?"&layers=1":" a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"== a.nodeName){var d=a.getElementsByTagName("diagram");if(0<d.length){var c=d[0],f=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:f.apply(this,arguments)}}}null!=c&&(a=Editor.parseDiagramNode(c))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(t){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){try{var d=this.editor.graph,f=null;if(null!= c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),f=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),e=d.getGlobalVariable,m=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?m.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container); -d.model.setRoot(m.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"tEXt","mxfile",encodeURIComponent(f));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(I){null!=b&&b(I)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)}catch(y){null!= -b&&b(y)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,g,k){k=b.background;k==mxConstants.NONE&&(k=null);g=b.getSvg(k,null,null,null,null,g);b.shadowVisible&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=e)this.convertImages(g,mxUtils.bind(this,function(a){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(d? -"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.exportImage=function(a,b,c,d,e,g,k,l,n,q,z){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a, -e?this.getFileData(!0,null,null,null,c,l):null,n,null==this.pages||0==this.pages.length,z)}catch(A){"Invalid image"==A.message?this.downloadFile(n):this.handleError(A)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,k,q)}catch(C){this.spinner.stop(),this.handleError(C)}}};EditorUi.prototype.embedCssFonts=function(a,b){function c(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")} +d.model.setRoot(m.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"tEXt","mxfile",encodeURIComponent(f));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(I){null!=b&&b(I)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)}catch(x){null!= +b&&b(x)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,g,k){k=b.background;k==mxConstants.NONE&&(k=null);g=b.getSvg(k,null,null,null,null,g);b.shadowVisible&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=e)this.convertImages(g,mxUtils.bind(this,function(a){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(d? +"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.exportImage=function(a,b,c,d,e,g,k,l,n,q,y){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a, +e?this.getFileData(!0,null,null,null,c,l):null,n,null==this.pages||0==this.pages.length,y)}catch(A){"Invalid image"==A.message?this.downloadFile(n):this.handleError(A)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,k,q)}catch(C){this.spinner.stop(),this.handleError(C)}}};EditorUi.prototype.embedCssFonts=function(a,b){function c(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")} var d=a.split("url("),f=0;null==this.cachedFonts&&(this.cachedFonts={});var e=mxUtils.bind(this,function(){if(0==f){for(var a=[d[0]],e=1;e<d.length;e++){var m=d[e].indexOf(")");a.push('url("');a.push(this.cachedFonts[c(d[e].substring(0,m))]);a.push('"'+d[e].substring(m))}b(a.join(""))}});if(0<d.length){for(var m=1;m<d.length;m++){var g=d[m].indexOf(")"),k=null,l=d[m].indexOf("format(",g);0<l&&(k=c(d[m].substring(l+7,d[m].indexOf(")",l))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]= a;f++;var b="application/x-font-ttf";if("svg"==k||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==k||"embedded-opentype"==k||/(\.otf)($|\?)/i.test(a))b="application/x-font-opentype";else if("woff"==k||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==k||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==k||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==k||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var c=a;/^https?:\/\//.test(c)&& !this.editor.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){this.cachedFonts[a]=b;f--;e()}),mxUtils.bind(this,function(a){f--;e()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(c(d[m].substring(0,g)),k)}e()}else b(a)};EditorUi.prototype.loadFonts=function(a){null!=this.editor.fontCss&&null==this.editor.resolvedFontCss?this.embedCssFonts(this.editor.fontCss,mxUtils.bind(this,function(b){this.editor.resolvedFontCss=b;a()})):a()};EditorUi.prototype.embedExtFonts= function(a){var b=this.editor.graph.extFonts;if(null!=b&&0<b.length){var c="",d=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var f=mxUtils.bind(this,function(){0==d&&this.embedCssFonts(c,a)}),e=0;e<b.length;e++){var g=b[e].name,k=b[e].url;0==k.indexOf(Editor.GOOGLE_FONTS)?null==this.cachedGoogleFonts[k]?(d++,this.loadUrl(k,mxUtils.bind(this,function(a){this.cachedGoogleFonts[k]=a;c+=a;d--;f()}),mxUtils.bind(this,function(a){d--;c+="@import url("+k+");";f()}))):c+=this.cachedGoogleFonts[k]: -c+='@font-face {font-family: "'+g+'";src: url("'+k+'");}'}f()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,k,l,n,q,z,B,C,A,G){try{g=null!=g?g:!0;k=null!=k?k:!0;B=null!=B?B:this.editor.graph;C=null!=C?C:0;var f=n?null:B.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==n&&(f="#ffffff");this.convertImages(B.getSvg(null,null,null,A,null,k,null,null,null,q),mxUtils.bind(this,function(c){try{var d=new Image;d.onload=mxUtils.bind(this,function(){try{var m=function(){mxClient.IS_SF? -window.setTimeout(function(){t.drawImage(d,C/l,C/l);a(k)},0):(t.drawImage(d,C/l,C/l),a(k))},k=document.createElement("canvas"),p=parseInt(c.getAttribute("width")),n=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=g?Math.min(1,Math.min(3*b/(4*n),b/p)):b/p);p=Math.ceil(l*p)+2*C;n=Math.ceil(l*n)+2*C;k.setAttribute("width",p);k.setAttribute("height",n);var t=k.getContext("2d");null!=f&&(t.beginPath(),t.rect(0,0,p,n),t.fillStyle=f,t.fill());t.scale(l,l);if(G){var z=B.view,u=btoa(unescape(encodeURIComponent(z.createSvgGrid(z.gridColor)))), -u="data:image/svg+xml;base64,"+u,q=B.gridSize*z.gridSteps*l,v=B.getGraphBounds(),y=v.x*l,x=v.y*l,A=new Image;A.src=u;A.onload=function(){for(var a=-Math.round(q-mxUtils.mod(z.translate.x*l-y,q)),b=-Math.round(q-mxUtils.mod(z.translate.y*l-x,q));a<p;a+=q)for(var c=b;c<n;c+=q)t.drawImage(A,a/l,c/l);m()}}else m()}catch(P){null!=e&&e(P)}});d.onerror=function(a){null!=e&&e(a)};q&&this.editor.graph.addSvgShadow(c);var m=function(a){var b=document.createElement("style");b.setAttribute("type","text/css"); -b.innerHTML=a;a=c.getElementsByTagName("defs");0==a.length?(a=null!=svgDoc.createElementNS?svgDoc.createElementNS(mxConstants.NS_SVG,"defs"):svgDoc.createElement("defs"),null!=c.firstChild?c.insertBefore(a,c.firstChild):c.appendChild(a)):a=a[0];a.appendChild(b)},k=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&m(this.editor.resolvedFontCss),this.editor.graph.mathEnabled&&this.editor.addMathCss(c),d.src=this.createSvgDataUri(mxUtils.getXml(c))}catch(N){null!=e&&e(N)}});this.embedExtFonts(mxUtils.bind(this, -function(a){try{null!=a&&m(a),this.loadFonts(k)}catch(Q){null!=e&&e(Q)}}))}catch(N){null!=e&&e(N)}}),c,z)}catch(K){null!=e&&e(K)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0,7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"== -d.substring(0,19)||mxClient.IS_CHROMEAPP||(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,g){for(var m=a.getElementsByTagName(c),k=0;k<m.length;k++)mxUtils.bind(this,function(c){try{if(null!=c){var m=d.convert(c.getAttribute(g));if(null!=m&&"data:"!=m.substring(0,5)){var k=e[m];null==k?(f++,this.convertImageToDataUri(m, -function(d){null!=d&&(e[m]=d,c.setAttribute(g,d));f--;0==f&&b(a)})):c.setAttribute(g,k)}else null!=m&&c.setAttribute(g,m)}}catch(A){}})(m[k])});c("image","xlink:href");c("img","src");0==f&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,e,g,k){try{var f=!k&&(d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a));e=null!=e?e:!0;var m=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText(); -if(f){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=String.fromCharCode(a[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}b(d)}}else null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()})},f,this.timeout,function(){e&& -null!=c&&c({code:App.ERROR_TIMEOUT,retry:m})})});m()}catch(I){null!=c&&c(I)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b(this.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(d);c&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(d); -c&&b(this.svgBrokenImage.src)});else{var f=new Image,e=this;this.crossOriginImages&&(f.crossOrigin="anonymous");f.onload=function(){window.clearTimeout(d);if(c)try{var a=document.createElement("canvas"),g=a.getContext("2d");a.height=f.height;a.width=f.width;g.drawImage(f,0,0);b(a.toDataURL())}catch(D){b(e.svgBrokenImage.src)}};f.onerror=function(){window.clearTimeout(d);c&&b(e.svgBrokenImage.src)};f.src=a}}catch(x){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!= -b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){g.model.beginUpdate();try{var m=mxUtils.parseXml(a),k=this.editor.extractGraphModel(m.documentElement,null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var p=k.getElementsByTagName("diagram");if(1==p.length)k=Editor.parseDiagramNode(p[0]);else if(1<p.length){a={};var m=[],l=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(k=Editor.parseDiagramNode(p[0]),d=!1,l=1);for(;l<p.length;l++){var n= -p[l].getAttribute("id");p[l].removeAttribute("id");var u=this.updatePageRoot(new DiagramPage(p[l]));a[n]=p[l].getAttribute("id");var q=this.pages.length;null==u.getName()&&u.setName(mxResources.get("pageWithNumber",[q+1]));g.model.execute(new ChangePage(this,u,u,q,!0));m.push(u)}this.updatePageLinks(a,m)}}null!=k&&"mxGraphModel"===k.nodeName&&(f=g.importGraphModel(k,b,c,d))}finally{g.model.endUpdate()}}}catch(G){if(e)throw G;this.handleError(G)}return f};EditorUi.prototype.updatePageLinks=function(a, -b){for(var c=0;c<b.length;c++)this.updatePageLinksForCell(a,b[c].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var c=document.createElement("div"),d=this.editor.graph,f=d.getLinkForCell(b);null!=f&&d.setLinkForCell(b,this.updatePageLink(a,f));if(d.isHtmlLabel(b)){c.innerHTML=d.getLabel(b);for(var e=c.getElementsByTagName("a"),g=!1,m=0;m<e.length;m++)f=e[m].getAttribute("href"),null!=f&&(e[m].setAttribute("href",this.updatePageLink(a,f)),g=!0);g&&d.labelChanged(b,c.innerHTML)}for(m= -0;m<d.model.getChildCount(b);m++)this.updatePageLinksForCell(a,d.model.getChildAt(b,m))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var c=a[b.substring(b.indexOf(",")+1)];b=null!=c?"data:page/id,"+c:null}else if("data:action/json,"==b.substring(0,17))try{var d=JSON.parse(b.substring(17));if(null!=d.actions){for(var f=0;f<d.actions.length;f++){var e=d.actions[f];null!=e.open&&"data:page/id,"==e.open.substring(0,13)&&(c=a[e.open.substring(e.open.indexOf(",")+ -1)],null!=c?e.open="data:page/id,"+c:delete e.open)}b="data:action/json,"+JSON.stringify(d)}}catch(x){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var f=this.isRemoteVisioFormat(d);try{var e="UNKNOWN-VISIO", -g=d.lastIndexOf(".");0<=g&&g<d.length&&(e=d.substring(g+1).toUpperCase());EditorUi.logEvent({category:e+"-MS-IMPORT-FILE",action:"filename_"+d,label:f?"remote":"local"})}catch(I){}if(f)if(null!=VSD_CONVERT_URL){f=new FormData;f.append("file1",a,d);var m=new XMLHttpRequest;m.open("POST",VSD_CONVERT_URL);m.responseType="blob";this.addRemoteServiceSecurityCheck(m);m.onreadystatechange=mxUtils.bind(this,function(){if(4==m.readyState)if(200<=m.status&&299>=m.status)try{var a=m.response;if("text/xml"== -a.type){var f=new FileReader;f.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(C){c({message:mxResources.get("errorLoadingFile")})}});f.readAsText(a)}else this.doImportVisio(a,b,c,d)}catch(B){c(B)}else c({})});m.send(f)}else c({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")});else try{this.doImportVisio(a,b,c,d)}catch(I){c(I)}}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}); -this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importGraphML=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.doImportGraphML)try{this.doImportGraphML(a,b,c)}catch(v){c(v)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportGraphML||this.loadingExtensions|| -this.isOffline(!0)?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()||this.handleError({message:mxResources.get("unknownError")})}catch(m){this.handleError(m)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof VsdxExport|| -this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,c){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(v){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(v){null!=window.console&&console.error(v),c(v)}}else c({message:mxResources.get("serviceUnavailableOrBlocked")})}); -"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.generatePlantUmlImage=function(a,b,c,d){function f(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=e(c1&63);r+=e(c2&63);r+=e(c3&63);return r+=e(c4&63)}function e(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+ -a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"}var g=new XMLHttpRequest;g.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+f(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+f(a.charCodeAt(i),0,0):r+f(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+2));return r}(pako.deflateRaw(a,{to:"string"})),!0);"txt"!=b&&(g.responseType="blob");g.onload=function(a){if(200<= -this.status&&300>this.status)if("txt"==b)c(this.response);else{var f=new FileReader;f.readAsDataURL(this.response);f.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,e=b.height;if(0==a&&0==e){var g=f.result,m=g.indexOf(","),k=decodeURIComponent(escape(atob(g.substring(m+1)))),p=mxUtils.parseXml(k).getElementsByTagName("svg");0<p.length&&(a=parseFloat(p[0].getAttribute("width")),e=parseFloat(p[0].getAttribute("height")))}c(f.result,a,e)}catch(H){d(H)}};b.src=f.result};f.onerror= -function(a){d(a)}}else d(a)};g.onerror=function(a){d(a)};g.send()};EditorUi.prototype.insertAsPreText=function(a,b,c){var d=this.editor.graph,f=null;d.getModel().beginUpdate();try{f=d.insertVertex(null,null,"<pre>"+a+"</pre>",b,c,1,1,"text;html=1;align=left;verticalAlign=top;"),d.updateCellSize(f,!0)}finally{d.getModel().endUpdate()}return f};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,g,k){g=null!=g?g:!0;k=null!=k?k:!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,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var f=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var m=this.extractGraphModelFromPng(a),p=this.importXml(m,b, -c,g,!0);if(0<p.length)return p}if("data:image/svg+xml;"==a.substring(0,19))try{if(m=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(m=a.substring(a.indexOf(",")+1),m=window.atob&&!mxClient.IS_SF?atob(m):Base64.decode(m,!0)):m=decodeURIComponent(a.substring(a.indexOf(",")+1)),p=this.importXml(m,b,c,g,!0),0<p.length)return p}catch(z){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){f.setSelectionCell(f.insertVertex(null, -null,"",f.snap(b),f.snap(c),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),k,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),g=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f.insertVertex(null,null,"",f.snap(b),f.snap(c),g,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+ -a+";"))}}),mxUtils.bind(this,function(){var e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,a,f.snap(b),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.updateCellSize(e),f.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{f.getModel().endUpdate()}f.setSelectionCell(e)}))}else{a=Graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,g);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this, -function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,c,g))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{f=this.editor.graph;e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,"",f.snap(b),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.fireEvent(new mxEventObject("textInserted","cells",[e])),"<"==a.charAt(0)&&a.indexOf(">")==a.length-1&&(a=mxUtils.htmlEntities(a)),a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"..."),e.value=a, -f.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(e.value)&&f.setLinkForCell(e,e.value),e.geometry.width+=f.gridSize,e.geometry.height+=f.gridSize}finally{f.getModel().endUpdate()}return[e]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]}; -EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!=a&&('{"state":"{\\"Properties\\":'==a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null== -this.importFileInputElt){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&(this.importFiles(c.files,null,null,this.maxImageSize),c.type="",c.type="file",c.value="")}));c.style.display="none";document.body.appendChild(c);this.importFileInputElt=c}this.importFileInputElt.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this, -function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"});this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a,0,0,!0))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var f=this.dialog,e=f.close;this.dialog.close= -mxUtils.bind(this,function(a){Editor.useLocalStorage=d;e.apply(f,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,c){var d=this,f=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(f){if(0==Object.keys(f.files).length)c();else{var e=0,g,m=!1;f.forEach(function(a,d){var f=d.name.toLowerCase();"diagram/diagram.xml"==f?(m=!0,d.async("string").then(function(a){0== -a.indexOf("<mxfile ")?b(a):c()})):0==f.indexOf("versions/")&&(f=parseInt(f.substr(9)),f>e&&(e=f,g=d))});0<e?g.async("string").then(function(f){!d.isOffline()&&(new XMLHttpRequest).upload&&d.isRemoteFileFormat(f,a.name)?d.parseFile(new Blob([f],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?b(a.responseText):c())}),a.name):c()}):m||c()}},function(a){c(a)}):c()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?f(): -(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importFile=function(a,b,c,d,e,g,k,l,n,q,z){q=null!=q?q:!0;var f=!1,m=null,p=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,k)):b=this.importXml(a,c,d,q);null!=l&&l(b)});"image"==b.substring(0,5)?(n=!1,"image/png"==b.substring(0,9)&&(b=z?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(m=this.importXml(b,c,d,q),n=!0)),n||(b=this.editor.graph, -z=a.indexOf(";"),0<z&&(a=a.substring(0,z)+a.substring(a.indexOf(",",z+1))),q&&b.isGridEnabled()&&(c=b.snap(c),d=b.snap(d)),m=[b.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(f=!0,this.importGraphML(a,p)):null!=n&&null!=k&&(/(\.v(dx|sdx?))($|\?)/i.test(k)||/(\.vs(x|sx?))($|\?)/i.test(k))?(f=!0,this.importVisio(n,p)):!this.isOffline()&&(new XMLHttpRequest).upload&& -this.isRemoteFileFormat(a,k)?(f=!0,this.parseFile(null!=n?n:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?p(a.responseText):null!=l&&l(null))}),k)):0==a.indexOf("PK")&&null!=n?(f=!0,this.importZipFile(n,p,mxUtils.bind(this,function(){m=this.insertTextAt(this.validateFileData(a),c,d,!0,null,q);l(m)}))):/(\.v(sd|dx))($|\?)/i.test(k)||/(\.vs(s|x))($|\?)/i.test(k)||(m=this.insertTextAt(this.validateFileData(a),c,d,!0,null, -q));f||null==l||l(m);return m};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,f,e,g;c<d;){f=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);b+="==";break}e=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f& -3)<<4|(e&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2);b+="=";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(e&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b}; -EditorUi.prototype.importFiles=function(a,b,c,d,e,g,k,l,n,q,z,B){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var f=null!=b&&null!=c,m=!0,p=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var t=z||this.resampleThreshold,u=0;u<a.length;u++)if("image/"==a[u].type.substring(0,6)&&a[u].size>t){p=!0;break}var v=mxUtils.bind(this,function(){var p=this.editor.graph,n=p.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,k,m,p){return null!=a&&"<mxlibrary"==a.substring(0, -10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,g,k,m,p,f,B)});g=null!=g?g:mxUtils.bind(this,function(a){p.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,u=t,C=[],v=mxUtils.bind(this,function(a,b){C[a]=b;if(0==--u){this.spinner.stop();if(null!=l)l(C);else{var c=[];p.getModel().beginUpdate();try{for(var d=0;d<C.length;d++){var f=C[d]();null!=f&&(c=c.concat(f))}}finally{p.getModel().endUpdate()}}g(c)}}), -x=0;x<t;x++)mxUtils.bind(this,function(f){var g=a[f];if(null!=g){var l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==k||k(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var l=a.target.result,t=l.indexOf(","),u=decodeURIComponent(escape(atob(l.substring(t+1)))),C=mxUtils.parseXml(u),u=C.getElementsByTagName("svg");if(0<u.length){var u=u[0],x=B?null:u.getAttribute("content");null!=x&&"<"!=x.charAt(0)&&"%"!=x.charAt(0)&&(x=unescape(window.atob?atob(x):Base64.decode(x, -!0)));null!=x&&"%"==x.charAt(0)&&(x=decodeURIComponent(x));null==x||"<mxfile "!==x.substring(0,8)&&"<mxGraphModel "!==x.substring(0,14)?v(f,mxUtils.bind(this,function(){try{if(l.substring(0,t+1),null!=C){var a=C.getElementsByTagName("svg");if(0<a.length){var k=a[0],m=k.getAttribute("width"),z=k.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,z=null!=z&&"%"!=z.charAt(z.length-1)?parseFloat(z):NaN,q=k.getAttribute("viewBox");if(null==q||0==q.length)k.setAttribute("viewBox", -"0 0 "+m+" "+z);else if(isNaN(m)||isNaN(z)){var u=q.split(" ");3<u.length&&(m=parseFloat(u[2]),z=parseFloat(u[3]))}l=this.createSvgDataUri(mxUtils.getXml(k));var B=Math.min(1,Math.min(d/Math.max(1,m)),d/Math.max(1,z)),v=e(l,g.type,b+f*n,c+f*n,Math.max(1,Math.round(m*B)),Math.max(1,Math.round(z*B)),g.name);if(isNaN(m)||isNaN(z)){var x=new Image;x.onload=mxUtils.bind(this,function(){m=Math.max(1,x.width);z=Math.max(1,x.height);v[0].geometry.width=m;v[0].geometry.height=z;k.setAttribute("viewBox","0 0 "+ -m+" "+z);l=this.createSvgDataUri(mxUtils.getXml(k));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));p.setCellStyles("image",l,[v[0]])});x.src=this.createSvgDataUri(mxUtils.getXml(k))}return v}}}catch(ha){}return null})):v(f,mxUtils.bind(this,function(){return e(x,"text/xml",b+f*n,c+f*n,0,0,g.name)}))}else v(f,mxUtils.bind(this,function(){return null}))}else{u=!1;if("image/png"==g.type){var A=B?null:this.extractGraphModelFromPng(a.target.result);if(null!=A&&0<A.length){var y= -new Image;y.src=a.target.result;v(f,mxUtils.bind(this,function(){return e(A,"text/xml",b+f*n,c+f*n,y.width,y.height,g.name)}));u=!0}}u||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k,a.target.result, -mxUtils.bind(this,function(k,p,l){v(f,mxUtils.bind(this,function(){if(null!=k&&k.length<q){var t=m&&this.isResampleImage(a.target.result,z)?Math.min(1,Math.min(d/p,d/l)):1;return e(k,g.type,b+f*n,c+f*n,Math.round(p*t),Math.round(l*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),m,d,z)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,b+f*n,c+f*n,240,160,g.name,function(a){v(f, -function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?e(null,g.type,b+f*n,c+f*n,240,160,g.name,function(a){v(f,function(){return a})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)}})(x)});if(p){p=[];for(u=0;u<a.length;u++)p.push(a[u]);a=p;this.confirmImageResize(function(a){m=a;v()},n)}else v()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause(): -function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,f=function(d,f){if(d||b)mxSettings.setResizeImages(d?f:null),mxSettings.save();c();a(f)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){f(a,!0)},function(a){f(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container, -340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):f(!1,d)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var f=new XMLHttpRequest;f.open("POST",OPEN_URL);f.onreadystatechange=function(){b(f)};f.send(d);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(t){}};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage= -function(a,b,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var m=Math.max(f/e,k/e);if(1<m){var p=Math.round(f/m),l=Math.round(k/m),n=document.createElement("canvas");n.width=p;n.height=l;n.getContext("2d").drawImage(a,0,0,p,l);var t=n.toDataURL();if(t.length<b.length){var q=document.createElement("canvas");q.width=p;q.height=l;var u=q.toDataURL();t!==u&&(b=t,f=p,k=l)}}}catch(E){}c(b,f,k)};EditorUi.prototype.crcTable=[]; -for(var b=0;256>b;b++)for(var e=b,g=0;8>g;g++)e=1==(e&1)?3988292384^e>>>1:e>>>1,EditorUi.prototype.crcTable[b]=e;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var f=0;f<d;f++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(c+f))&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a, -b){var c=m;m+=b;return a.substring(c,m)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var m=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,m);do{var p=g(a);if("IDAT"==f(a, -4)){e=a.substring(0,m-8);"pHYs"==b&&"dpi"==c?(c=Math.round(d/.0254),c=k(c)+k(c)+String.fromCharCode(1)):c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(m-8,a.length);break}e+=a.substring(m-8,m-4+p);f(a,p);f(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)}; -EditorUi.prototype.loadImage=function(a,b,c){try{var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a}catch(v){if(null!=c)c(v);else throw v;}};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph,c=b.cellEditor.startEditing;b.cellEditor.startEditing=function(d,f){var e=this.graph.getAttributeForCell(d, -"plantUmlData");if(null!=e){var g=JSON.parse(e),e=new TextareaDialog(a,mxResources.get("plantUml")+":",g.data,function(c){null!=c&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(c,g.format,function(f,e,k){a.spinner.stop();b.getModel().beginUpdate();try{if("txt"==g.format)b.labelChanged(d,"<pre>"+f+"</pre>"),b.updateCellSize(d,!0);else{b.setCellStyles("image",a.convertDataUri(f),[d]);var m=b.model.getGeometry(d);null!=m&&(m=m.clone(),m.width=e,m.height=k,b.cellsResized([d], -[m],!1))}b.setAttributeForCell(d,"plantUmlData",JSON.stringify({data:c,format:g.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);e.init()}else c.apply(this,arguments)};b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(G){a.handleError(G)}return c};var d=this.clearDefaultStyle;this.clearDefaultStyle=function(){d.apply(this,arguments)}; -this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var e=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return e.apply(this,arguments)};var g=b.addClickHandler; -b.addClickHandler=function(a,c,d){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null!=c&&b.isCustomLink(c)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(c)&&mxEvent.consume(a);null!=f&&f(a,c)};g.call(this,a,c,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container, -360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var l=b.getExportVariables;b.getExportVariables=function(){var b=l.apply(this,arguments);b.pagecount=null!=a.pages?a.pages.length:1;b.page=null!=a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var n=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName(): -"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:1:n.apply(this,arguments)};var q=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var f=c.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))q.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(f),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename= -function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var I=this.actions.get("print");I.setEnabled(!mxClient.IS_IOS||!navigator.standalone);I.visible=I.isEnabled();if(!this.editor.chromeless||this.editor.editable)this.keyHandler.bindAction(70,!0,"find"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText", -!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",!0),mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(this.altShiftActions[83]="synchronize"),this.installImagePasteHandler(),this.installNativeClipboardHandler();this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this, -function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0< -a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,f,e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1, -a.width);a=Math.max(1,a.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,d)),f/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*f,a*f)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation(); -a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(I=this.editor.graph.view,I.setUnit(mxSettings.getUnit()),I.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));mxSettings.save()}),this.ruler=!this.canvasSupported||9==document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,I.unit),this.refresh());if("1"==urlParams.styledev){I=document.getElementById("geFooter"); -null!=I&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),I.appendChild(this.styleInput), -this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var z=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:z.apply(this,arguments)}}I=document.getElementById("geInfo"); -null!=I&&I.parentNode.removeChild(I);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B),B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation(); -a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=B&&(B.parentNode.removeChild(B),B=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=b.view.translate,f=b.view.scale,e=c.x/f-d.x,g=c.y/f-d.y;mxEvent.isAltDown(a)&&(g=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k= -0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,e,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var m=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=m;var p=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(m=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(m)||(p= -!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(m=c[0].getAttribute("href")));var l=!0,n=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(m,e,g,!0,p,null,l))});p&&m.length>this.resampleThreshold?this.confirmImageResize(function(a){l=a;n()},mxEvent.isControlDown(a)):n()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1, -Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",e,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k,e,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),e,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages(); -"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,d=!1,f=0;f<c.types.length;f++)if("text/"===c.types[f].substring(0,5)){d=!0;break}if(!d){var e=c.items;for(index in e){var g=e[index];if("file"===g.kind){if(a.isEditing())this.importFiles([g.getAsFile()], -0,0,this.maxImageSize,function(b,c,d,f,e,g){a.insertImage(b,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(D){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){c.innerHTML=" ";c.focus();document.execCommand("selectAll",!1,null)}, -0)}var b=this.editor.graph,c=document.createElement("div");c.setAttribute("autocomplete","off");c.setAttribute("autocorrect","off");c.setAttribute("autocapitalize","off");c.setAttribute("spellcheck","false");c.style.textRendering="optimizeSpeed";c.style.fontFamily="monospace";c.style.wordBreak="break-all";c.style.background="transparent";c.style.color="transparent";c.style.position="absolute";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.display="block";c.style.fontSize="1";c.style.zIndex= -"-1";c.style.resize="none";c.style.outline="none";c.style.width="1px";c.style.height="1px";mxUtils.setOpacity(c,0);c.contentEditable=!0;c.innerHTML=" ";var d=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var f=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==f.nodeName||"TEXTAREA"==f.nodeName|| -!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||d||(c.style.left=b.container.scrollLeft+10+"px",c.style.top=b.container.scrollTop+10+"px",b.container.appendChild(c),d=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){c.focus();document.execCommand("selectAll",!1,null)},0):(c.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var f=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!d|| -224!=f&&17!=f&&91!=f||(d=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),c.parentNode.removeChild(c),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(c,"copy",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c),a()}catch(x){this.handleError(x)}}));mxEvent.addListener(c,"cut",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c,!0),a()}catch(x){this.handleError(x)}}));mxEvent.addListener(c, -"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&((new Date).getTime(),c.innerHTML=" ",c.focus(),null!=a.clipboardData&&this.pasteCells(a,c,!0),mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,c,!1)}),0))}),!0);var e=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==c?!0:e.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this, -arguments);if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");0<c&&(b=this.getPageById(a.substring(c+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)}; -EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(f){}this.fireEvent(new mxEventObject("styleChanged", -"keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){mxSettings.setCustomFonts(this.menus.customFonts);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget()); -mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){console.log("gridColorChanged",this.editor.graph.view.gridColor);mxSettings.setGridColor(this.editor.graph.view.gridColor,"dark"==uiTheme); -mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(), -mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),f=mxUtils.getXml(c.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(f));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=f,c.pasteCounter=0);a.focus();document.execCommand("selectAll", -!1,null)}};EditorUi.prototype.pasteCells=function(a,b,c){if(!mxEvent.isConsumed(a)){var d=b;if(c&&null!=a.clipboardData&&a.clipboardData.getData){var f=a.clipboardData.getData("text/html");if(null!=f&&0<f.length){if(d=document.createElement("div"),d.innerHTML=f,f=d.getElementsByTagName("style"),null!=f)for(;0<f.length;)f[0].parentNode.removeChild(f[0])}else f=a.clipboardData.getData("text/plain"),null!=f&&0<f.length&&(d=document.createElement("div"),mxUtils.setTextContent(d,f))}f=d.getElementsByTagName("span"); -if(null!=f&&0<f.length&&"application/vnd.lucid.chart.objects"===f[0].getAttribute("data-lucid-type"))c=f[0].getAttribute("data-lucid-content"),null!=c&&0<c.length&&(this.convertLucidChart(c,mxUtils.bind(this,function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var c=b.pasteCounter*b.gridSize;b.setSelectionCells(this.importXml(a,c,c));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a)); -else{var e=mxUtils.trim(null==d.innerText?mxUtils.getTextContent(d):d.innerText),g=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(C){}try{var f=d.getElementsByTagName("span"),m=null!=f&&0<f.length?mxUtils.trim(decodeURIComponent(f[0].textContent)):decodeURIComponent(e);this.isCompatibleString(m)&&(g=!0,e=m)}catch(C){}try{var p=this.editor.graph;if(null!=e&&0<e.length){p.lastPasteXml==e?p.pasteCounter++:(p.lastPasteXml=e,p.pasteCounter=0);var l=p.pasteCounter*p.gridSize; -if(g||this.isCompatibleString(e))p.setSelectionCells(this.importXml(e,l,l));else{var n=p.getInsertPoint();p.isMouseInsertPoint()&&(l=0,p.lastPasteXml==e&&0<p.pasteCounter&&p.pasteCounter--);p.setSelectionCells(this.insertTextAt(e,n.x+l,n.y+l,!0))}if(!p.isSelectionEmpty()){p.scrollCellToVisible(p.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(p.view.getState(p.getSelectionCell()));try{mxEvent.consume(a)}catch(C){}}}else c||(p.lastPasteXml=null,p.pasteCounter=0)}catch(C){this.handleError(C)}}}b.innerHTML= -" "};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})), -mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer: -a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"== -c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(c)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(c):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/": -"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(c)))))}else this.openLocalFile(c,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,f;if(null==a){f=document.body;var e=document.documentElement;d=(f.clientWidth||e.clientWidth)-3;f=Math.max(f.clientHeight||0,e.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,f=a.clientHeight;e=document.createElement("div");e.style.zIndex=mxPopupMenu.prototype.zIndex+ -2;e.style.border="3px dotted rgb(254, 137, 12)";e.style.pointerEvents="none";e.style.position="absolute";e.style.top=b+"px";e.style.left=c+"px";e.style.width=Math.max(0,d-3)+"px";e.style.height=Math.max(0,f-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(e):document.body.appendChild(e);return e};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument), -d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{var d=c.target.result,f=a.name;if(null!=f&&0<f.length){!this.useCanvasForExport&&/(\.png)$/i.test(f)&&(f=f.substring(0,f.length-4)+".drawio"); -var e=mxUtils.bind(this,function(a){f=0<=f.lastIndexOf(".")?f.substring(0,f.lastIndexOf("."))+".drawio":f+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,f))}catch(z){this.handleError(z,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,f,b)});if(/(\.v(dx|sdx?))($|\?)/i.test(f)||/(\.vs(x|sx?))($|\?)/i.test(f))this.importVisio(a, -mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(/(\.*<graphml )/.test(d))this.importGraphML(d,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,f))this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?e(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")}, -mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(d))/(\.json)$/i.test(f)&&(f=f.substring(0,f.length-5)+".drawio"),this.convertLucidChart(d,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,f,b)}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b); -try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(I){this.handleError(I,mxResources.get("errorLoadingFile"))}}else 0==d.indexOf("PK")?this.importZipFile(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(d,f,b)})):("image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,f,b))}}catch(I){this.handleError(I)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop(); -this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),f=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a, -b||this.defaultFilename,c))});if(null!=a&&0<a.length)null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?f():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=d&&d.isModified()? -this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):f()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell= -function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,f=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(f[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(f[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(f[mxConstants.STYLE_ENDARROW])));for(var f=d.model.getChildCount(a),e=0;e<f;e++)this.addBasenamesForCell(d.model.getChildAt(a,e),b)};EditorUi.prototype.setGraphEnabled= -function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.ruler&&(this.ruler.hRuler.container.style.visibility=a?"":"hidden",this.ruler.vRuler.container.style.visibility=a?"":"hidden");null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden"); -a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&& -this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi(); -window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a, -pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,f=null,e=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE, -e);mxEvent.addListener(window,"message",mxUtils.bind(this,function(e){if(e.source==(window.opener||window.parent)){var k=e.data,m=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&& -(a=Graph.decompress(a)))}catch(P){}return a});if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(Z){k=null}try{if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey? -mxResources.get(k.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){var p=m(k.xml);this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),p,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}), -mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(Z){g.postMessage(JSON.stringify({event:"draft", -error:Z.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var n=1==k.enableRecent,t=1==k.enableSearch,q=1==k.enableCustomTemp,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,e,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,n?mxUtils.bind(this, -function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,t?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")}),null,null,q?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(l.container,620,440, -!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("textContent"==k.action){var u=this.getDiagramTextContent();g.postMessage(JSON.stringify({event:"textContent",data:u,message:k}),"*");return}if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var v= -null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,v):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var x=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var y=this.editor.graph,J=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop(); -var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(x);g.postMessage(JSON.stringify(b),"*")}),N=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(x)));y!=this.editor.graph&&y.container.parentNode.removeChild(y.container);J(a)}),Q=k.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!= -Q){for(var Y=y.getGlobalVariable,y=this.createTemporaryGraph(y.getStylesheet()),T,L=0;L<this.pages.length;L++)if(this.pages[L].getId()==Q){T=this.updatePageRoot(this.pages[L]);break}y.getGlobalVariable=function(a){return"page"==a?T.getName():"pagenumber"==a?1:Y.apply(this,arguments)};document.body.appendChild(y.container);y.model.setRoot(T.root)}if(null!=k.layerIds){for(var V=y.model,X=V.getChildCells(V.getRoot()),l={},L=0;L<k.layerIds.length;L++)l[k.layerIds[L]]=!0;for(L=0;L<X.length;L++)V.setVisible(X[L], -l[X[L].id]||!1)}this.exportToCanvas(mxUtils.bind(this,function(a){N(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){N(null)}),null,null,k.scale,null,null,null,y)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=Q?"&pageId="+Q:"")+(null!=k.layerIds?"&extras="+encodeURIComponent(JSON.stringify({layerIds:k.layerIds})):"")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(x))).send(mxUtils.bind(this,function(a){200<= -a.getStatus()&&299>=a.getStatus()?J("data:image/png;base64,"+a.getText()):N(null)}),mxUtils.bind(this,function(){N(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);v=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var ga=this.getXmlFileData();v.xml=mxUtils.getXml(ga);v.data=this.getFileData(null,null,!0,null,null,null,ga);v.format=k.format}else if("html"==k.format)x=this.editor.getGraphXml(), -v.data=this.getHtml(x,this.editor.graph),v.xml=mxUtils.getXml(x),v.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;var fa=this.editor.graph.background;fa==mxConstants.NONE&&(fa=null);v.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);v.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==k.format?this.getEmbeddedSvg(v.xml, -this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(v),"*")})):this.convertImages(this.editor.graph.getSvg(fa),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(v),"*")}));return}var ba="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0): -mxUtils.getXml(this.editor.graph.getSvg(fa));v.data=this.createSvgDataUri(ba)}g.postMessage(JSON.stringify(v),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(p=document.createElement("span"),mxUtils.write(p,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px", -this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(p),this.embedFilenameSpan=p),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):k.xml;else{"remoteInvokeReady"==k.action?this.handleRemoteInvokeReady(g):"remoteInvoke"== -k.action?this.handleRemoteInvoke(k):"remoteInvokeResponse"==k.action?this.handleRemoteInvokeResponse(k):g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(k)}),"*");return}}catch(Z){this.handleError(Z)}}var U=mxUtils.bind(this,function(e,k){c=!0;try{a(e,k)}catch(aa){this.handleError(aa)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var m=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())}); -f=m();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=m();if(d!=f&&!c){var e=this.createLoadMessage("autosave");e.xml=d;d=JSON.stringify(e);(window.opener||window.parent).postMessage(d,"*")}f=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged", -b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")});null!=k&&"function"===typeof k.substring&&"data:application/vnd.visio;base64,"==k.substring(0,34)?(m="0M8R4KGxGuE"==k.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(k.substring(k.indexOf(",")+ -1)),function(a){U(a,e)},mxUtils.bind(this,function(a){this.handleError(a)}),m)):null!=k&&"function"===typeof k.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(k,"")?this.parseFile(new Blob([k],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&U(a.responseText,e)}),""):null!=k&&"function"===typeof k.substring&&this.isLucidChartData(k)?this.convertLucidChart(k, -mxUtils.bind(this,function(a){U(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):(k=m(k),U(k,e))}}));var g=window.opener||window.parent,e="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(e,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"0px";a.style.paddingLeft="8px";a.style.paddingBottom= -"2px";var b=document.createElement("button");b.className="geBigButton";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)):(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})), -a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className= -"geBigButton geBigStandardButton";b.style.marginLeft="6px";b.style.marginRight="20px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this, -function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://about.draw.io/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),f=0;f<a.length;f++){var e=new window[a[f].layout](c);if(null!=a[f].config)for(var k in a[f].config)e[k]=a[f].config[k];this.executeLayout(function(){e.execute(c.getDefaultParent(), -0==d.length?null:d)},f==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],f=[],e={};if(0<c.length){var k={},g=null,m=null,l=null,n=null,q=null,C=null,A=null,G=null,E="",K="auto",H="auto",F=null,J=null,N=40,Q=40,Y=100,T=0,L=this.editor.graph;L.getGraphBounds();for(var V=function(){null!=b?b(la):(L.setSelectionCells(la),L.scrollCellToVisible(L.getSelectionCell()))},X=L.getFreeInsertPoint(),ga=X.x,fa=X.y,X=fa,ba=null,U="auto",G=null,Z=[],P=null,ca=null,aa=0;aa<c.length&& -"#"==c[aa].charAt(0);){a=c[aa];for(aa++;aa<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[aa].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[aa].substring(1)),aa++;if("#"!=a.charAt(1)){var ea=a.indexOf(":");if(0<ea){var R=mxUtils.trim(a.substring(1,ea)),O=mxUtils.trim(a.substring(ea+1));"label"==R?ba=L.sanitizeHtml(O):"labelname"==R&&0<O.length&&"-"!=O?n=O:"labels"==R&&0<O.length&&"-"!=O?q=JSON.parse(O):"style"==R?g=O:"parentstyle"==R?C=O:"stylename"==R&&0<O.length&&"-"!=O?l=O:"styles"==R&&0< -O.length&&"-"!=O?m=JSON.parse(O):"identity"==R&&0<O.length&&"-"!=O?A=O:"parent"==R&&0<O.length&&"-"!=O?G=O:"namespace"==R&&0<O.length&&"-"!=O?E=O:"width"==R?K=O:"height"==R?H=O:"left"==R&&0<O.length?F=O:"top"==R&&0<O.length?J=O:"ignore"==R?ca=O.split(","):"connect"==R?Z.push(JSON.parse(O)):"link"==R?P=O:"padding"==R?T=parseFloat(O):"edgespacing"==R?N=parseFloat(O):"nodespacing"==R?Q=parseFloat(O):"levelspacing"==R?Y=parseFloat(O):"layout"==R&&(U=O)}}}if(null==c[aa])throw Error(mxResources.get("invalidOrMissingFile")); -var da=this.editor.csvToArray(c[aa]),R=ea=null;if(null!=A||null!=G)for(var W=0;W<da.length;W++)A==da[W]&&(ea=W),G==da[W]&&(R=W);null==ba&&(ba="%"+da[0]+"%");if(null!=Z)for(var S=0;S<Z.length;S++)null==k[Z[S].to]&&(k[Z[S].to]={});L.model.beginUpdate();try{for(W=aa+1;W<c.length;W++){var ia=this.editor.csvToArray(c[W]);if(null==ia){var ma=40<c[W].length?c[W].substring(0,40)+"...":c[W];throw Error(W+" ("+ma+") "+mxResources.get("containsValidationErrors"));}if(ia.length==da.length){var M=null,ka=null!= -ea?E+ia[ea]:null;null!=ka&&(M=L.model.getCell(ka));var A=null!=M,ha=new mxCell(ba,new mxGeometry(ga,X,0,0),g||"whiteSpace=wrap;html=1;");ha.vertex=!0;ha.id=ka;for(var ja=0;ja<ia.length;ja++)L.setAttributeForCell(ha,da[ja],ia[ja]);if(null!=n&&null!=q){var ua=q[ha.getAttribute(n)];null!=ua&&L.labelChanged(ha,ua)}if(null!=l&&null!=m){var va=m[ha.getAttribute(l)];null!=va&&(ha.style=va)}L.setAttributeForCell(ha,"placeholders","1");ha.style=L.replacePlaceholders(ha,ha.style);A&&(L.model.setGeometry(M, -ha.geometry),L.model.setStyle(M,ha.style),0>mxUtils.indexOf(f,M)&&f.push(M));M=ha;if(!A)for(S=0;S<Z.length;S++)k[Z[S].to][M.getAttribute(Z[S].to)]=M;null!=P&&"link"!=P&&(L.setLinkForCell(M,M.getAttribute(P)),L.setAttributeForCell(M,P,null));L.fireEvent(new mxEventObject("cellsInserted","cells",[M]));var wa=this.editor.graph.getPreferredSizeForCell(M);M.vertex&&(null!=F&&null!=M.getAttribute(F)&&(M.geometry.x=ga+parseFloat(M.getAttribute(F))),null!=J&&null!=M.getAttribute(J)&&(M.geometry.y=fa+parseFloat(M.getAttribute(J))), -"@"==K.charAt(0)&&null!=M.getAttribute(K.substring(1))?M.geometry.width=parseFloat(M.getAttribute(K.substring(1))):M.geometry.width="auto"==K?wa.width+T:parseFloat(K),"@"==H.charAt(0)&&null!=M.getAttribute(H.substring(1))?M.geometry.height=parseFloat(M.getAttribute(H.substring(1))):M.geometry.height="auto"==H?wa.height+T:parseFloat(H),X+=M.geometry.height+Q);A?(null==e[ka]&&(e[ka]=[]),e[ka].push(M)):(G=null!=R?L.model.getCell(E+ia[R]):null,d.push(M),null!=G?(G.style=L.replacePlaceholders(G,C),L.addCell(M, -G)):f.push(L.addCell(M)))}}for(var na=f.slice(),la=f.slice(),S=0;S<Z.length;S++)for(var xa=Z[S],W=0;W<f.length;W++){var M=f[W],ya=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){L.setAttributeForCell(b,c.from,null);for(var d=d.split(","),f=0;f<d.length;f++){var e=k[c.to][d[f]];if(null!=e){var g=c.label;null!=c.fromlabel&&(g=(b.getAttribute(c.fromlabel)||"")+(g||""));null!=c.tolabel&&(g=(g||"")+(e.getAttribute(c.tolabel)||""));la.push(L.insertEdge(null,null,g||"",c.invert? -e:a,c.invert?a:e,c.style||L.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:e,na)}}}});ya(M,M,xa);if(null!=e[M.id])for(ja=0;ja<e[M.id].length;ja++)ya(M,e[M.id][ja],xa)}if(null!=ca)for(W=0;W<d.length;W++)for(M=d[W],ja=0;ja<ca.length;ja++)L.setAttributeForCell(M,mxUtils.trim(ca[ja]),null);if(0<f.length){var oa=new mxParallelEdgeLayout(L);oa.spacing=N;var ta=function(){0<oa.spacing&&oa.execute(L.getDefaultParent());for(var a=0;a<f.length;a++){var b=L.getCellGeometry(f[a]);b.x=Math.round(L.snap(b.x)); -b.y=Math.round(L.snap(b.y));"auto"==K&&(b.width=Math.round(L.snap(b.width)));"auto"==H&&(b.height=Math.round(L.snap(b.height)))}};if("["==U.charAt(0)){var za=V;L.view.validate();this.executeLayoutList(JSON.parse(U),function(){ta();za()});V=null}else if("circle"==U){var ra=new mxCircleLayout(L);ra.resetEdges=!1;var Aa=ra.isVertexIgnored;ra.isVertexIgnored=function(a){return Aa.apply(this,arguments)||0>mxUtils.indexOf(f,a)};this.executeLayout(function(){ra.execute(L.getDefaultParent());ta()},!0,V); -V=null}else if("horizontaltree"==U||"verticaltree"==U||"auto"==U&&la.length==2*f.length-1&&1==na.length){L.view.validate();var sa=new mxCompactTreeLayout(L,"horizontaltree"==U);sa.levelDistance=Q;sa.edgeRouting=!1;sa.resetEdges=!1;this.executeLayout(function(){sa.execute(L.getDefaultParent(),0<na.length?na[0]:null)},!0,V);V=null}else if("horizontalflow"==U||"verticalflow"==U||"auto"==U&&1==na.length){L.view.validate();var pa=new mxHierarchicalLayout(L,"horizontalflow"==U?mxConstants.DIRECTION_WEST: -mxConstants.DIRECTION_NORTH);pa.intraCellSpacing=Q;pa.parallelEdgeSpacing=N;pa.interRankCellSpacing=Y;pa.disableEdgeStyle=!1;this.executeLayout(function(){pa.execute(L.getDefaultParent(),la);L.moveCells(la,ga,fa)},!0,V);V=null}else if("organic"==U||"auto"==U&&la.length>f.length){L.view.validate();var qa=new mxFastOrganicLayout(L);qa.forceConstant=3*Q;qa.resetEdges=!1;var Ba=qa.isVertexIgnored;qa.isVertexIgnored=function(a){return Ba.apply(this,arguments)||0>mxUtils.indexOf(f,a)};oa=new mxParallelEdgeLayout(L); -oa.spacing=N;this.executeLayout(function(){qa.execute(L.getDefaultParent());ta()},!0,V);V=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=V&&V()}}catch(Ca){this.handleError(Ca)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl= -function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var l= -EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=l.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)}; -var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(); -return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a,8/a)};var f=b.init;b.init=function(){f.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+ -a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var k=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=k.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&& -(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=1;null==this.drive&&"function"!==typeof window.DriveClient||c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.gitLab||c++;b&&a&&isLocalStorage&&"1"==urlParams.browser&& -c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c); -c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c),this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.actions.get("undo").setEnabled(this.canUndo()&& -a);this.actions.get("redo").setEnabled(this.canRedo()&&a);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var d=applicationCache;if(null!=d&&null==this.offlineStatus){this.offlineStatus=document.createElement("div"); -this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin="4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this, -function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var d=window.applicationCache,e=null,b=mxUtils.bind(this,function(){var a=d.status,b;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:b="";break;case d.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>'; -break;case d.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case d.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b='<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=e&&(this.offlineStatus.innerHTML=b,e=a)});mxEvent.addListener(d,"checking",b);mxEvent.addListener(d,"noupdate",b);mxEvent.addListener(d,"downloading",b);mxEvent.addListener(d, -"progress",b);mxEvent.addListener(d,"cached",b);mxEvent.addListener(d,"updateready",b);mxEvent.addListener(d,"obsolete",b);mxEvent.addListener(d,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()|| -"1"==urlParams.embed&&this.editor.graph.isEnabled()};var n=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){n.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile();this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&&c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b); -this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b);this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!= -c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility); -this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var q=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= -null);q.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,k,g){var f=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(f.getSvg(d,e,k)),"image/svg+xml");else{var m=a.getFileData(!0,null,null,null,null,!0),l=f.getGraphBounds(),n=Math.floor(l.width*e/f.view.scale),p=Math.floor(l.height* -e/f.view.scale);if(m.length<=MAX_REQUEST_SIZE&&n*p<MAX_AREA)if(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()){var t={globalVars:f.getExportVariables()};a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(t))+(0<g?"&dpi="+g:"")+"&bg="+(null!=d?d:"none")+"&w="+n+"&h="+p+"&border="+k+"&xml="+encodeURIComponent(m))})}else"png"==c?a.exportImage(e, -null==d||"none"==d,!0,!1,!1,k,!0,!1,null,null,g):a.exportImage(e,!1,!0,!1,!1,k,!0,!1,"jpeg");else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var c=0;c<this.pages.length;c++){var d=a;this.currentPage!=this.pages[c]&&(d=this.createTemporaryGraph(a.getStylesheet()),d.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+d.getIndexableText()+" "}else b= -a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxUtils.htmlEntities(a));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(d);var e=document.createElement("div");e.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<div style="text-align:center;padding:8px;"><img src="/images/spin.gif"></div>'; -var f={};try{var k=mxSettings.getCustomLibraries();for(a=0;a<k.length;a++){var g=k[a];if("R"==g.substring(0,1)){var l=JSON.parse(decodeURIComponent(g.substring(1)));f[l[0]]={id:l[0],title:l[1],downloadUrl:l[2]}}}}catch(I){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML="";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var d=a[c];f[d.id]&& -(b[d.id]=d);var k=this.addCheckbox(e,d.title,f[d.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(d,k)}},mxUtils.bind(this,function(a){e.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b,mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:mxResources.get("unknownError"));e.appendChild(b)}));c.appendChild(e);c=new CustomDialog(this,c,mxUtils.bind(this, -function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null==f[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(A){this.handleError(A,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c])); -for(c in f)b[c]||this.closeLibrary(new RemoteLibrary(this,null,f[c]));0==a&&this.spinner.stop()}),null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(c.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b], -"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,c=this.remoteInvokeCallbacks[b.callbackId];if(null==c)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?c.error&&c.error(a.error.errResp):c.callback&&c.callback.apply(this,a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,c,d,e){var f=!0,k=window.setTimeout(mxUtils.bind(this,function(){f=!1;e({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}), -this.timeout),g=mxUtils.bind(this,function(){window.clearTimeout(k);f&&d.apply(this,arguments)});c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:g,error:e});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,c){var d={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers}; -null!=c?d.error={errResp:c}:null!=b&&(d.resp=b);this.remoteWin.postMessage(JSON.stringify(d),"*")});try{var c=a.funtionName,d=this.remoteInvokableFns[c];if(null!=d&&"function"===typeof this[c]){var e=a.functionArgs;Array.isArray(e)||(e=[]);if(d.isAsync)e.push(function(){b(Array.prototype.slice.apply(arguments))}),e.push(function(a){b(null,a||"Unkown Error")}),this[c].apply(this,e);else{var f=this[c].apply(this,e);b([f])}}else b(null,"Invalid Call: "+c+" is not found.")}catch(x){b(null,"Invalid Call: An error occured, "+ -x.message)}};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(a,b){var c=this.getCurrentFile();null!=c?c.getComments(a,b):a([])};EditorUi.prototype.addComment= -function(a,b,c){var d=this.getCurrentFile();null!=d?d.addComment(a,b,c):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!=a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var c=this.getCurrentFile();return null!=c?c.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported= -function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var c=this.getCurrentFile();null!=c&&c.getRevisions?c.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var a=this.getCurrentFile();return null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck= -function(a){a.setRequestHeader("Content-Language","da, mi, en, de-DE")}})(); +c+='@font-face {font-family: "'+g+'";src: url("'+k+'");}'}f()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,k,l,n,q,y,B,C,A,G){try{g=null!=g?g:!0;k=null!=k?k:!0;B=null!=B?B:this.editor.graph;C=null!=C?C:0;var f=n?null:B.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==n&&(f="#ffffff");this.convertImages(B.getSvg(null,null,null,A,null,k,null,null,null,q),mxUtils.bind(this,function(c){try{var d=new Image;d.onload=mxUtils.bind(this,function(){try{var m=function(){mxClient.IS_SF? +window.setTimeout(function(){y.drawImage(d,C/l,C/l);a(k)},0):(y.drawImage(d,C/l,C/l),a(k))},k=document.createElement("canvas"),p=parseInt(c.getAttribute("width")),n=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=g?Math.min(1,Math.min(3*b/(4*n),b/p)):b/p);p=Math.ceil(l*p)+2*C;n=Math.ceil(l*n)+2*C;k.setAttribute("width",p);k.setAttribute("height",n);var y=k.getContext("2d");null!=f&&(y.beginPath(),y.rect(0,0,p,n),y.fillStyle=f,y.fill());y.scale(l,l);if(G){var t=B.view,u=t.scale;t.scale= +1;var q=btoa(unescape(encodeURIComponent(t.createSvgGrid(t.gridColor))));t.scale=u;var q="data:image/svg+xml;base64,"+q,v=B.gridSize*t.gridSteps*l,x=B.getGraphBounds(),z=t.translate.x*u,A=t.translate.y*u,D=z+(x.x-z)/u,I=A+(x.y-A)/u,J=new Image;J.onload=function(){try{for(var a=-Math.round(v-mxUtils.mod((z-D)*l,v)),b=-Math.round(v-mxUtils.mod((A-I)*l,v));a<p;a+=v)for(var c=b;c<n;c+=v)y.drawImage(J,a/l,c/l);m()}catch(ca){null!=e&&e(ca)}};J.onerror=function(a){null!=e&&e(a)};J.src=q}else m()}catch(ea){null!= +e&&e(ea)}});d.onerror=function(a){null!=e&&e(a)};q&&this.editor.graph.addSvgShadow(c);var m=function(a){var b=document.createElement("style");b.setAttribute("type","text/css");b.innerHTML=a;a=c.getElementsByTagName("defs");0==a.length?(a=null!=svgDoc.createElementNS?svgDoc.createElementNS(mxConstants.NS_SVG,"defs"):svgDoc.createElement("defs"),null!=c.firstChild?c.insertBefore(a,c.firstChild):c.appendChild(a)):a=a[0];a.appendChild(b)},k=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&& +m(this.editor.resolvedFontCss),this.editor.graph.mathEnabled&&this.editor.addMathCss(c),d.src=this.createSvgDataUri(mxUtils.getXml(c))}catch(N){null!=e&&e(N)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&m(a),this.loadFonts(k)}catch(P){null!=e&&e(P)}}))}catch(N){null!=e&&e(N)}}),c,y)}catch(K){null!=e&&e(K)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0, +7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"==d.substring(0,19)||mxClient.IS_CHROMEAPP||(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,g){for(var m=a.getElementsByTagName(c), +k=0;k<m.length;k++)mxUtils.bind(this,function(c){try{if(null!=c){var m=d.convert(c.getAttribute(g));if(null!=m&&"data:"!=m.substring(0,5)){var k=e[m];null==k?(f++,this.convertImageToDataUri(m,function(d){null!=d&&(e[m]=d,c.setAttribute(g,d));f--;0==f&&b(a)})):c.setAttribute(g,k)}else null!=m&&c.setAttribute(g,m)}}catch(A){}})(m[k])});c("image","xlink:href");c("img","src");0==f&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,e,g,k){try{var f=!k&&(d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)|| +/(\.gif)($|\?)/i.test(a));e=null!=e?e:!0;var m=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(f){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=String.fromCharCode(a[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}b(d)}}else null!= +c&&c({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()})},f,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:m})})});m()}catch(I){null!=c&&c(I)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b(this.svgBrokenImage.src)}),this.timeout); +if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(d);c&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(d);c&&b(this.svgBrokenImage.src)});else{var f=new Image,e=this;this.crossOriginImages&&(f.crossOrigin="anonymous");f.onload=function(){window.clearTimeout(d);if(c)try{var a=document.createElement("canvas"),g=a.getContext("2d");a.height=f.height;a.width=f.width;g.drawImage(f,0,0);b(a.toDataURL())}catch(D){b(e.svgBrokenImage.src)}};f.onerror= +function(){window.clearTimeout(d);c&&b(e.svgBrokenImage.src)};f.src=a}}catch(z){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){g.model.beginUpdate();try{var m=mxUtils.parseXml(a),k=this.editor.extractGraphModel(m.documentElement,null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var p=k.getElementsByTagName("diagram");if(1==p.length)k=Editor.parseDiagramNode(p[0]); +else if(1<p.length){a={};var m=[],l=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(k=Editor.parseDiagramNode(p[0]),d=!1,l=1);for(;l<p.length;l++){var n=p[l].getAttribute("id");p[l].removeAttribute("id");var u=this.updatePageRoot(new DiagramPage(p[l]));a[n]=p[l].getAttribute("id");var q=this.pages.length;null==u.getName()&&u.setName(mxResources.get("pageWithNumber",[q+1]));g.model.execute(new ChangePage(this,u,u,q,!0));m.push(u)}this.updatePageLinks(a,m)}}null!=k&&"mxGraphModel"=== +k.nodeName&&(f=g.importGraphModel(k,b,c,d))}finally{g.model.endUpdate()}}}catch(G){if(e)throw G;this.handleError(G)}return f};EditorUi.prototype.updatePageLinks=function(a,b){for(var c=0;c<b.length;c++)this.updatePageLinksForCell(a,b[c].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var c=document.createElement("div"),d=this.editor.graph,f=d.getLinkForCell(b);null!=f&&d.setLinkForCell(b,this.updatePageLink(a,f));if(d.isHtmlLabel(b)){c.innerHTML=d.getLabel(b);for(var e=c.getElementsByTagName("a"), +g=!1,m=0;m<e.length;m++)f=e[m].getAttribute("href"),null!=f&&(e[m].setAttribute("href",this.updatePageLink(a,f)),g=!0);g&&d.labelChanged(b,c.innerHTML)}for(m=0;m<d.model.getChildCount(b);m++)this.updatePageLinksForCell(a,d.model.getChildAt(b,m))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var c=a[b.substring(b.indexOf(",")+1)];b=null!=c?"data:page/id,"+c:null}else if("data:action/json,"==b.substring(0,17))try{var d=JSON.parse(b.substring(17));if(null!=d.actions){for(var f= +0;f<d.actions.length;f++){var e=d.actions[f];null!=e.open&&"data:page/id,"==e.open.substring(0,13)&&(c=a[e.open.substring(e.open.indexOf(",")+1)],null!=c?e.open="data:page/id,"+c:delete e.open)}b="data:action/json,"+JSON.stringify(d)}}catch(z){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)}); +var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var f=this.isRemoteVisioFormat(d);try{var e="UNKNOWN-VISIO",g=d.lastIndexOf(".");0<=g&&g<d.length&&(e=d.substring(g+1).toUpperCase());EditorUi.logEvent({category:e+"-MS-IMPORT-FILE",action:"filename_"+d,label:f?"remote":"local"})}catch(I){}if(f)if(null!=VSD_CONVERT_URL){f=new FormData;f.append("file1",a,d);var m=new XMLHttpRequest;m.open("POST",VSD_CONVERT_URL);m.responseType="blob";this.addRemoteServiceSecurityCheck(m); +m.onreadystatechange=mxUtils.bind(this,function(){if(4==m.readyState)if(200<=m.status&&299>=m.status)try{var a=m.response;if("text/xml"==a.type){var f=new FileReader;f.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(C){c({message:mxResources.get("errorLoadingFile")})}});f.readAsText(a)}else this.doImportVisio(a,b,c,d)}catch(B){c(B)}else c({})});m.send(f)}else c({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")}); +else try{this.doImportVisio(a,b,c,d)}catch(I){c(I)}}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importGraphML=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.doImportGraphML)try{this.doImportGraphML(a, +b,c)}catch(v){c(v)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportGraphML||this.loadingExtensions||this.isOffline(!0)?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()||this.handleError({message:mxResources.get("unknownError")})}catch(m){this.handleError(m)}else this.spinner.stop(), +this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,c){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(v){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(v){null!= +window.console&&console.error(v),c(v)}}else c({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.generatePlantUmlImage=function(a,b,c,d){function f(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=e(c1&63);r+=e(c2&63);r+=e(c3& +63);return r+=e(c4&63)}function e(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"}var g=new XMLHttpRequest;g.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+f(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+f(a.charCodeAt(i),0,0):r+f(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+ +2));return r}(pako.deflateRaw(a,{to:"string"})),!0);"txt"!=b&&(g.responseType="blob");g.onload=function(a){if(200<=this.status&&300>this.status)if("txt"==b)c(this.response);else{var f=new FileReader;f.readAsDataURL(this.response);f.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,e=b.height;if(0==a&&0==e){var g=f.result,m=g.indexOf(","),k=decodeURIComponent(escape(atob(g.substring(m+1)))),p=mxUtils.parseXml(k).getElementsByTagName("svg");0<p.length&&(a=parseFloat(p[0].getAttribute("width")), +e=parseFloat(p[0].getAttribute("height")))}c(f.result,a,e)}catch(H){d(H)}};b.src=f.result};f.onerror=function(a){d(a)}}else d(a)};g.onerror=function(a){d(a)};g.send()};EditorUi.prototype.insertAsPreText=function(a,b,c){var d=this.editor.graph,f=null;d.getModel().beginUpdate();try{f=d.insertVertex(null,null,"<pre>"+a+"</pre>",b,c,1,1,"text;html=1;align=left;verticalAlign=top;"),d.updateCellSize(f,!0)}finally{d.getModel().endUpdate()}return f};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,g,k){g= +null!=g?g:!0;k=null!=k?k:!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,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var f=this.editor.graph; +if("data:image/png;base64,"==a.substring(0,22)){var m=this.extractGraphModelFromPng(a),p=this.importXml(m,b,c,g,!0);if(0<p.length)return p}if("data:image/svg+xml;"==a.substring(0,19))try{if(m=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(m=a.substring(a.indexOf(",")+1),m=window.atob&&!mxClient.IS_SF?atob(m):Base64.decode(m,!0)):m=decodeURIComponent(a.substring(a.indexOf(",")+1)),p=this.importXml(m,b,c,g,!0),0<p.length)return p}catch(y){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"== +a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){f.setSelectionCell(f.insertVertex(null,null,"",f.snap(b),f.snap(c),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),k,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/d.height)),g=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f.insertVertex(null,null,"", +f.snap(b),f.snap(c),g,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,a,f.snap(b),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.updateCellSize(e),f.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{f.getModel().endUpdate()}f.setSelectionCell(e)}))}else{a=Graph.zapGremlins(mxUtils.trim(a)); +if(this.isCompatibleString(a))return this.importXml(a,b,c,g);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this,function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,c,g))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{f=this.editor.graph;e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,"",f.snap(b),f.snap(c),1,1,"text;"+(d?"html=1;":"")),f.fireEvent(new mxEventObject("textInserted","cells",[e])),"<"==a.charAt(0)&& +a.indexOf(">")==a.length-1&&(a=mxUtils.htmlEntities(a)),a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"..."),e.value=a,f.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(e.value)&&f.setLinkForCell(e,e.value),e.geometry.width+=f.gridSize,e.geometry.height+=f.gridSize}finally{f.getModel().endUpdate()}return[e]}}return[]}; +EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!= +a&&('{"state":"{\\"Properties\\":'==a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null==this.importFileInputElt){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&(this.importFiles(c.files,null,null,this.maxImageSize),c.type="",c.type="file",c.value="")}));c.style.display="none";document.body.appendChild(c);this.importFileInputElt= +c}this.importFileInputElt.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"});this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a, +0,0,!0))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var f=this.dialog,e=f.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;e.apply(f,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,c){var d=this,f=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(f){if(0== +Object.keys(f.files).length)c();else{var e=0,g,m=!1;f.forEach(function(a,d){var f=d.name.toLowerCase();"diagram/diagram.xml"==f?(m=!0,d.async("string").then(function(a){0==a.indexOf("<mxfile ")?b(a):c()})):0==f.indexOf("versions/")&&(f=parseInt(f.substr(9)),f>e&&(e=f,g=d))});0<e?g.async("string").then(function(f){!d.isOffline()&&(new XMLHttpRequest).upload&&d.isRemoteFileFormat(f,a.name)?d.parseFile(new Blob([f],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<= +a.status&&299>=a.status?b(a.responseText):c())}),a.name):c()}):m||c()}},function(a){c(a)}):c()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importFile=function(a,b,c,d,e,g,k,l,n,q,y){q=null!=q?q:!0;var f=!1,m=null,p=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,k)):b=this.importXml(a,c,d,q);null!=l&&l(b)});"image"== +b.substring(0,5)?(n=!1,"image/png"==b.substring(0,9)&&(b=y?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(m=this.importXml(b,c,d,q),n=!0)),n||(b=this.editor.graph,y=a.indexOf(";"),0<y&&(a=a.substring(0,y)+a.substring(a.indexOf(",",y+1))),q&&b.isGridEnabled()&&(c=b.snap(c),d=b.snap(d)),m=[b.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(f=!0, +this.importGraphML(a,p)):null!=n&&null!=k&&(/(\.v(dx|sdx?))($|\?)/i.test(k)||/(\.vs(x|sx?))($|\?)/i.test(k))?(f=!0,this.importVisio(n,p)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,k)?(f=!0,this.parseFile(null!=n?n:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?p(a.responseText):null!=l&&l(null))}),k)):0==a.indexOf("PK")&&null!=n?(f=!0,this.importZipFile(n,p,mxUtils.bind(this,function(){m= +this.insertTextAt(this.validateFileData(a),c,d,!0,null,q);l(m)}))):/(\.v(sd|dx))($|\?)/i.test(k)||/(\.vs(s|x))($|\?)/i.test(k)||(m=this.insertTextAt(this.validateFileData(a),c,d,!0,null,q));f||null==l||l(m);return m};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,f,e,g;c<d;){f=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<< +4);b+="==";break}e=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(e&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2);b+="=";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f& +3)<<4|(e&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,g,k,l,n,q,y,B){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var f=null!=b&&null!=c,m=!0,p=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var t=y||this.resampleThreshold,u=0;u<a.length;u++)if("image/"==a[u].type.substring(0, +6)&&a[u].size>t){p=!0;break}var v=mxUtils.bind(this,function(){var p=this.editor.graph,n=p.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,k,m,p){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,g,k,m,p,f,B)});g=null!=g?g:mxUtils.bind(this,function(a){p.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,u=t,C=[],v=mxUtils.bind(this,function(a, +b){C[a]=b;if(0==--u){this.spinner.stop();if(null!=l)l(C);else{var c=[];p.getModel().beginUpdate();try{for(var d=0;d<C.length;d++){var f=C[d]();null!=f&&(c=c.concat(f))}}finally{p.getModel().endUpdate()}}g(c)}}),A=0;A<t;A++)mxUtils.bind(this,function(f){var g=a[f];if(null!=g){var l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==k||k(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var l=a.target.result,t=l.indexOf(","),u=decodeURIComponent(escape(atob(l.substring(t+ +1)))),C=mxUtils.parseXml(u),u=C.getElementsByTagName("svg");if(0<u.length){var u=u[0],A=B?null:u.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?v(f,mxUtils.bind(this,function(){try{if(l.substring(0,t+1),null!=C){var a=C.getElementsByTagName("svg");if(0<a.length){var k=a[0],m=k.getAttribute("width"), +y=k.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,y=null!=y&&"%"!=y.charAt(y.length-1)?parseFloat(y):NaN,q=k.getAttribute("viewBox");if(null==q||0==q.length)k.setAttribute("viewBox","0 0 "+m+" "+y);else if(isNaN(m)||isNaN(y)){var u=q.split(" ");3<u.length&&(m=parseFloat(u[2]),y=parseFloat(u[3]))}l=this.createSvgDataUri(mxUtils.getXml(k));var B=Math.min(1,Math.min(d/Math.max(1,m)),d/Math.max(1,y)),v=e(l,g.type,b+f*n,c+f*n,Math.max(1,Math.round(m*B)),Math.max(1,Math.round(y* +B)),g.name);if(isNaN(m)||isNaN(y)){var A=new Image;A.onload=mxUtils.bind(this,function(){m=Math.max(1,A.width);y=Math.max(1,A.height);v[0].geometry.width=m;v[0].geometry.height=y;k.setAttribute("viewBox","0 0 "+m+" "+y);l=this.createSvgDataUri(mxUtils.getXml(k));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));p.setCellStyles("image",l,[v[0]])});A.src=this.createSvgDataUri(mxUtils.getXml(k))}return v}}}catch(ha){}return null})):v(f,mxUtils.bind(this,function(){return e(A, +"text/xml",b+f*n,c+f*n,0,0,g.name)}))}else v(f,mxUtils.bind(this,function(){return null}))}else{u=!1;if("image/png"==g.type){var z=B?null:this.extractGraphModelFromPng(a.target.result);if(null!=z&&0<z.length){var x=new Image;x.src=a.target.result;v(f,mxUtils.bind(this,function(){return e(z,"text/xml",b+f*n,c+f*n,x.width,x.height,g.name)}));u=!0}}u||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"), +mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k,a.target.result,mxUtils.bind(this,function(k,p,l){v(f,mxUtils.bind(this,function(){if(null!=k&&k.length<q){var t=m&&this.isResampleImage(a.target.result,y)?Math.min(1,Math.min(d/p,d/l)):1;return e(k,g.type,b+f*n,c+f*n,Math.round(p*t),Math.round(l*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")}); +return null}))}),m,d,y)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,b+f*n,c+f*n,240,160,g.name,function(a){v(f,function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?e(null,g.type,b+f*n,c+f*n,240,160,g.name,function(a){v(f,function(){return a})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)}})(A)});if(p){p=[];for(u=0;u<a.length;u++)p.push(a[u]); +a=p;this.confirmImageResize(function(a){m=a;v()},n)}else v()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,f=function(d,f){if(d||b)mxSettings.setResizeImages(d?f:null),mxSettings.save();c();a(f)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){f(a,!0)},function(a){f(a, +!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):f(!1,d)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var f=new XMLHttpRequest;f.open("POST",OPEN_URL);f.onreadystatechange=function(){b(f)}; +f.send(d);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(t){}};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var m=Math.max(f/e,k/e);if(1<m){var p=Math.round(f/m),l=Math.round(k/m),n=document.createElement("canvas");n.width=p;n.height=l;n.getContext("2d").drawImage(a, +0,0,p,l);var t=n.toDataURL();if(t.length<b.length){var q=document.createElement("canvas");q.width=p;q.height=l;var u=q.toDataURL();t!==u&&(b=t,f=p,k=l)}}}catch(E){}c(b,f,k)};EditorUi.prototype.crcTable=[];for(var b=0;256>b;b++)for(var e=b,g=0;8>g;g++)e=1==(e&1)?3988292384^e>>>1:e>>>1,EditorUi.prototype.crcTable[b]=e;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var f=0;f<d;f++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(c+f))&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable= +this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=m;m+=b;return a.substring(c,m)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a, +!0);var m=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,m);do{var p=g(a);if("IDAT"==f(a,4)){e=a.substring(0,m-8);"pHYs"==b&&"dpi"==c?(c=Math.round(d/.0254),c=k(c)+k(c)+String.fromCharCode(1)):c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(m-8, +a.length);break}e+=a.substring(m-8,m-4+p);f(a,p);f(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a}catch(v){if(null!=c)c(v);else throw v;}};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&& +!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph,c=b.cellEditor.startEditing;b.cellEditor.startEditing=function(d,f){var e=this.graph.getAttributeForCell(d,"plantUmlData");if(null!=e){var g=JSON.parse(e),e=new TextareaDialog(a,mxResources.get("plantUml")+":",g.data,function(c){null!=c&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(c,g.format,function(f,e,k){a.spinner.stop(); +b.getModel().beginUpdate();try{if("txt"==g.format)b.labelChanged(d,"<pre>"+f+"</pre>"),b.updateCellSize(d,!0);else{b.setCellStyles("image",a.convertDataUri(f),[d]);var m=b.model.getGeometry(d);null!=m&&(m=m.clone(),m.width=e,m.height=k,b.cellsResized([d],[m],!1))}b.setAttributeForCell(d,"plantUmlData",JSON.stringify({data:c,format:g.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);e.init()}else c.apply(this,arguments)}; +b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(G){a.handleError(G)}return c};var d=this.clearDefaultStyle;this.clearDefaultStyle=function(){d.apply(this,arguments)};this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var e=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!= +a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return e.apply(this,arguments)};var g=b.addClickHandler;b.addClickHandler=function(a,c,d){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null!=c&&b.isCustomLink(c)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(c)&& +mxEvent.consume(a);null!=f&&f(a,c)};g.call(this,a,c,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var l=b.getExportVariables;b.getExportVariables=function(){var b=l.apply(this,arguments);b.pagecount=null!=a.pages?a.pages.length:1;b.page=null!= +a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var n=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:1:n.apply(this,arguments)};var q=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var f=c.getAttribute("href"); +if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))q.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(f),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var I=this.actions.get("print");I.setEnabled(!mxClient.IS_IOS||!navigator.standalone);I.visible=I.isEnabled();if(!this.editor.chromeless|| +this.editor.editable)this.keyHandler.bindAction(70,!0,"find"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText",!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",!0),mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(this.altShiftActions[83]="synchronize"),this.installImagePasteHandler(),this.installNativeClipboardHandler(); +this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null== +d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,f,e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<= +mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,d)),f/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*f,a*f)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types, +"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(I=this.editor.graph.view,I.setUnit(mxSettings.getUnit()),I.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));mxSettings.save()}),this.ruler=!this.canvasSupported||9== +document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,I.unit),this.refresh());if("1"==urlParams.styledev){I=document.getElementById("geFooter");null!=I&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility= +"hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),I.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c|| +"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var y=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:y.apply(this,arguments)}}I=document.getElementById("geInfo");null!=I&&I.parentNode.removeChild(I);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B), +B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=B&&(B.parentNode.removeChild(B),B=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), +d=b.view.translate,f=b.view.scale,e=c.x/f-d.x,g=c.y/f-d.y;mxEvent.isAltDown(a)&&(g=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,e,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types, +"text/html")){var m=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=m;var p=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(m=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(m)||(p=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(m=c[0].getAttribute("href")));var l=!0,n=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(m,e,g,!0,p,null,l))});p&&m.length>this.resampleThreshold?this.confirmImageResize(function(a){l= +a;n()},mxEvent.isControlDown(a)):n()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",e,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k, +e,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),e,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData|| +b.originalEvent.clipboardData,d=!1,f=0;f<c.types.length;f++)if("text/"===c.types[f].substring(0,5)){d=!0;break}if(!d){var e=c.items;for(index in e){var g=e[index];if("file"===g.kind){if(a.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(b,c,d,f,e,g){a.insertImage(b,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize); +mxEvent.consume(b)}break}}}}catch(D){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){c.innerHTML=" ";c.focus();document.execCommand("selectAll",!1,null)},0)}var b=this.editor.graph,c=document.createElement("div");c.setAttribute("autocomplete","off");c.setAttribute("autocorrect","off");c.setAttribute("autocapitalize","off");c.setAttribute("spellcheck","false");c.style.textRendering="optimizeSpeed";c.style.fontFamily="monospace";c.style.wordBreak= +"break-all";c.style.background="transparent";c.style.color="transparent";c.style.position="absolute";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.display="block";c.style.fontSize="1";c.style.zIndex="-1";c.style.resize="none";c.style.outline="none";c.style.width="1px";c.style.height="1px";mxUtils.setOpacity(c,0);c.contentEditable=!0;c.innerHTML=" ";var d=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null); +mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var f=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==f.nodeName||"TEXTAREA"==f.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||d||(c.style.left=b.container.scrollLeft+10+"px",c.style.top=b.container.scrollTop+10+"px",b.container.appendChild(c),d=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){c.focus();document.execCommand("selectAll", +!1,null)},0):(c.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var f=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!d||224!=f&&17!=f&&91!=f||(d=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),c.parentNode.removeChild(c),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(c,"copy",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c), +a()}catch(z){this.handleError(z)}}));mxEvent.addListener(c,"cut",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c,!0),a()}catch(z){this.handleError(z)}}));mxEvent.addListener(c,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&((new Date).getTime(),c.innerHTML=" ",c.focus(),null!=a.clipboardData&&this.pasteCells(a,c,!0),mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,c,!1)}), +0))}),!0);var e=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==c?!0:e.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");0<c&&(b=this.getPageById(a.substring(c+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink= +function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors(); +if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(f){}this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){mxSettings.setCustomFonts(this.menus.customFonts); +mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat); +mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){console.log("gridColorChanged",this.editor.graph.view.gridColor);mxSettings.setGridColor(this.editor.graph.view.gridColor,"dark"==uiTheme);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})), +this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML= +"";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),f=mxUtils.getXml(c.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(f));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=f,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b,c){if(!mxEvent.isConsumed(a)){var d=b;if(c&&null!=a.clipboardData&&a.clipboardData.getData){var f=a.clipboardData.getData("text/html");if(null!=f&&0<f.length){if(d= +document.createElement("div"),d.innerHTML=f,f=d.getElementsByTagName("style"),null!=f)for(;0<f.length;)f[0].parentNode.removeChild(f[0])}else f=a.clipboardData.getData("text/plain"),null!=f&&0<f.length&&(d=document.createElement("div"),mxUtils.setTextContent(d,f))}f=d.getElementsByTagName("span");if(null!=f&&0<f.length&&"application/vnd.lucid.chart.objects"===f[0].getAttribute("data-lucid-type"))c=f[0].getAttribute("data-lucid-content"),null!=c&&0<c.length&&(this.convertLucidChart(c,mxUtils.bind(this, +function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var c=b.pasteCounter*b.gridSize;b.setSelectionCells(this.importXml(a,c,c));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a));else{var e=mxUtils.trim(null==d.innerText?mxUtils.getTextContent(d):d.innerText),g=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(C){}try{var f=d.getElementsByTagName("span"), +m=null!=f&&0<f.length?mxUtils.trim(decodeURIComponent(f[0].textContent)):decodeURIComponent(e);this.isCompatibleString(m)&&(g=!0,e=m)}catch(C){}try{var p=this.editor.graph;if(null!=e&&0<e.length){p.lastPasteXml==e?p.pasteCounter++:(p.lastPasteXml=e,p.pasteCounter=0);var l=p.pasteCounter*p.gridSize;if(g||this.isCompatibleString(e))p.setSelectionCells(this.importXml(e,l,l));else{var n=p.getInsertPoint();p.isMouseInsertPoint()&&(l=0,p.lastPasteXml==e&&0<p.pasteCounter&&p.pasteCounter--);p.setSelectionCells(this.insertTextAt(e, +n.x+l,n.y+l,!0))}if(!p.isSelectionEmpty()){p.scrollCellToVisible(p.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(p.view.getState(p.getSelectionCell()));try{mxEvent.consume(a)}catch(C){}}}else c||(p.lastPasteXml=null,p.pasteCounter=0)}catch(C){this.handleError(C)}}}b.innerHTML=" "};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b= +null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(), +"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types, +"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(c))).send(mxUtils.bind(this, +function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(c)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(c):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(c)))))}else this.openLocalFile(c,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,f;if(null==a){f=document.body; +var e=document.documentElement;d=(f.clientWidth||e.clientWidth)-3;f=Math.max(f.clientHeight||0,e.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,f=a.clientHeight;e=document.createElement("div");e.style.zIndex=mxPopupMenu.prototype.zIndex+2;e.style.border="3px dotted rgb(254, 137, 12)";e.style.pointerEvents="none";e.style.position="absolute";e.style.top=b+"px";e.style.left=c+"px";e.style.width=Math.max(0,d-3)+"px";e.style.height=Math.max(0,f-3)+"px";null!=a&&a.parentNode==this.editor.graph.container? +this.editor.graph.container.appendChild(e):document.body.appendChild(e);return e};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c= +0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{var d=c.target.result,f=a.name;if(null!=f&&0<f.length){!this.useCanvasForExport&&/(\.png)$/i.test(f)&&(f=f.substring(0,f.length-4)+".drawio");var e=mxUtils.bind(this,function(a){f=0<=f.lastIndexOf(".")?f.substring(0,f.lastIndexOf("."))+".drawio":f+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename, +b);try{this.loadLibrary(new LocalLibrary(this,a,f))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,f,b)});if(/(\.v(dx|sdx?))($|\?)/i.test(f)||/(\.vs(x|sx?))($|\?)/i.test(f))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(/(\.*<graphml )/.test(d))this.importGraphML(d,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d, +f))this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?e(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(d))/(\.json)$/i.test(f)&&(f=f.substring(0,f.length-5)+".drawio"),this.convertLucidChart(d,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,f,b)}),mxUtils.bind(this,function(a){this.spinner.stop(); +this.handleError(a)}));else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(I){this.handleError(I,mxResources.get("errorLoadingFile"))}}else 0==d.indexOf("PK")?this.importZipFile(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(d, +f,b)})):("image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,f,b))}}catch(I){this.handleError(I)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),f=mxUtils.bind(this,function(){window.openFile= +null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename,c))});if(null!=a&&0<a.length)null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?f():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"), +mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):f()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]), +this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,f=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(f[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(f[mxConstants.STYLE_STARTARROW])), +c(mxMarker.getPackageForType(f[mxConstants.STYLE_ENDARROW])));for(var f=d.model.getChildCount(a),e=0;e<f;e++)this.addBasenamesForCell(d.model.getChildAt(a,e),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.ruler&& +(this.ruler.hRuler.container.style.visibility=a?"":"hidden",this.ruler.vRuler.container.style.visibility=a?"":"hidden");null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))}; +EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog(),this.chromelessResize&& +this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))}; +EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,f=null,e=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified? +null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,e);mxEvent.addListener(window,"message",mxUtils.bind(this,function(e){if(e.source==(window.opener||window.parent)){var k=e.data,m=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"== +a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=Graph.decompress(a)))}catch(R){}return a});if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(Z){k=null}try{if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey): +k.button);null!=k.modified&&(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){var p=m(k.xml);this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound", +[k.name||this.defaultFilename]),p,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}), +"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(Z){g.postMessage(JSON.stringify({event:"draft",error:Z.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var n=1==k.enableRecent,t=1==k.enableSearch,q=1==k.enableCustomTemp,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?g.postMessage(JSON.stringify({event:"template", +xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,e,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,n?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,t?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template", +docUrl:a,info:b,name:c}),"*")}),null,null,q?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("textContent"==k.action){var u=this.getDiagramTextContent();g.postMessage(JSON.stringify({event:"textContent",data:u,message:k}),"*");return}if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))): +null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var v=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,v):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var x=null!=k.xml? +k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var z=this.editor.graph,J=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(x);g.postMessage(JSON.stringify(b),"*")}),N=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(x)));z!=this.editor.graph&&z.container.parentNode.removeChild(z.container); +J(a)}),P=k.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!=P){for(var Y=z.getGlobalVariable,z=this.createTemporaryGraph(z.getStylesheet()),T,L=0;L<this.pages.length;L++)if(this.pages[L].getId()==P){T=this.updatePageRoot(this.pages[L]);break}z.getGlobalVariable=function(a){return"page"==a?T.getName():"pagenumber"==a?1:Y.apply(this,arguments)};document.body.appendChild(z.container);z.model.setRoot(T.root)}if(null!=k.layerIds){for(var V= +z.model,X=V.getChildCells(V.getRoot()),l={},L=0;L<k.layerIds.length;L++)l[k.layerIds[L]]=!0;for(L=0;L<X.length;L++)V.setVisible(X[L],l[X[L].id]||!1)}this.exportToCanvas(mxUtils.bind(this,function(a){N(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){N(null)}),null,null,k.scale,null,null,null,z)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=P?"&pageId="+P:"")+(null!=k.layerIds?"&extras="+encodeURIComponent(JSON.stringify({layerIds:k.layerIds})): +"")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(x))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?J("data:image/png;base64,"+a.getText()):N(null)}),mxUtils.bind(this,function(){N(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);v=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var ga=this.getXmlFileData();v.xml=mxUtils.getXml(ga);v.data= +this.getFileData(null,null,!0,null,null,null,ga);v.format=k.format}else if("html"==k.format)x=this.editor.getGraphXml(),v.data=this.getHtml(x,this.editor.graph),v.xml=mxUtils.getXml(x),v.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;var fa=this.editor.graph.background;fa==mxConstants.NONE&&(fa=null);v.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);v.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body, +null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==k.format?this.getEmbeddedSvg(v.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(v),"*")})):this.convertImages(this.editor.graph.getSvg(fa),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(v), +"*")}));return}var ba="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(fa));v.data=this.createSvgDataUri(ba)}g.postMessage(JSON.stringify(v),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(p=document.createElement("span"), +mxUtils.write(p,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(p),this.embedFilenameSpan=p),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng): +k.xml;else{"remoteInvokeReady"==k.action?this.handleRemoteInvokeReady(g):"remoteInvoke"==k.action?this.handleRemoteInvoke(k):"remoteInvokeResponse"==k.action?this.handleRemoteInvokeResponse(k):g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(k)}),"*");return}}catch(Z){this.handleError(Z)}}var U=mxUtils.bind(this,function(e,k){c=!0;try{a(e,k)}catch(aa){this.handleError(aa)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var m=mxUtils.bind(this,function(){return"0"!= +urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});f=m();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=m();if(d!=f&&!c){var e=this.createLoadMessage("autosave");e.xml=d;d=JSON.stringify(e);(window.opener||window.parent).postMessage(d,"*")}f=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged", +b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")});null!=k&&"function"===typeof k.substring&& +"data:application/vnd.visio;base64,"==k.substring(0,34)?(m="0M8R4KGxGuE"==k.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(k.substring(k.indexOf(",")+1)),function(a){U(a,e)},mxUtils.bind(this,function(a){this.handleError(a)}),m)):null!=k&&"function"===typeof k.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(k,"")?this.parseFile(new Blob([k],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&& +299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&U(a.responseText,e)}),""):null!=k&&"function"===typeof k.substring&&this.isLucidChartData(k)?this.convertLucidChart(k,mxUtils.bind(this,function(a){U(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):(k=m(k),U(k,e))}}));var g=window.opener||window.parent,e="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(e,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a= +document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"0px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");b.className="geBigButton";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)): +(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this, +function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geBigButton geBigStandardButton";b.style.marginLeft="6px";b.style.marginRight="20px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme? +"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://about.draw.io/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList= +function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),f=0;f<a.length;f++){var e=new window[a[f].layout](c);if(null!=a[f].config)for(var k in a[f].config)e[k]=a[f].config[k];this.executeLayout(function(){e.execute(c.getDefaultParent(),0==d.length?null:d)},f==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],f=[],e={};if(0<c.length){var k={},g=null,m=null,l=null,n=null,q=null,C=null,A=null,G=null,E="",K="auto",H="auto",F=null,J=null,N=40,P=40,Y=100, +T=0,L=this.editor.graph;L.getGraphBounds();for(var V=function(){null!=b?b(la):(L.setSelectionCells(la),L.scrollCellToVisible(L.getSelectionCell()))},X=L.getFreeInsertPoint(),ga=X.x,fa=X.y,X=fa,ba=null,U="auto",G=null,Z=[],R=null,da=null,aa=0;aa<c.length&&"#"==c[aa].charAt(0);){a=c[aa];for(aa++;aa<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[aa].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[aa].substring(1)),aa++;if("#"!=a.charAt(1)){var ea=a.indexOf(":");if(0<ea){var Q=mxUtils.trim(a.substring(1, +ea)),O=mxUtils.trim(a.substring(ea+1));"label"==Q?ba=L.sanitizeHtml(O):"labelname"==Q&&0<O.length&&"-"!=O?n=O:"labels"==Q&&0<O.length&&"-"!=O?q=JSON.parse(O):"style"==Q?g=O:"parentstyle"==Q?C=O:"stylename"==Q&&0<O.length&&"-"!=O?l=O:"styles"==Q&&0<O.length&&"-"!=O?m=JSON.parse(O):"identity"==Q&&0<O.length&&"-"!=O?A=O:"parent"==Q&&0<O.length&&"-"!=O?G=O:"namespace"==Q&&0<O.length&&"-"!=O?E=O:"width"==Q?K=O:"height"==Q?H=O:"left"==Q&&0<O.length?F=O:"top"==Q&&0<O.length?J=O:"ignore"==Q?da=O.split(","): +"connect"==Q?Z.push(JSON.parse(O)):"link"==Q?R=O:"padding"==Q?T=parseFloat(O):"edgespacing"==Q?N=parseFloat(O):"nodespacing"==Q?P=parseFloat(O):"levelspacing"==Q?Y=parseFloat(O):"layout"==Q&&(U=O)}}}if(null==c[aa])throw Error(mxResources.get("invalidOrMissingFile"));var ca=this.editor.csvToArray(c[aa]),Q=ea=null;if(null!=A||null!=G)for(var W=0;W<ca.length;W++)A==ca[W]&&(ea=W),G==ca[W]&&(Q=W);null==ba&&(ba="%"+ca[0]+"%");if(null!=Z)for(var S=0;S<Z.length;S++)null==k[Z[S].to]&&(k[Z[S].to]={});L.model.beginUpdate(); +try{for(W=aa+1;W<c.length;W++){var ia=this.editor.csvToArray(c[W]);if(null==ia){var ma=40<c[W].length?c[W].substring(0,40)+"...":c[W];throw Error(W+" ("+ma+") "+mxResources.get("containsValidationErrors"));}if(ia.length==ca.length){var M=null,ka=null!=ea?E+ia[ea]:null;null!=ka&&(M=L.model.getCell(ka));var A=null!=M,ha=new mxCell(ba,new mxGeometry(ga,X,0,0),g||"whiteSpace=wrap;html=1;");ha.vertex=!0;ha.id=ka;for(var ja=0;ja<ia.length;ja++)L.setAttributeForCell(ha,ca[ja],ia[ja]);if(null!=n&&null!=q){var ua= +q[ha.getAttribute(n)];null!=ua&&L.labelChanged(ha,ua)}if(null!=l&&null!=m){var va=m[ha.getAttribute(l)];null!=va&&(ha.style=va)}L.setAttributeForCell(ha,"placeholders","1");ha.style=L.replacePlaceholders(ha,ha.style);A&&(L.model.setGeometry(M,ha.geometry),L.model.setStyle(M,ha.style),0>mxUtils.indexOf(f,M)&&f.push(M));M=ha;if(!A)for(S=0;S<Z.length;S++)k[Z[S].to][M.getAttribute(Z[S].to)]=M;null!=R&&"link"!=R&&(L.setLinkForCell(M,M.getAttribute(R)),L.setAttributeForCell(M,R,null));L.fireEvent(new mxEventObject("cellsInserted", +"cells",[M]));var wa=this.editor.graph.getPreferredSizeForCell(M);M.vertex&&(null!=F&&null!=M.getAttribute(F)&&(M.geometry.x=ga+parseFloat(M.getAttribute(F))),null!=J&&null!=M.getAttribute(J)&&(M.geometry.y=fa+parseFloat(M.getAttribute(J))),"@"==K.charAt(0)&&null!=M.getAttribute(K.substring(1))?M.geometry.width=parseFloat(M.getAttribute(K.substring(1))):M.geometry.width="auto"==K?wa.width+T:parseFloat(K),"@"==H.charAt(0)&&null!=M.getAttribute(H.substring(1))?M.geometry.height=parseFloat(M.getAttribute(H.substring(1))): +M.geometry.height="auto"==H?wa.height+T:parseFloat(H),X+=M.geometry.height+P);A?(null==e[ka]&&(e[ka]=[]),e[ka].push(M)):(G=null!=Q?L.model.getCell(E+ia[Q]):null,d.push(M),null!=G?(G.style=L.replacePlaceholders(G,C),L.addCell(M,G)):f.push(L.addCell(M)))}}for(var na=f.slice(),la=f.slice(),S=0;S<Z.length;S++)for(var xa=Z[S],W=0;W<f.length;W++){var M=f[W],ya=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){L.setAttributeForCell(b,c.from,null);for(var d=d.split(","),f=0;f<d.length;f++){var e= +k[c.to][d[f]];if(null!=e){var g=c.label;null!=c.fromlabel&&(g=(b.getAttribute(c.fromlabel)||"")+(g||""));null!=c.tolabel&&(g=(g||"")+(e.getAttribute(c.tolabel)||""));la.push(L.insertEdge(null,null,g||"",c.invert?e:a,c.invert?a:e,c.style||L.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:e,na)}}}});ya(M,M,xa);if(null!=e[M.id])for(ja=0;ja<e[M.id].length;ja++)ya(M,e[M.id][ja],xa)}if(null!=da)for(W=0;W<d.length;W++)for(M=d[W],ja=0;ja<da.length;ja++)L.setAttributeForCell(M,mxUtils.trim(da[ja]),null); +if(0<f.length){var oa=new mxParallelEdgeLayout(L);oa.spacing=N;var ta=function(){0<oa.spacing&&oa.execute(L.getDefaultParent());for(var a=0;a<f.length;a++){var b=L.getCellGeometry(f[a]);b.x=Math.round(L.snap(b.x));b.y=Math.round(L.snap(b.y));"auto"==K&&(b.width=Math.round(L.snap(b.width)));"auto"==H&&(b.height=Math.round(L.snap(b.height)))}};if("["==U.charAt(0)){var za=V;L.view.validate();this.executeLayoutList(JSON.parse(U),function(){ta();za()});V=null}else if("circle"==U){var ra=new mxCircleLayout(L); +ra.resetEdges=!1;var Aa=ra.isVertexIgnored;ra.isVertexIgnored=function(a){return Aa.apply(this,arguments)||0>mxUtils.indexOf(f,a)};this.executeLayout(function(){ra.execute(L.getDefaultParent());ta()},!0,V);V=null}else if("horizontaltree"==U||"verticaltree"==U||"auto"==U&&la.length==2*f.length-1&&1==na.length){L.view.validate();var sa=new mxCompactTreeLayout(L,"horizontaltree"==U);sa.levelDistance=P;sa.edgeRouting=!1;sa.resetEdges=!1;this.executeLayout(function(){sa.execute(L.getDefaultParent(),0< +na.length?na[0]:null)},!0,V);V=null}else if("horizontalflow"==U||"verticalflow"==U||"auto"==U&&1==na.length){L.view.validate();var pa=new mxHierarchicalLayout(L,"horizontalflow"==U?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);pa.intraCellSpacing=P;pa.parallelEdgeSpacing=N;pa.interRankCellSpacing=Y;pa.disableEdgeStyle=!1;this.executeLayout(function(){pa.execute(L.getDefaultParent(),la);L.moveCells(la,ga,fa)},!0,V);V=null}else if("organic"==U||"auto"==U&&la.length>f.length){L.view.validate(); +var qa=new mxFastOrganicLayout(L);qa.forceConstant=3*P;qa.resetEdges=!1;var Ba=qa.isVertexIgnored;qa.isVertexIgnored=function(a){return Ba.apply(this,arguments)||0>mxUtils.indexOf(f,a)};oa=new mxParallelEdgeLayout(L);oa.spacing=N;this.executeLayout(function(){qa.execute(L.getDefaultParent());ta()},!0,V);V=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=V&&V()}}catch(Ca){this.handleError(Ca)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&& +null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&& +(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var l=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=l.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a= +this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* +a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a, +8/a)};var f=b.init;b.init=function(){f.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat= +e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var k=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=k.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=1;null==this.drive&&"function"!==typeof window.DriveClient|| +c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.gitLab||c++;b&&a&&isLocalStorage&&"1"==urlParams.browser&&c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b); +var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c),this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()|| +null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.actions.get("undo").setEnabled(this.canUndo()&&a);this.actions.get("redo").setEnabled(this.canRedo()&&a);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&& +this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var d=applicationCache;if(null!=d&&null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin= +"4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var d=window.applicationCache,e=null,b=mxUtils.bind(this,function(){var a=d.status,b;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:b= +"";break;case d.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case d.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case d.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b= +'<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=e&&(this.offlineStatus.innerHTML=b,e=a)});mxEvent.addListener(d,"checking",b);mxEvent.addListener(d,"noupdate",b);mxEvent.addListener(d,"downloading",b);mxEvent.addListener(d,"progress",b);mxEvent.addListener(d,"cached",b);mxEvent.addListener(d,"updateready",b);mxEvent.addListener(d,"obsolete",b);mxEvent.addListener(d,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement= +function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var n=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){n.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile();this.actions.get("pageSetup").setEnabled(b); +this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&&c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell())); +this.actions.get("createShape").setEnabled(b);this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility); +this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)}; +var q=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);q.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,k,g){var f=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b, +"svg",mxUtils.getXml(f.getSvg(d,e,k)),"image/svg+xml");else{var m=a.getFileData(!0,null,null,null,null,!0),l=f.getGraphBounds(),n=Math.floor(l.width*e/f.view.scale),p=Math.floor(l.height*e/f.view.scale);if(m.length<=MAX_REQUEST_SIZE&&n*p<MAX_AREA)if(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()){var t={globalVars:f.getExportVariables()};a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a): +"")+"&extras="+encodeURIComponent(JSON.stringify(t))+(0<g?"&dpi="+g:"")+"&bg="+(null!=d?d:"none")+"&w="+n+"&h="+p+"&border="+k+"&xml="+encodeURIComponent(m))})}else"png"==c?a.exportImage(e,null==d||"none"==d,!0,!1,!1,k,!0,!1,null,null,g):a.exportImage(e,!1,!0,!1,!1,k,!0,!1,"jpeg");else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var c=0;c<this.pages.length;c++){var d= +a;this.currentPage!=this.pages[c]&&(d=this.createTemporaryGraph(a.getStylesheet()),d.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+d.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxUtils.htmlEntities(a));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px"; +c.appendChild(d);var e=document.createElement("div");e.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<div style="text-align:center;padding:8px;"><img src="/images/spin.gif"></div>';var f={};try{var k=mxSettings.getCustomLibraries();for(a=0;a<k.length;a++){var g=k[a];if("R"==g.substring(0,1)){var l=JSON.parse(decodeURIComponent(g.substring(1)));f[l[0]]={id:l[0],title:l[1],downloadUrl:l[2]}}}}catch(I){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML= +"";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var d=a[c];f[d.id]&&(b[d.id]=d);var k=this.addCheckbox(e,d.title,f[d.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(d,k)}},mxUtils.bind(this,function(a){e.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b, +mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:mxResources.get("unknownError"));e.appendChild(b)}));c.appendChild(e);c=new CustomDialog(this,c,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null==f[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(A){this.handleError(A, +mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c]));for(c in f)b[c]||this.closeLibrary(new RemoteLibrary(this,null,f[c]));0==a&&this.spinner.stop()}),null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(c.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks= +[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,c=this.remoteInvokeCallbacks[b.callbackId];if(null==c)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?c.error&&c.error(a.error.errResp):c.callback&&c.callback.apply(this, +a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,c,d,e){var f=!0,k=window.setTimeout(mxUtils.bind(this,function(){f=!1;e({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),g=mxUtils.bind(this,function(){window.clearTimeout(k);f&&d.apply(this,arguments)});c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:g,error:e});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b, +msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,c){var d={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=c?d.error={errResp:c}:null!=b&&(d.resp=b);this.remoteWin.postMessage(JSON.stringify(d),"*")});try{var c=a.funtionName,d=this.remoteInvokableFns[c];if(null!=d&&"function"===typeof this[c]){var e=a.functionArgs;Array.isArray(e)||(e=[]);if(d.isAsync)e.push(function(){b(Array.prototype.slice.apply(arguments))}), +e.push(function(a){b(null,a||"Unkown Error")}),this[c].apply(this,e);else{var f=this[c].apply(this,e);b([f])}}else b(null,"Invalid Call: "+c+" is not found.")}catch(z){b(null,"Invalid Call: An error occured, "+z.message)}};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded= +function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(a,b){var c=this.getCurrentFile();null!=c?c.getComments(a,b):a([])};EditorUi.prototype.addComment=function(a,b,c){var d=this.getCurrentFile();null!=d?d.addComment(a,b,c):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!= +a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var c=this.getCurrentFile();return null!=c?c.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported=function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var c=this.getCurrentFile();null!=c&&c.getRevisions?c.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled= +function(){var a=this.getCurrentFile();return null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(a){a.setRequestHeader("Content-Language","da, mi, en, de-DE")}})(); var CommentsWindow=function(a,c,d,b,e,g){function k(){for(var a=D.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==D&&b++;I.style.display=0==b?"block":"none"}function l(a,b,c,d){function e(){b.removeChild(m);b.removeChild(l);g.style.display="block";f.style.display="block"}t={div:b,comment:a,saveCallback:c,deleteOnCancel:d};var f=b.querySelector(".geCommentTxt"),g=b.querySelector(".geCommentActionsList"),m=document.createElement("textarea");m.className= "geCommentEditTxtArea";m.style.minHeight=f.offsetHeight+"px";m.value=a.content;b.insertBefore(m,f);var l=document.createElement("div");l.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){d?(b.parentNode.removeChild(b),k()):e();t=null});n.className="geCommentEditBtn";l.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=m.value;mxUtils.write(f,a.content);e();c(a);t=null});mxEvent.addListener(m,"keydown",mxUtils.bind(this, function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";l.appendChild(p);b.insertBefore(l,f);g.style.display="none";f.style.display="none";m.focus()}function n(b,c){c.innerHTML="";var d=new Date(b.modifiedDate),e=a.timeSince(d);null==e&&(e=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo", -[e],"{1} ago"));c.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString())}function q(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function f(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function m(a){a.style.border="";a.removeChild(a.busyImg)}function p(b,c,d,e,g){function z(a,c,d){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className= -"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});G.appendChild(e);d&&(e.style.display="none")}function B(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=x;a(b);return{pdiv:d,replies:c}}function A(c,d,k,g,n){function z(){q(v);b.addReply(C,function(a){C.id=a;b.replies.push(C);m(v);k&&k()},function(b){t();f(v);a.handleError(b,null, -null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},g,n)}function t(){l(C,v,function(a){z()},!0)}var u=B().pdiv,C=a.newComment(c,a.getCurrentUser());C.pCommentId=b.id;null==b.replies&&(b.replies=[]);var v=p(C,b.replies,u,e+1);d?t():z()}if(g||!b.isResolved){I.style.display="none";var x=document.createElement("div");x.className="geCommentContainer";x.setAttribute("data-commentId",b.id);x.style.marginLeft=20*e+5+"px";b.isResolved&&"dark"!=uiTheme&&(x.style.backgroundColor="ghostWhite"); -var y=document.createElement("div");y.className="geCommentHeader";var J=document.createElement("img");J.className="geCommentUserImg";J.src=b.user.pictureUrl||Editor.userImage;y.appendChild(J);J=document.createElement("div");J.className="geCommentHeaderTxt";y.appendChild(J);var E=document.createElement("div");E.className="geCommentUsername";mxUtils.write(E,b.user.displayName||"");J.appendChild(E);E=document.createElement("div");E.className="geCommentDate";E.setAttribute("data-commentId",b.id);n(b, -E);J.appendChild(E);x.appendChild(y);y=document.createElement("div");y.className="geCommentTxt";mxUtils.write(y,b.content||"");x.appendChild(y);y=document.createElement("div");y.className="geCommentActions";var G=document.createElement("ul");G.className="geCommentActionsList";y.appendChild(G);u||0!=e&&!v||z(mxResources.get("reply"),function(){A("",!0)},b.isResolved);J=a.getCurrentUser();null==J||J.id!=b.user.id||u||(z(mxResources.get("edit"),function(){function c(){l(b,x,function(){q(x);b.editComment(b.content, -function(){m(x)},function(b){f(x);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),z(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){q(x);b.deleteComment(function(){for(var a=B(b).replies,d=0;d<a.length;d++)D.removeChild(a[d]);for(d=0;d<c.length;d++)if(c[d]==b){c.splice(d,1);break}I.style.display=0==D.getElementsByTagName("div").length?"block":"none"},function(b){f(x);a.handleError(b,null,null, -null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));u||0!=e||z(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=B(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var m=e[g].querySelectorAll(".geCommentAction"), -l=0;l<m.length;l++)m[l]!=c.parentNode&&(m[l].style.display=d);C||(e[g].style.display="none")}k()}b.isResolved?A(mxResources.get("reOpened")+": ",!0,c,!1,!0):A(mxResources.get("markedAsResolved"),!1,c,!0)});x.appendChild(y);null!=d?D.insertBefore(x,d.nextSibling):D.appendChild(x);for(d=0;null!=b.replies&&d<b.replies.length;d++)y=b.replies[d],y.isResolved=b.isResolved,p(y,b.replies,null,e+1,g);null!=t&&(t.comment.id==b.id?(g=b.content,b.content=t.comment.content,l(b,x,t.saveCallback,t.deleteOnCancel), -b.content=g):null==t.comment.id&&t.comment.pCommentId==b.id&&(D.appendChild(t.div),l(t.comment,t.div,t.saveCallback,t.deleteOnCancel)));return x}}var u=!a.canComment(),v=a.canReplyToReplies(),t=null,x=document.createElement("div");x.className="geCommentsWin";x.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var y=EditorUi.compactUi?"26px":"30px",D=document.createElement("div");D.className="geCommentsList";D.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke": -Dialog.backdropColor;D.style.bottom=parseInt(y)+7+"px";x.appendChild(D);var I=document.createElement("span");I.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(I,mxResources.get("noCommentsFound"));var z=document.createElement("div");z.className="geToolbarContainer geCommentsToolbar";z.style.height=y;z.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";z.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(z.style.filter= -"none");y=document.createElement("a");y.className="geButton";mxClient.IS_QUIRKS&&(y.style.filter="none");if(!u){var B=y.cloneNode();B.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';B.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(B,"click",function(b){function c(){l(d,e,function(b){q(e);a.addComment(b,function(a){b.id=a;A.push(b);m(e)},function(b){f(e);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})}, -!0)}var d=a.newComment("",a.getCurrentUser()),e=p(d,A,null,0);c();b.preventDefault();mxEvent.consume(b)});z.appendChild(B)}B=y.cloneNode();B.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';B.setAttribute("title",mxResources.get("showResolved"));var C=!1;"dark"==uiTheme&&(B.style.filter="invert(100%)");mxEvent.addListener(B,"click",function(a){this.className=(C=!C)?"geButton geCheckedBtn":"geButton";G();a.preventDefault();mxEvent.consume(a)});z.appendChild(B);a.commentsRefreshNeeded()&& -(B=y.cloneNode(),B.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',B.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(B.style.filter="invert(100%)"),mxEvent.addListener(B,"click",function(a){G();a.preventDefault();mxEvent.consume(a)}),z.appendChild(B));a.commentsSaveNeeded()&&(y=y.cloneNode(),y.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',y.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&& -(y.style.filter="invert(100%)"),mxEvent.addListener(y,"click",function(a){g();a.preventDefault();mxEvent.consume(a)}),z.appendChild(y));x.appendChild(z);var A=[],G=mxUtils.bind(this,function(){this.hasError=!1;if(null!=t)try{t.div=t.div.cloneNode(!0);var b=t.div.querySelector(".geCommentEditTxtArea"),c=t.div.querySelector(".geCommentEditBtns");t.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}catch(F){a.handleError(F)}D.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+ +[e],"{1} ago"));c.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString())}function q(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function f(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function m(a){a.style.border="";a.removeChild(a.busyImg)}function p(b,c,d,e,g){function y(a,c,d){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className= +"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});G.appendChild(e);d&&(e.style.display="none")}function B(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=x;a(b);return{pdiv:d,replies:c}}function A(c,d,k,g,n){function y(){q(v);b.addReply(C,function(a){C.id=a;b.replies.push(C);m(v);k&&k()},function(b){t();f(v);a.handleError(b,null, +null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},g,n)}function t(){l(C,v,function(a){y()},!0)}var u=B().pdiv,C=a.newComment(c,a.getCurrentUser());C.pCommentId=b.id;null==b.replies&&(b.replies=[]);var v=p(C,b.replies,u,e+1);d?t():y()}if(g||!b.isResolved){I.style.display="none";var x=document.createElement("div");x.className="geCommentContainer";x.setAttribute("data-commentId",b.id);x.style.marginLeft=20*e+5+"px";b.isResolved&&"dark"!=uiTheme&&(x.style.backgroundColor="ghostWhite"); +var z=document.createElement("div");z.className="geCommentHeader";var J=document.createElement("img");J.className="geCommentUserImg";J.src=b.user.pictureUrl||Editor.userImage;z.appendChild(J);J=document.createElement("div");J.className="geCommentHeaderTxt";z.appendChild(J);var E=document.createElement("div");E.className="geCommentUsername";mxUtils.write(E,b.user.displayName||"");J.appendChild(E);E=document.createElement("div");E.className="geCommentDate";E.setAttribute("data-commentId",b.id);n(b, +E);J.appendChild(E);x.appendChild(z);z=document.createElement("div");z.className="geCommentTxt";mxUtils.write(z,b.content||"");x.appendChild(z);z=document.createElement("div");z.className="geCommentActions";var G=document.createElement("ul");G.className="geCommentActionsList";z.appendChild(G);u||0!=e&&!v||y(mxResources.get("reply"),function(){A("",!0)},b.isResolved);J=a.getCurrentUser();null==J||J.id!=b.user.id||u||(y(mxResources.get("edit"),function(){function c(){l(b,x,function(){q(x);b.editComment(b.content, +function(){m(x)},function(b){f(x);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),y(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){q(x);b.deleteComment(function(){for(var a=B(b).replies,d=0;d<a.length;d++)D.removeChild(a[d]);for(d=0;d<c.length;d++)if(c[d]==b){c.splice(d,1);break}I.style.display=0==D.getElementsByTagName("div").length?"block":"none"},function(b){f(x);a.handleError(b,null,null, +null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));u||0!=e||y(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=B(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var m=e[g].querySelectorAll(".geCommentAction"), +l=0;l<m.length;l++)m[l]!=c.parentNode&&(m[l].style.display=d);C||(e[g].style.display="none")}k()}b.isResolved?A(mxResources.get("reOpened")+": ",!0,c,!1,!0):A(mxResources.get("markedAsResolved"),!1,c,!0)});x.appendChild(z);null!=d?D.insertBefore(x,d.nextSibling):D.appendChild(x);for(d=0;null!=b.replies&&d<b.replies.length;d++)z=b.replies[d],z.isResolved=b.isResolved,p(z,b.replies,null,e+1,g);null!=t&&(t.comment.id==b.id?(g=b.content,b.content=t.comment.content,l(b,x,t.saveCallback,t.deleteOnCancel), +b.content=g):null==t.comment.id&&t.comment.pCommentId==b.id&&(D.appendChild(t.div),l(t.comment,t.div,t.saveCallback,t.deleteOnCancel)));return x}}var u=!a.canComment(),v=a.canReplyToReplies(),t=null,z=document.createElement("div");z.className="geCommentsWin";z.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var x=EditorUi.compactUi?"26px":"30px",D=document.createElement("div");D.className="geCommentsList";D.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke": +Dialog.backdropColor;D.style.bottom=parseInt(x)+7+"px";z.appendChild(D);var I=document.createElement("span");I.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(I,mxResources.get("noCommentsFound"));var y=document.createElement("div");y.className="geToolbarContainer geCommentsToolbar";y.style.height=x;y.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";y.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(y.style.filter= +"none");x=document.createElement("a");x.className="geButton";mxClient.IS_QUIRKS&&(x.style.filter="none");if(!u){var B=x.cloneNode();B.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';B.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(B,"click",function(b){function c(){l(d,e,function(b){q(e);a.addComment(b,function(a){b.id=a;A.push(b);m(e)},function(b){f(e);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})}, +!0)}var d=a.newComment("",a.getCurrentUser()),e=p(d,A,null,0);c();b.preventDefault();mxEvent.consume(b)});y.appendChild(B)}B=x.cloneNode();B.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';B.setAttribute("title",mxResources.get("showResolved"));var C=!1;"dark"==uiTheme&&(B.style.filter="invert(100%)");mxEvent.addListener(B,"click",function(a){this.className=(C=!C)?"geButton geCheckedBtn":"geButton";G();a.preventDefault();mxEvent.consume(a)});y.appendChild(B);a.commentsRefreshNeeded()&& +(B=x.cloneNode(),B.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',B.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(B.style.filter="invert(100%)"),mxEvent.addListener(B,"click",function(a){G();a.preventDefault();mxEvent.consume(a)}),y.appendChild(B));a.commentsSaveNeeded()&&(x=x.cloneNode(),x.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',x.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&& +(x.style.filter="invert(100%)"),mxEvent.addListener(x,"click",function(a){g();a.preventDefault();mxEvent.consume(a)}),y.appendChild(x));z.appendChild(y);var A=[],G=mxUtils.bind(this,function(){this.hasError=!1;if(null!=t)try{t.div=t.div.cloneNode(!0);var b=t.div.querySelector(".geCommentEditTxtArea"),c=t.div.querySelector(".geCommentEditBtns");t.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}catch(F){a.handleError(F)}D.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+ IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";v=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});D.innerHTML="";D.appendChild(I);I.style.display="block";A=a;for(a=0;a<A.length;a++)b(A[a].replies), -p(A[a],A,null,0,C);null!=t&&null==t.comment.id&&null==t.comment.pCommentId&&(D.appendChild(t.div),l(t.comment,t.div,t.saveCallback,t.deleteOnCancel))},mxUtils.bind(this,function(a){D.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=!0})):D.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});G();this.refreshComments=G;z=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(n(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])} -if(this.window.isVisible()){for(var b=D.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var e=b[d];c[e.getAttribute("data-commentId")]=e}for(d=0;d<A.length;d++)a(A[d])}});setInterval(z,6E4);this.refreshCommentsTime=z;this.window=new mxWindow(mxResources.get("comments"),x,c,d,b,e,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW, +p(A[a],A,null,0,C);null!=t&&null==t.comment.id&&null==t.comment.pCommentId&&(D.appendChild(t.div),l(t.comment,t.div,t.saveCallback,t.deleteOnCancel))},mxUtils.bind(this,function(a){D.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=!0})):D.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});G();this.refreshComments=G;y=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(n(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])} +if(this.window.isVisible()){for(var b=D.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var e=b[d];c[e.getAttribute("data-commentId")]=e}for(d=0;d<A.length;d++)a(A[d])}});setInterval(y,6E4);this.refreshCommentsTime=y;this.window=new mxWindow(mxResources.get("comments"),z,c,d,b,e,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW, mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var E=mxUtils.bind(this,function(){var a=this.window.getX(), b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",E);this.destroy=function(){mxEvent.removeListener(window,"resize",E);this.window.destroy()}},ConfirmDialog=function(a,c,d,b,e,g,k,l,n,q,f){var m=document.createElement("div");m.style.textAlign="center";f=null!=f?f:44;var p=document.createElement("div");p.style.padding="6px";p.style.overflow="auto";p.style.maxHeight=f+"px";p.style.lineHeight="1.2em";mxClient.IS_QUIRKS&&(p.style.height="60px");mxUtils.write(p,c); m.appendChild(p);null!=q&&(p=document.createElement("div"),p.style.padding="6px 0 6px 0",c=document.createElement("img"),c.setAttribute("src",q),p.appendChild(c),m.appendChild(p));q=document.createElement("div");q.style.textAlign="center";q.style.whiteSpace="nowrap";var u=document.createElement("input");u.setAttribute("type","checkbox");g=mxUtils.button(g||mxResources.get("cancel"),function(){a.hideDialog();null!=b&&b(u.checked)});g.className="geBtn";null!=l&&(g.innerHTML=l+"<br>"+g.innerHTML,g.style.paddingBottom= @@ -8739,8 +8839,8 @@ m.appendChild(p);null!=q&&(p=document.createElement("div"),p.style.padding="6px "10px",p=document.createElement("p"),p.style.marginTop="20px",p.appendChild(u),e=document.createElement("span"),mxUtils.write(e," "+mxResources.get("rememberThisSetting")),p.appendChild(e),m.appendChild(p),mxEvent.addListener(e,"click",function(a){u.checked=!u.checked;mxEvent.consume(a)})):q.style.marginTop="12px";this.init=function(){v.focus()};this.container=m};EditorUi.DIFF_INSERT="i";EditorUi.DIFF_REMOVE="r";EditorUi.DIFF_UPDATE="u";EditorUi.prototype.codec=new mxCodec;EditorUi.prototype.viewStateProperties={background:!0,backgroundImage:!0,shadowVisible:!0,foldingEnabled:!0,pageScale:!0,mathEnabled:!0,pageFormat:!0,extFonts:!0};EditorUi.prototype.cellProperties={id:!0,value:!0,xmlValue:!0,vertex:!0,edge:!0,visible:!0,collapsed:!0,connectable:!0,parent:!0,children:!0,previous:!0,source:!0,target:!0,edges:!0,geometry:!0,style:!0,mxObjectId:!0,mxTransient:!0}; EditorUi.prototype.patchPages=function(a,c,d,b,e){var g={},k=[],l={},n={},q={},f={};if(null!=b&&null!=b[EditorUi.DIFF_UPDATE])for(var m in b[EditorUi.DIFF_UPDATE])g[m]=b[EditorUi.DIFF_UPDATE][m];if(null!=c[EditorUi.DIFF_REMOVE])for(b=0;b<c[EditorUi.DIFF_REMOVE].length;b++)n[c[EditorUi.DIFF_REMOVE][b]]=!0;if(null!=c[EditorUi.DIFF_INSERT])for(b=0;b<c[EditorUi.DIFF_INSERT].length;b++)l[c[EditorUi.DIFF_INSERT][b].previous]=c[EditorUi.DIFF_INSERT][b];if(null!=c[EditorUi.DIFF_UPDATE])for(m in c[EditorUi.DIFF_UPDATE])b= c[EditorUi.DIFF_UPDATE][m],null!=b.previous&&(f[b.previous]=m);if(null!=a){var p="";for(b=0;b<a.length;b++){var u=a[b].getId();q[u]=a[b];null!=f[p]||n[u]||null!=c[EditorUi.DIFF_UPDATE]&&null!=c[EditorUi.DIFF_UPDATE][u]&&null!=c[EditorUi.DIFF_UPDATE][u].previous||(f[p]=u);p=u}}var v={},t=mxUtils.bind(this,function(a){var b=null!=a?a.getId():"";if(null!=a&&!v[b]){v[b]=!0;k.push(a);var m=null!=c[EditorUi.DIFF_UPDATE]?c[EditorUi.DIFF_UPDATE][b]:null;null!=m&&(this.updatePageRoot(a),null!=m.name&&a.setName(m.name), -null!=m.view&&this.patchViewState(a,m.view),null!=m.cells&&this.patchPage(a,m.cells,g[a.getId()],e),!d||null==m.cells&&null==m.view||(a.needsUpdate=!0))}a=f[b];null!=a&&(delete f[b],t(q[a]));a=l[b];null!=a&&(delete l[b],x(a))}),x=mxUtils.bind(this,function(a){a=mxUtils.parseXml(a.data).documentElement;a=new DiagramPage(a);this.updatePageRoot(a);var b=q[a.getId()];null==b?t(a):(b.root=a.root,this.currentPage==b?this.editor.graph.model.setRoot(b.root):d&&(b.needsUpdate=!0))});t();for(m in f)t(q[f[m]]), -delete f[m];for(m in l)x(l[m]),delete l[m];return k};EditorUi.prototype.patchViewState=function(a,c){if(null!=a.viewState&&null!=c){a==this.currentPage&&(a.viewState=this.editor.graph.getViewState());for(var d in c)a.viewState[d]=JSON.parse(c[d]);a==this.currentPage&&this.editor.graph.setViewState(a.viewState,!0)}}; +null!=m.view&&this.patchViewState(a,m.view),null!=m.cells&&this.patchPage(a,m.cells,g[a.getId()],e),!d||null==m.cells&&null==m.view||(a.needsUpdate=!0))}a=f[b];null!=a&&(delete f[b],t(q[a]));a=l[b];null!=a&&(delete l[b],z(a))}),z=mxUtils.bind(this,function(a){a=mxUtils.parseXml(a.data).documentElement;a=new DiagramPage(a);this.updatePageRoot(a);var b=q[a.getId()];null==b?t(a):(b.root=a.root,this.currentPage==b?this.editor.graph.model.setRoot(b.root):d&&(b.needsUpdate=!0))});t();for(m in f)t(q[f[m]]), +delete f[m];for(m in l)z(l[m]),delete l[m];return k};EditorUi.prototype.patchViewState=function(a,c){if(null!=a.viewState&&null!=c){a==this.currentPage&&(a.viewState=this.editor.graph.getViewState());for(var d in c)a.viewState[d]=JSON.parse(c[d]);a==this.currentPage&&this.editor.graph.setViewState(a.viewState,!0)}}; EditorUi.prototype.createParentLookup=function(a,c){function d(a){var c=b[a];null==c&&(c={inserted:[],moved:{}},b[a]=c);return c}var b={};if(null!=c[EditorUi.DIFF_INSERT])for(var e=0;e<c[EditorUi.DIFF_INSERT].length;e++){var g=c[EditorUi.DIFF_INSERT][e],k=null!=g.parent?g.parent:"",l=null!=g.previous?g.previous:"";d(k).inserted[l]=g}if(null!=c[EditorUi.DIFF_UPDATE])for(var n in c[EditorUi.DIFF_UPDATE])g=c[EditorUi.DIFF_UPDATE][n],null!=g.previous&&(k=g.parent,null==k&&(e=a.getCell(n),null!=e&&(e= a.getParent(e),null!=e&&(k=e.getId()))),null!=k&&(d(k).moved[g.previous]=n));return b}; EditorUi.prototype.patchPage=function(a,c,d,b){var e=a==this.currentPage?this.editor.graph.model:new mxGraphModel(a.root),g=this.createParentLookup(e,c);e.beginUpdate();try{var k=e.updateEdgeParent,l=new mxDictionary,n=[];e.updateEdgeParent=function(a,c){!l.get(a)&&b&&(l.put(a,!0),n.push(a))};var q=g[""],f=null!=q&&null!=q.inserted?q.inserted[""]:null,m=null;null!=f&&(m=this.getCellForJson(f));if(null==m){var p=null!=q&&null!=q.moved?q.moved[""]:null;null!=p&&(m=e.getCell(p))}null!=m&&(e.setRoot(m), @@ -8777,8 +8877,8 @@ mxGraphView.prototype.defaultDarkGridColor),null==mxSettings.settings.autosave&& this.activityListener=mxUtils.bind(this,function(a){this.lastActivity=new Date;this.start()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.activityListener);mxEvent.addListener(document,"keypress",this.activityListener);mxEvent.addListener(window,"focus",this.activityListener);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(mxEvent.addListener(document,"touchstart",this.activityListener),mxEvent.addListener(document,"touchmove",this.activityListener));this.pusherErrorListener= mxUtils.bind(this,function(a){null!=a.error&&null!=a.error.data&&4004===a.error.data.code&&EditorUi.logError("Error: Pusher Limit",null,this.file.getId())});this.connectionListener=mxUtils.bind(this,function(){this.updateOnlineState();this.updateStatus();if(this.isConnected()){if(!this.announced){var a=this.file.getCurrentUser(),d={a:"join"};null!=a&&(d.name=a.displayName,d.uid=a.id);mxUtils.post(EditorUi.cacheUrl,this.getIdParameters()+"&msg="+encodeURIComponent(this.objectToString(this.createMessage(d)))); this.file.stats.msgSent++;this.announced=!0}this.fileChangedNotify()}});this.changeListener=mxUtils.bind(this,function(a){this.file.stats.msgReceived++;this.lastActivity=new Date;if(this.enabled&&!this.file.inConflictState&&!this.file.redirectDialogShowing)try{var c=this.stringToObject(a);null!=c&&(EditorUi.debug("Sync.message",[this],c,a.length,"bytes"),c.v>DrawioFileSync.PROTOCOL?this.file.redirectToNewApp(mxUtils.bind(this,function(){})):c.v===DrawioFileSync.PROTOCOL&&null!=c.d&&this.handleMessageData(c.d))}catch(b){this.isConnected()&& -this.fileChangedNotify(),EditorUi.logError("Protocol Error "+b.message,null,"data_"+(null!=a?a.length:"null")+"_file_"+this.file.getHash()+"_client_"+this.clientId),null!=window.console&&console.log(b)}})};DrawioFileSync.PROTOCOL=6;mxUtils.extend(DrawioFileSync,mxEventSource);DrawioFileSync.prototype.maxCacheEntrySize=1E6;DrawioFileSync.prototype.enabled=!0;DrawioFileSync.prototype.updateStatusInterval=1E4;DrawioFileSync.prototype.channelId=null;DrawioFileSync.prototype.channel=null; -DrawioFileSync.prototype.catchupRetryCount=0;DrawioFileSync.prototype.maxCatchupRetries=15;DrawioFileSync.prototype.maxCacheReadyRetries=2;DrawioFileSync.prototype.cacheReadyDelay=500;DrawioFileSync.prototype.inactivityTimeoutSeconds=1800;DrawioFileSync.prototype.lastActivity=null; +this.fileChangedNotify(),null!=window.console&&console.log(b)}})};DrawioFileSync.PROTOCOL=6;mxUtils.extend(DrawioFileSync,mxEventSource);DrawioFileSync.prototype.maxCacheEntrySize=1E6;DrawioFileSync.prototype.enabled=!0;DrawioFileSync.prototype.updateStatusInterval=1E4;DrawioFileSync.prototype.channelId=null;DrawioFileSync.prototype.channel=null;DrawioFileSync.prototype.catchupRetryCount=0;DrawioFileSync.prototype.maxCatchupRetries=15;DrawioFileSync.prototype.maxCacheReadyRetries=2; +DrawioFileSync.prototype.cacheReadyDelay=500;DrawioFileSync.prototype.inactivityTimeoutSeconds=1800;DrawioFileSync.prototype.lastActivity=null; DrawioFileSync.prototype.start=function(){null==this.channelId&&(this.channelId=this.file.getChannelId());null==this.key&&(this.key=this.file.getChannelKey());if(null==this.pusher&&null!=this.channelId&&"hidden"!=document.visibilityState){this.pusher=this.ui.getPusher();if(null!=this.pusher){try{null!=this.pusher.connection&&this.pusher.connection.bind("error",this.pusherErrorListener)}catch(a){}try{this.pusher.connect(),this.channel=this.pusher.subscribe(this.channelId),EditorUi.debug("Sync.start", [this,"v"+DrawioFileSync.PROTOCOL])}catch(a){}this.installListeners()}window.setTimeout(mxUtils.bind(this,function(){this.lastModified=this.file.getLastModifiedDate();this.lastActivity=new Date;this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus()},0))}};DrawioFileSync.prototype.isConnected=function(){return null!=this.pusher&&null!=this.pusher.connection?"connected"==this.pusher.connection.state:!1}; DrawioFileSync.prototype.updateOnlineState=function(){var a=mxUtils.bind(this,function(a){mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.enabled=!this.enabled;this.ui.updateButtonContainer();this.resetUpdateStatusThread();this.updateOnlineState();this.updateStatus();!this.file.inConflictState&&this.enabled&&this.fileChangedNotify()}))});if("min"==uiTheme&&null!=this.ui.buttonContainer){if(null==this.collaboratorsElement){var c=document.createElement("a");c.className="geToolbarButton"; @@ -8799,7 +8899,7 @@ DrawioFileSync.prototype.reloadDescriptor=function(){this.file.loadDescriptor(mx DrawioFileSync.prototype.updateDescriptor=function(a){this.file.setDescriptor(a);this.file.descriptorChanged();this.start()}; DrawioFileSync.prototype.catchup=function(a,c,d,b){if(null!=a&&(null==b||!b())){var e=this.file.getDescriptorRevisionId(a),g=this.file.getCurrentRevisionId();if(g==e)this.file.patchDescriptor(this.file.getDescriptor(),a),null!=c&&c();else if(this.isValidState()){var k=this.file.getDescriptorSecret(a),l=0,n=!1,q=mxUtils.bind(this,function(){if(null==b||!b())if(g!=this.file.getCurrentRevisionId())null!=c&&c();else if(this.isValidState()){var f=!0,m=window.setTimeout(mxUtils.bind(this,function(){f=!1; this.reload(c,d,b)}),this.ui.timeout);mxUtils.get(EditorUi.cacheUrl+"?id="+encodeURIComponent(this.channelId)+"&from="+encodeURIComponent(g)+"&to="+encodeURIComponent(e)+(null!=k?"&secret="+encodeURIComponent(k):""),mxUtils.bind(this,function(e){this.file.stats.bytesReceived+=e.getText().length;window.clearTimeout(m);if(f&&(null==b||!b()))if(g!=this.file.getCurrentRevisionId())null!=c&&c();else if(this.isValidState()){var k=null,p=[];if(200<=e.getStatus()&&299>=e.getStatus()&&0<e.getText().length)try{var t= -JSON.parse(e.getText());if(null!=t&&0<t.length)for(var x=0;x<t.length;x++){var y=this.stringToObject(t[x]);if(y.v>DrawioFileSync.PROTOCOL){n=!0;p=[];break}else if(y.v===DrawioFileSync.PROTOCOL&&null!=y.d)k=y.d.checksum,p.push(y.d.patch);else{n=!0;p=[];break}}}catch(D){p=[],null!=window.console&&"1"==urlParams.test&&console.log(D)}try{0<p.length?(this.file.stats.cacheHits++,this.merge(p,k,a,c,d,b)):l<=this.maxCacheReadyRetries&&!n&&401!=e.getStatus()?(l++,this.file.stats.cacheMiss++,window.setTimeout(q, +JSON.parse(e.getText());if(null!=t&&0<t.length)for(var z=0;z<t.length;z++){var x=this.stringToObject(t[z]);if(x.v>DrawioFileSync.PROTOCOL){n=!0;p=[];break}else if(x.v===DrawioFileSync.PROTOCOL&&null!=x.d)k=x.d.checksum,p.push(x.d.patch);else{n=!0;p=[];break}}}catch(D){p=[],null!=window.console&&"1"==urlParams.test&&console.log(D)}try{0<p.length?(this.file.stats.cacheHits++,this.merge(p,k,a,c,d,b)):l<=this.maxCacheReadyRetries&&!n&&401!=e.getStatus()?(l++,this.file.stats.cacheMiss++,window.setTimeout(q, (l+1)*this.cacheReadyDelay)):(this.file.stats.cacheFail++,this.reload(c,d,b))}catch(D){null!=d&&d(D)}}else null!=d&&d()}))}else null!=d&&d()});window.setTimeout(q,this.cacheReadyDelay)}else null!=d&&d()}};DrawioFileSync.prototype.reload=function(a,c,d,b){this.file.updateFile(mxUtils.bind(this,function(){this.lastModified=this.file.getLastModifiedDate();this.updateStatus();this.start();null!=a&&a()}),mxUtils.bind(this,function(a){null!=c&&c(a)}),d,b)}; DrawioFileSync.prototype.merge=function(a,c,d,b,e,g){try{this.file.stats.merged++;this.lastModified=new Date;this.file.shadowPages=null!=this.file.shadowPages?this.file.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.file.shadowData).documentElement);this.file.backupPatch=this.file.isModified()?this.ui.diffPages(this.file.shadowPages,this.ui.pages):null;var k=this.file.ignorePatches(a),l=this.file.getDescriptorRevisionId(d);if(!k){for(g=0;g<a.length;g++)this.file.shadowPages=this.ui.patchPages(this.file.shadowPages, a[g]);var n=null!=c?this.ui.getHashValueForPages(this.file.shadowPages):null;"1"==urlParams.test&&EditorUi.debug("Sync.merge",[this],"from",this.file.getCurrentRevisionId(),"to",l,"etag",this.file.getDescriptorEtag(d),"backup",this.file.backupPatch,"attempt",this.catchupRetryCount,"patches",a,"checksum",c==n,c);if(null!=c&&c!=n){var q=this.ui.hashValue(this.file.getCurrentRevisionId()),f=this.ui.hashValue(l);this.file.checksumError(e,a,"From: "+q+"\nTo: "+f+"\nChecksum: "+c+"\nCurrent: "+n,l,"merge"); @@ -8897,20 +8997,20 @@ DriveClient.prototype.getXmlFile=function(a,c,d,b,e){try{var g=a.downloadUrl+"&a g)?this.ui.parseFile(new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){try{4==b.readyState&&(200<=b.status&&299>=b.status?c(new LocalFile(this.ui,b.responseText,a.title+this.extension,!0)):null!=d&&d({message:mxResources.get("errorLoadingFile")}))}catch(u){if(null!=d)d(u);else throw u;}}),a.title):c(k?new LocalFile(this.ui,b,a.title,!0):new DriveFile(this.ui,b,a))}}catch(p){if(null!=d)d(p);else throw p;}}),d,null!=a.mimeType&&"image/"==a.mimeType.substring(0,6)&&"image/svg"!= a.mimeType.substring(0,9)||/\.png$/i.test(a.title)||/\.jpe?g$/i.test(a.title))}catch(k){if(null!=d)d(k);else throw k;}}; DriveClient.prototype.saveFile=function(a,c,d,b,e,g,k,l){try{a.saveLevel=1;var n=mxUtils.bind(this,function(c){if(null!=b)b(c);else throw c;try{if(!a.isConflict(c)){var d="sl_"+a.saveLevel+"-error_"+(a.getErrorMessage(c)||"unknown");null!=c&&null!=c.error&&null!=c.error.code&&(d+="-code_"+c.error.code);EditorUi.logEvent({category:"ERROR-SAVE-FILE-"+a.getHash()+"-rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+ -(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),action:d,label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}}catch(D){}}),q=mxUtils.bind(this,function(b){n(b);try{EditorUi.logError(b.message,null,null,b),EditorUi.sendReport("Critical error in DriveClient.saveFile "+(new Date).toISOString()+":\n\nBrowser="+navigator.userAgent+"\nFile="+a.desc.id+"."+a.desc.headRevisionId+ -"\nMime="+a.desc.mimeType+"\nUser="+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")+"\nSaveLevel="+a.saveLevel+"\nMessage="+b.message+"\n\nStack:\n"+b.stack)}catch(y){}});if(a.isEditable()&&null!=a.desc){var f=(new Date).getTime(),m=a.desc.etag,p=a.desc.modifiedDate,u=a.desc.headRevisionId,v=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());g=null!=g?g:!1;var t=mxUtils.bind(this,function(b,e,t){try{a.saveLevel=3;var x=null,z=!1,B={mimeType:a.desc.mimeType, -title:a.getTitle()};this.isGoogleRealtimeMimeType(a.desc.mimeType)?(B.mimeType=this.xmlMimeType,x=a.desc,z=c=!0):"application/octet-stream"==B.mimeType&&(B.mimeType=this.xmlMimeType);a.constructor==DriveFile&&(null==l&&(l=[]),null==a.getChannelId()&&l.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&l.push({key:"key",value:Editor.guid(32)}),l.push({key:"secret",value:Editor.guid(32)}));t||(null!=b||g||(b=this.placeholderThumbnail,e=this.placeholderMimeType),null!=b&&null!=e&&(B.thumbnail= -{image:b,mimeType:e}));var C=a.getData(),A=mxUtils.bind(this,function(b){try{if(a.saveDelay=(new Date).getTime()-f,null==b)n({message:mxResources.get("errorSavingFile")+": Empty response"});else{var e=(new Date(b.modifiedDate)).getTime()-(new Date(p)).getTime();if(0>=e||m==b.etag||c&&u==b.headRevisionId){var k=[];0>=e&&k.push("invalid modified time");m==b.etag&&k.push("stale etag");c&&u==b.headRevisionId&&k.push("stale revision");var g=k.join(", ");n({message:mxResources.get("errorSavingFile")+": "+ -g},b);try{EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+u+"."+p+"-"+this.ui.hashValue(m)+"-to-"+b.headRevisionId+"."+b.modifiedDate+"-"+this.ui.hashValue(b.etag)+(0<g.length?"-errors-"+g:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync"))}catch(J){}}else if(a.saveLevel=null,d(b,C),null!=x){this.executeRequest({url:"/files/"+x.id+"/revisions/"+x.headRevisionId+"?supportsTeamDrives=true"},mxUtils.bind(this,mxUtils.bind(this, -function(a){a.pinned=!0;this.executeRequest({url:"/files/"+x.id+"/revisions/"+x.headRevisionId,method:"PUT",params:a})})));try{EditorUi.logEvent({category:a.convertedFrom+"-CONVERT-FILE-"+a.getHash(),action:"from_"+x.id+"."+x.headRevisionId+"-to_"+a.desc.id+"."+a.desc.headRevisionId,label:null!=this.user?"user_"+this.user.id:"nouser"+(null!=a.sync?"-client_"+a.sync.clientId:"nosync")})}catch(J){}}}}catch(J){q(J)}}),y=mxUtils.bind(this,function(d,e){a.saveLevel=4;try{null!=l&&(B.properties=l);var f= -k||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),g=0,m=mxUtils.bind(this,function(b){a.saveLevel=5;try{var k=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,m=!0,l=window.setTimeout(mxUtils.bind(this,function(){m=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest(this.createUploadRequest(a.getId(),B,d,c||b||k,e,b?null:f,z),mxUtils.bind(this, -function(a){window.clearTimeout(l);m&&A(a)}),mxUtils.bind(this,function(b){window.clearTimeout(l);if(m){a.saveLevel=6;try{a.isConflict(b)?this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(c){a.saveLevel=7;try{if(null!=c&&c.etag==f)if(g<this.staleEtagMaxRetries){g++;var d=2*g*this.coolOff*(1+.1*(Math.random()-.5));window.setTimeout(p,d);"1"==urlParams.test&&EditorUi.debug("DriveClient: Stale Etag Detected","retry",g,"delay", -d)}else{p(!0);try{EditorUi.logEvent({category:"STALE-ETAG-SAVE-FILE-"+a.getHash(),action:"rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(ba){}}else"1"==urlParams.test&& -c.headRevisionId==u&&EditorUi.debug("DriveClient: Remote Etag Changed","local",f,"remote",c.etag,"rev",a.desc.headRevisionId,"response",[c],"file",[a]),n(b,c)}catch(ba){q(ba)}}),mxUtils.bind(this,function(){n(b)})):n(b)}catch(ga){q(ga)}}}))}catch(X){q(X)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b)m(b);else{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest({url:"/files/"+ +(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),action:d,label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}}catch(B){}}),q=mxUtils.bind(this,function(b){n(b);try{EditorUi.logError(b.message,null,null,b),EditorUi.sendReport("Critical error in DriveClient.saveFile "+(new Date).toISOString()+":\n\nBrowser="+navigator.userAgent+"\nFile="+a.desc.id+"."+a.desc.headRevisionId+ +"\nMime="+a.desc.mimeType+"\nUser="+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")+"\nSaveLevel="+a.saveLevel+"\nMessage="+b.message+"\n\nStack:\n"+b.stack)}catch(y){}});if(a.isEditable()&&null!=a.desc){var f=(new Date).getTime(),m=a.desc.etag,p=a.desc.modifiedDate,u=a.desc.headRevisionId,v=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());g=null!=g?g:!1;var t=null,z=!1,x={mimeType:a.desc.mimeType,title:a.getTitle()};if(this.isGoogleRealtimeMimeType(x.mimeType))x.mimeType= +this.xmlMimeType,t=a.desc,z=c=!0;else if("application/octet-stream"==x.mimeType||"1"==urlParams["override-mime"]&&x.mimeType!=this.xmlMimeType)x.mimeType=this.xmlMimeType;var D=mxUtils.bind(this,function(b,e,B){try{a.saveLevel=3;a.constructor==DriveFile&&(null==l&&(l=[]),null==a.getChannelId()&&l.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&l.push({key:"key",value:Editor.guid(32)}),l.push({key:"secret",value:Editor.guid(32)}));B||(null!=b||g||(b=this.placeholderThumbnail,e= +this.placeholderMimeType),null!=b&&null!=e&&(x.thumbnail={image:b,mimeType:e}));var y=a.getData(),A=mxUtils.bind(this,function(b){try{if(a.saveDelay=(new Date).getTime()-f,null==b)n({message:mxResources.get("errorSavingFile")+": Empty response"});else{var e=(new Date(b.modifiedDate)).getTime()-(new Date(p)).getTime();if(0>=e||m==b.etag||c&&u==b.headRevisionId){var k=[];0>=e&&k.push("invalid modified time");m==b.etag&&k.push("stale etag");c&&u==b.headRevisionId&&k.push("stale revision");var g=k.join(", "); +n({message:mxResources.get("errorSavingFile")+": "+g},b);try{EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+u+"."+p+"-"+this.ui.hashValue(m)+"-to-"+b.headRevisionId+"."+b.modifiedDate+"-"+this.ui.hashValue(b.etag)+(0<g.length?"-errors-"+g:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync"))}catch(J){}}else if(a.saveLevel=null,d(b,y),null!=t){this.executeRequest({url:"/files/"+t.id+"/revisions/"+t.headRevisionId+ +"?supportsTeamDrives=true"},mxUtils.bind(this,mxUtils.bind(this,function(a){a.pinned=!0;this.executeRequest({url:"/files/"+t.id+"/revisions/"+t.headRevisionId,method:"PUT",params:a})})));try{EditorUi.logEvent({category:a.convertedFrom+"-CONVERT-FILE-"+a.getHash(),action:"from_"+t.id+"."+t.headRevisionId+"-to_"+a.desc.id+"."+a.desc.headRevisionId,label:null!=this.user?"user_"+this.user.id:"nouser"+(null!=a.sync?"-client_"+a.sync.clientId:"nosync")})}catch(J){}}}}catch(J){q(J)}}),G=mxUtils.bind(this, +function(d,e){a.saveLevel=4;try{null!=l&&(x.properties=l);var f=k||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),g=0,m=mxUtils.bind(this,function(b){a.saveLevel=5;try{var k=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,m=!0,l=window.setTimeout(mxUtils.bind(this,function(){m=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest(this.createUploadRequest(a.getId(), +x,d,c||b||k,e,b?null:f,z),mxUtils.bind(this,function(a){window.clearTimeout(l);m&&A(a)}),mxUtils.bind(this,function(b){window.clearTimeout(l);if(m){a.saveLevel=6;try{a.isConflict(b)?this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(c){a.saveLevel=7;try{if(null!=c&&c.etag==f)if(g<this.staleEtagMaxRetries){g++;var d=2*g*this.coolOff*(1+.1*(Math.random()-.5));window.setTimeout(p,d);"1"==urlParams.test&&EditorUi.debug("DriveClient: Stale Etag Detected", +"retry",g,"delay",d)}else{p(!0);try{EditorUi.logEvent({category:"STALE-ETAG-SAVE-FILE-"+a.getHash(),action:"rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(ba){}}else"1"== +urlParams.test&&c.headRevisionId==u&&EditorUi.debug("DriveClient: Remote Etag Changed","local",f,"remote",c.etag,"rev",a.desc.headRevisionId,"response",[c],"file",[a]),n(b,c)}catch(ba){q(ba)}}),mxUtils.bind(this,function(){n(b)})):n(b)}catch(ga){q(ga)}}}))}catch(X){q(X)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b)m(b);else{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest({url:"/files/"+ a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(e){a.saveLevel=11;window.clearTimeout(d);if(c){a.saveLevel=13;try{null!=e&&e.headRevisionId==u?("1"==urlParams.test&&f!=e.etag&&EditorUi.debug("DriveClient: Preflight Etag Update","from",f,"to",e.etag,"rev",a.desc.headRevisionId,"response",[e],"file",[a]),f=e.etag,m(b)):n({error:{code:412}},e)}catch(X){q(X)}}}),mxUtils.bind(this,function(b){a.saveLevel=12;window.clearTimeout(d);c&&n(b)}));a.saveLevel=10}}); -if(v&&null==b){a.saveLevel=8;var t=new Image;t.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/t.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(t.height*a);b.getContext("2d").drawImage(t,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");B.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(V){p(!1)}});t.src="data:image/png;base64,"+d}else p(!1)}catch(Y){q(Y)}});v?this.ui.getEmbeddedPng(mxUtils.bind(this, -function(a){y(a,!0)}),n,this.ui.getCurrentFile()!=a?C:null):y(C,!1)}catch(E){q(E)}});try{if(a.saveLevel=2,g||v||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=a.desc.mimeType&&"application/vnd.jgraph.mxfile"!=a.desc.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(b){try{var c=a.thumbTime=null;try{null!=b&&(c=b.toDataURL("image/png")),null!=c&&(c=c.length>this.maxThumbnailSize?null:c.substring(c.indexOf(",")+1).replace(/\+/g, -"-").replace(/\//g,"_"))}catch(D){c=null}t(c,"image/png")}catch(D){q(D)}})))a.thumbTime=null,t(null,null,a.constructor!=DriveLibrary)}catch(x){q(x)}}else this.ui.editor.graph.reset(),n({message:mxResources.get("readOnly")})}catch(x){q(x)}}; +if(v&&null==b){a.saveLevel=8;var y=new Image;y.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/y.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(y.height*a);b.getContext("2d").drawImage(y,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");x.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(V){p(!1)}});y.src="data:image/png;base64,"+d}else p(!1)}catch(Y){q(Y)}});v?this.ui.getEmbeddedPng(mxUtils.bind(this, +function(a){G(a,!0)}),n,this.ui.getCurrentFile()!=a?y:null):G(y,!1)}catch(E){q(E)}});try{if(a.saveLevel=2,g||v||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=x.mimeType&&"application/vnd.jgraph.mxfile"!=x.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(b){try{var c=a.thumbTime=null;try{null!=b&&(c=b.toDataURL("image/png")),null!=c&&(c=c.length>this.maxThumbnailSize?null:c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g, +"_"))}catch(B){c=null}D(c,"image/png")}catch(B){q(B)}})))a.thumbTime=null,D(null,null,a.constructor!=DriveLibrary)}catch(I){q(I)}}else this.ui.editor.graph.reset(),n({message:mxResources.get("readOnly")})}catch(I){q(I)}}; DriveClient.prototype.insertFile=function(a,c,d,b,e,g,k){g=null!=g?g:this.xmlMimeType;a={mimeType:g,title:a};null!=d&&(a.parents=[{kind:"drive#fileLink",id:d}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,k),mxUtils.bind(this,function(a){g==this.libraryMimeType?b(new DriveLibrary(this.ui,c,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):b(new DriveFile(this.ui,c,a))}),e)}; DriveClient.prototype.createUploadRequest=function(a,c,d,b,e,g,k){e=null!=e?e:!1;var l={"Content-Type":'multipart/mixed; boundary="-------314159265358979323846"'};null!=g&&(l["If-Match"]=g);a={fullUrl:"https://content.googleapis.com/upload/drive/v2/files"+(null!=a?"/"+a:"")+"?uploadType=multipart&supportsTeamDrives=true&fields="+this.allFields,method:null!=a?"PUT":"POST",headers:l,params:"\r\n---------314159265358979323846\r\nContent-Type: application/json\r\n\r\n"+JSON.stringify(c)+"\r\n---------314159265358979323846\r\nContent-Type: application/octect-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+ (null!=d?e?d:Base64.encode(d):"")+"\r\n---------314159265358979323846--"};b||(a.url+="&newRevision=false");k&&(a.url+="&pinned=true");return a}; @@ -8992,7 +9092,7 @@ d,e))}),d)});null==this.token||6E4>this.tokenExpiresOn-Date.now()?this.authentic OneDriveClient.prototype.getItemURL=function(a,c){var d=a.split("/");return 1<d.length?(c?"":this.baseUrl)+"/drives/"+d[0]+"/items/"+d[1]:(c?"":this.baseUrl)+"/me/drive/items/"+a};OneDriveClient.prototype.getLibrary=function(a,c,d){this.getFile(a,c,d,!1,!0)}; OneDriveClient.prototype.getFile=function(a,c,d,b,e){e=null!=e?e:!1;this.executeRequest(this.getItemURL(a),mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){var b=JSON.parse(a.getText()),g=/\.png$/i.test(b.name);if(/\.v(dx|sdx?)$/i.test(b.name)||/\.gliffy$/i.test(b.name)||!this.ui.useCanvasForExport&&g)this.ui.convertFile(b["@microsoft.graph.downloadUrl"],b.name,null!=b.file?b.file.mimeType:null,this.extension,c,d);else{var n=!0,q=window.setTimeout(mxUtils.bind(this,function(){n= !1;d({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(b["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){try{if(window.clearTimeout(q),n){var f=g?a.lastIndexOf(","):-1,k=null;if(0<f){var l=this.ui.extractGraphModelFromPng(a.substring(f+1));null!=l&&0<l.length?a=l:k=new LocalFile(this.ui,a,b.name,!0)}else if("data:image/png;base64,PG14ZmlsZS"==a.substring(0,32)){var v=a.substring(22);a=window.atob&&!mxClient.IS_SF?atob(v):Base64.decode(v)}Graph.fileSupport&&(new XMLHttpRequest).upload&& -this.ui.isRemoteFileFormat(a,b["@microsoft.graph.downloadUrl"])?this.ui.parseFile(new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){try{4==a.readyState&&(200<=a.status&&299>=a.status?c(new LocalFile(this.ui,a.responseText,b.name+this.extension,!0)):null!=d&&d({message:mxResources.get("errorLoadingFile")}))}catch(x){if(null!=d)d(x);else throw x;}}),b.name):null!=k?c(k):e?c(new OneDriveLibrary(this.ui,a,b)):c(new OneDriveFile(this.ui,a,b))}}catch(t){if(null!=d)d(t);else throw t; +this.ui.isRemoteFileFormat(a,b["@microsoft.graph.downloadUrl"])?this.ui.parseFile(new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){try{4==a.readyState&&(200<=a.status&&299>=a.status?c(new LocalFile(this.ui,a.responseText,b.name+this.extension,!0)):null!=d&&d({message:mxResources.get("errorLoadingFile")}))}catch(z){if(null!=d)d(z);else throw z;}}),b.name):null!=k?c(k):e?c(new OneDriveLibrary(this.ui,a,b)):c(new OneDriveFile(this.ui,a,b))}}catch(t){if(null!=d)d(t);else throw t; }}),mxUtils.bind(this,function(a){window.clearTimeout(q);n&&d(this.parseRequestText(a))}),g||null!=b.file&&null!=b.file.mimeType&&"image/"==b.file.mimeType.substring(0,6))}}else d(this.parseRequestText(a))}),d)}; OneDriveClient.prototype.renameFile=function(a,c,d,b){null!=a&&null!=c&&(this.isValidFilename(c)?this.checkExists(a.getParentId(),c,!1,mxUtils.bind(this,function(e){e?this.writeFile(this.getItemURL(a.getId()),JSON.stringify({name:c}),"PATCH","application/json",d,b):b()})):b({message:this.invalidFilenameRegExs[0].test(c)?mxResources.get("oneDriveCharsNotAllowed"):mxResources.get("oneDriveInvalidDeviceName")}))}; OneDriveClient.prototype.moveFile=function(a,c,d,b){c=this.getItemRef(c);var e=this.getItemRef(a);c.driveId!=e.driveId?b({message:mxResources.get("cannotMoveOneDrive",null,"Moving a file between accounts is not supported yet.")}):this.writeFile(this.getItemURL(a),JSON.stringify({parentReference:c}),"PATCH","application/json",d,b)};OneDriveClient.prototype.insertLibrary=function(a,c,d,b,e){this.insertFile(a,c,d,b,!0,e)}; @@ -9028,7 +9128,7 @@ GitHubClient.prototype.getFile=function(a,c,d,b,e){b=null!=b?b:!1;var g=a.split( a=new mxXmlRequest(this.baseUrl+"/repos/"+k+"/"+l+"/contents/"+a+"?ref="+n+e,null,"GET"),this.executeRequest(a,mxUtils.bind(this,function(a){try{c(this.createGitHubFile(k,l,n,JSON.parse(a.getText()),b))}catch(f){d(f)}}),d))}; GitHubClient.prototype.createGitHubFile=function(a,c,d,b,e){a={org:a,repo:c,ref:d,name:b.name,path:b.path,sha:b.sha,html_url:b.html_url,download_url:b.download_url};c=b.content;"base64"===b.encoding&&(/\.jpe?g$/i.test(b.name)?c="data:image/jpeg;base64,"+c:/\.gif$/i.test(b.name)?c="data:image/gif;base64,"+c:/\.png$/i.test(b.name)?(b=this.ui.extractGraphModelFromPng(c),c=null!=b&&0<b.length?b:"data:image/png;base64,"+c):c=Base64.decode(c));return e?new GitHubLibrary(this.ui,c,a):new GitHubFile(this.ui, c,a)};GitHubClient.prototype.insertLibrary=function(a,c,d,b,e){this.insertFile(a,c,d,b,!0,e,!1)}; -GitHubClient.prototype.insertFile=function(a,c,d,b,e,g,k){e=null!=e?e:!1;g=g.split("/");var l=g[0],n=g[1],q=g[2],f=g.slice(3,g.length).join("/");0<f.length&&(f+="/");f+=a;this.checkExists(l+"/"+n+"/"+q+"/"+f,!0,mxUtils.bind(this,function(g,p){g?e?(k||(c=Base64.encode(c)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(l,n,q,f,a,c,p,mxUtils.bind(this,function(a){try{var c=JSON.parse(a.getText());d(this.createGitHubFile(l,n,q,c.content,e))}catch(x){b(x)}}),b)}),b)):d(new GitHubFile(this.ui, +GitHubClient.prototype.insertFile=function(a,c,d,b,e,g,k){e=null!=e?e:!1;g=g.split("/");var l=g[0],n=g[1],q=g[2],f=g.slice(3,g.length).join("/");0<f.length&&(f+="/");f+=a;this.checkExists(l+"/"+n+"/"+q+"/"+f,!0,mxUtils.bind(this,function(g,p){g?e?(k||(c=Base64.encode(c)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(l,n,q,f,a,c,p,mxUtils.bind(this,function(a){try{var c=JSON.parse(a.getText());d(this.createGitHubFile(l,n,q,c.content,e))}catch(z){b(z)}}),b)}),b)):d(new GitHubFile(this.ui, c,{org:l,repo:n,ref:q,name:a,path:f,sha:p,isNew:!0})):b()}))};GitHubClient.prototype.showCommitDialog=function(a,c,d,b){var e=this.ui.spinner.pause();a=new FilenameDialog(this.ui,mxResources.get(c?"addedFile":"updateFile",[a]),mxResources.get("ok"),mxUtils.bind(this,function(a){e();d(a)}),mxResources.get("commitMessage"),null,null,null,null,mxUtils.bind(this,function(){b()}),null,280);this.ui.showDialog(a.container,400,80,!0,!1);a.init()}; GitHubClient.prototype.writeFile=function(a,c,d,b,e,g,k,l,n){g.length>=this.maxFileSize?n({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(g.length)+" / 1 MB)"}):(d={path:b,branch:decodeURIComponent(d),message:e,content:g},null!=k&&(d.sha=k),a=new mxXmlRequest(this.baseUrl+"/repos/"+a+"/"+c+"/contents/"+b,JSON.stringify(d),"PUT"),this.executeRequest(a,mxUtils.bind(this,function(a){l(a)}),mxUtils.bind(this,function(a){404==a.code&&(a.helpLink="https://github.com/settings/connections/applications/"+ this.clientId,a.code=null);n(a)})))}; @@ -9038,17 +9138,17 @@ q(a.meta.sha,Base64.encode(a.getData()))});b?this.getSha(g,k,n,l,mxUtils.bind(th GitHubClient.prototype.showGitHubDialog=function(a,c){var d=null,b=null,e=null,g=null,k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.overflow="hidden";k.style.height="304px";var l=document.createElement("h3");mxUtils.write(l,mxResources.get(a?"selectFile":"selectFolder"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";k.appendChild(l);var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.border="1px solid lightgray";n.style.boxSizing= "border-box";n.style.padding="4px";n.style.overflow="auto";n.style.lineHeight="1.2em";n.style.height="274px";k.appendChild(n);var q=document.createElement("div");q.style.textOverflow="ellipsis";q.style.boxSizing="border-box";q.style.overflow="hidden";q.style.padding="4px";q.style.width="100%";var f=new CustomDialog(this.ui,k,mxUtils.bind(this,function(){c(d+"/"+b+"/"+encodeURIComponent(e)+"/"+g)}));this.ui.showDialog(f.container,420,360,!0,!0);a&&f.okButton.parentNode.removeChild(f.okButton);var m= mxUtils.bind(this,function(a,b,c){var d=document.createElement("a");d.setAttribute("href","javascript:void(0);");d.setAttribute("title",a);mxUtils.write(d,a);mxEvent.addListener(d,"click",b);null!=c&&(a=q.cloneNode(),a.style.padding=c,a.appendChild(d),d=a);return d}),p=mxUtils.bind(this,function(a){var c=document.createElement("div");c.style.marginBottom="8px";c.appendChild(m(d+"/"+b,mxUtils.bind(this,function(){g=null;D()})));a||(mxUtils.write(c," / "),c.appendChild(m(decodeURIComponent(e),mxUtils.bind(this, -function(){g=null;y()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(c," / ");c.appendChild(m(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");x()})))})(a)}n.appendChild(c)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(g=e=b=d=null,D()):this.ui.hideDialog()}))}),v=null,t=null,x=mxUtils.bind(this,function(k){null==k&&(n.innerHTML="",k=1);var l=new mxXmlRequest(this.baseUrl+ -"/repos/"+d+"/"+b+"/contents/"+g+"?ref="+encodeURIComponent(e)+"&per_page=100&page="+k,null,"GET");this.ui.spinner.spin(n,mxResources.get("loading"));f.okButton.removeAttribute("disabled");null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var B=mxUtils.bind(this,function(){x(k+1)});mxEvent.addListener(v, -"click",B);this.executeRequest(l,mxUtils.bind(this,function(f){this.ui.spinner.stop();1==k&&(p(),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,D();else{var a=g.split("/");g=a.slice(0,a.length-1).join("/");x()}}),"4px")));var l=JSON.parse(f.getText());if(null==l||0==l.length)mxUtils.write(n,mxResources.get("noFiles"));else{var z=!0,t=0;f=mxUtils.bind(this,function(f){for(var k=0;k<l.length;k++)mxUtils.bind(this,function(k,l){if(f==("dir"==k.type)){var p=q.cloneNode();p.style.backgroundColor= -z?"#eeeeee":"";z=!z;var B=document.createElement("img");B.src=IMAGE_PATH+"/"+("dir"==k.type?"folder.png":"file.png");B.setAttribute("align","absmiddle");B.style.marginRight="4px";B.style.marginTop="-4px";B.width=20;p.appendChild(B);p.appendChild(m(k.name+("dir"==k.type?"/":""),mxUtils.bind(this,function(){"dir"==k.type?(g=k.path,x()):a&&"file"==k.type&&(this.ui.hideDialog(),c(d+"/"+b+"/"+encodeURIComponent(e)+"/"+k.path))})));n.appendChild(p);t++}})(l[k],k)});f(!0);a&&f(!1)}}),u,!0)}),y=mxUtils.bind(this, +function(){g=null;x()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(c," / ");c.appendChild(m(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");z()})))})(a)}n.appendChild(c)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(g=e=b=d=null,D()):this.ui.hideDialog()}))}),v=null,t=null,z=mxUtils.bind(this,function(k){null==k&&(n.innerHTML="",k=1);var l=new mxXmlRequest(this.baseUrl+ +"/repos/"+d+"/"+b+"/contents/"+g+"?ref="+encodeURIComponent(e)+"&per_page=100&page="+k,null,"GET");this.ui.spinner.spin(n,mxResources.get("loading"));f.okButton.removeAttribute("disabled");null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var B=mxUtils.bind(this,function(){z(k+1)});mxEvent.addListener(v, +"click",B);this.executeRequest(l,mxUtils.bind(this,function(f){this.ui.spinner.stop();1==k&&(p(),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,D();else{var a=g.split("/");g=a.slice(0,a.length-1).join("/");z()}}),"4px")));var l=JSON.parse(f.getText());if(null==l||0==l.length)mxUtils.write(n,mxResources.get("noFiles"));else{var y=!0,t=0;f=mxUtils.bind(this,function(f){for(var k=0;k<l.length;k++)mxUtils.bind(this,function(k,l){if(f==("dir"==k.type)){var p=q.cloneNode();p.style.backgroundColor= +y?"#eeeeee":"";y=!y;var B=document.createElement("img");B.src=IMAGE_PATH+"/"+("dir"==k.type?"folder.png":"file.png");B.setAttribute("align","absmiddle");B.style.marginRight="4px";B.style.marginTop="-4px";B.width=20;p.appendChild(B);p.appendChild(m(k.name+("dir"==k.type?"/":""),mxUtils.bind(this,function(){"dir"==k.type?(g=k.path,z()):a&&"file"==k.type&&(this.ui.hideDialog(),c(d+"/"+b+"/"+encodeURIComponent(e)+"/"+k.path))})));n.appendChild(p);t++}})(l[k],k)});f(!0);a&&f(!1)}}),u,!0)}),x=mxUtils.bind(this, function(a){null==a&&(n.innerHTML="",a=1);var c=new mxXmlRequest(this.baseUrl+"/repos/"+d+"/"+b+"/branches?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var k= -mxUtils.bind(this,function(){y(a+1)});mxEvent.addListener(v,"click",k);this.executeRequest(c,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(p(!0),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){g=null;D()}),"4px")));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(n,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=q.cloneNode();c.style.backgroundColor=0==b%2?"#eeeeee":"";c.appendChild(m(a.name,mxUtils.bind(this,function(){e= -a.name;g="";x()})));n.appendChild(c)})(b[c],c);100==b.length&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&k()},mxEvent.addListener(n,"scroll",t))}}),u)}),D=mxUtils.bind(this,function(a){null==a&&(n.innerHTML="",a=1);var c=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));null!=t&&mxEvent.removeListener(n,"scroll",t);null!=v&&null!=v.parentNode&& +mxUtils.bind(this,function(){x(a+1)});mxEvent.addListener(v,"click",k);this.executeRequest(c,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(p(!0),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){g=null;D()}),"4px")));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(n,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=q.cloneNode();c.style.backgroundColor=0==b%2?"#eeeeee":"";c.appendChild(m(a.name,mxUtils.bind(this,function(){e= +a.name;g="";z()})));n.appendChild(c)})(b[c],c);100==b.length&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&k()},mxEvent.addListener(n,"scroll",t))}}),u)}),D=mxUtils.bind(this,function(a){null==a&&(n.innerHTML="",a=1);var c=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));null!=t&&mxEvent.removeListener(n,"scroll",t);null!=v&&null!=v.parentNode&& v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var k=mxUtils.bind(this,function(){D(a+1)});mxEvent.addListener(v,"click",k);this.executeRequest(c,mxUtils.bind(this,function(c){this.ui.spinner.stop();c=JSON.parse(c.getText());if(null==c||0==c.length)mxUtils.write(n,mxResources.get("noFiles"));else{1==a&&(n.appendChild(m(mxResources.get("enterValue")+"...",mxUtils.bind(this, -function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,function(a){if(null!=a){var c=a.split("/");if(1<c.length){a=c[0];var f=c[1];3>c.length?(d=a,b=f,g=e=null,y()):this.ui.spinner.spin(n,mxResources.get("loading"))&&(c=encodeURIComponent(c.slice(2,c.length).join("/")),this.getFile(a+"/"+f+"/"+c,mxUtils.bind(this,function(a){this.ui.spinner.stop();d=a.meta.org;b=a.meta.repo;e=decodeURIComponent(a.meta.ref);g="";x()}),mxUtils.bind(this,function(a){this.ui.spinner.stop(); +function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,function(a){if(null!=a){var c=a.split("/");if(1<c.length){a=c[0];var f=c[1];3>c.length?(d=a,b=f,g=e=null,x()):this.ui.spinner.spin(n,mxResources.get("loading"))&&(c=encodeURIComponent(c.slice(2,c.length).join("/")),this.getFile(a+"/"+f+"/"+c,mxUtils.bind(this,function(a){this.ui.spinner.stop();d=a.meta.org;b=a.meta.repo;e=decodeURIComponent(a.meta.ref);g="";z()}),mxUtils.bind(this,function(a){this.ui.spinner.stop(); this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(n),mxUtils.br(n));for(var f=0;f<c.length;f++)mxUtils.bind(this,function(a,c){var f=q.cloneNode();f.style.backgroundColor=0==c%2?"#eeeeee":"";f.appendChild(m(a.full_name,mxUtils.bind(this,function(){d=a.owner.login;b=a.name;e=a.default_branch; -g="";x()})));n.appendChild(f)})(c[f],f)}100==c.length&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&k()},mxEvent.addListener(n,"scroll",t))}),u)});D()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,c,d){DrawioFile.call(this,a,c);this.meta=d;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};TrelloFile.prototype.getSize=function(){return this.meta.bytes}; +g="";z()})));n.appendChild(f)})(c[f],f)}100==c.length&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&k()},mxEvent.addListener(n,"scroll",t))}),u)});D()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,c,d){DrawioFile.call(this,a,c);this.meta=d;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};TrelloFile.prototype.getSize=function(){return this.meta.bytes}; TrelloFile.prototype.save=function(a,c,d){this.doSave(this.getTitle(),c,d)};TrelloFile.prototype.saveAs=function(a,c,d){this.doSave(a,c,d)};TrelloFile.prototype.doSave=function(a,c,d){var b=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=b;this.saveFile(a,!1,c,d)}; TrelloFile.prototype.saveFile=function(a,c,d,b){if(this.isEditable())if(this.savingFile)null!=b&&(this.saveNeededCounter++,b({code:App.ERROR_BUSY}));else if(this.savingFile=!0,this.savingFileTime=new Date,this.getTitle()==a){var e=this.isModified,g=this.isModified(),k=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});k();this.ui.trello.saveFile(this,mxUtils.bind(this,function(k){this.savingFile=!1;this.isModified=e;this.meta=k;this.contentChanged();null!=d&& d();0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a,c,d,b))}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(g||this.isModified());if(null!=b){if(null!=a&&null!=a.retry){var c=a.retry;a.retry=function(){k();c()}}b(a)}}))}else this.ui.pickFolder(App.MODE_TRELLO,mxUtils.bind(this,function(e){this.ui.trello.insertFile(a,this.getData(),mxUtils.bind(this,function(e){this.savingFile=!1;null!=d&&d();this.ui.fileLoaded(e);0<this.saveNeededCounter&& @@ -9093,18 +9193,18 @@ function(b){q(a.meta.last_commit_id,b)}),d,this.ui.getCurrentFile()!=a?a.getData GitLabClient.prototype.showGitLabDialog=function(a,c){var d=null,b=null,e=null,g=null,k=document.createElement("div");k.style.whiteSpace="nowrap";k.style.overflow="hidden";k.style.height="304px";var l=document.createElement("h3");mxUtils.write(l,mxResources.get(a?"selectFile":"selectFolder"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";k.appendChild(l);var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.border="1px solid lightgray";n.style.boxSizing= "border-box";n.style.padding="4px";n.style.overflow="auto";n.style.lineHeight="1.2em";n.style.height="274px";k.appendChild(n);var q=document.createElement("div");q.style.textOverflow="ellipsis";q.style.boxSizing="border-box";q.style.overflow="hidden";q.style.padding="4px";q.style.width="100%";var f=new CustomDialog(this.ui,k,mxUtils.bind(this,function(){c(d+"/"+b+"/"+encodeURIComponent(e)+"/"+g)}));this.ui.showDialog(f.container,420,360,!0,!0);a&&f.okButton.parentNode.removeChild(f.okButton);var m= mxUtils.bind(this,function(a,b,c){var d=document.createElement("a");d.setAttribute("href","javascript:void(0);");d.setAttribute("title",a);mxUtils.write(d,a);mxEvent.addListener(d,"click",b);null!=c&&(a=q.cloneNode(),a.style.padding=c,a.appendChild(d),d=a);return d}),p=mxUtils.bind(this,function(a){var c=document.createElement("div");c.style.marginBottom="8px";c.appendChild(m(d+"/"+b,mxUtils.bind(this,function(){g=null;D()})));a||(mxUtils.write(c," / "),c.appendChild(m(decodeURIComponent(e),mxUtils.bind(this, -function(){g=null;y()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(c," / ");c.appendChild(m(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");x()})))})(a)}n.appendChild(c)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(g=e=b=d=null,D()):this.ui.hideDialog()}))}),v=null,t=null,x=mxUtils.bind(this,function(k){null==k&&(n.innerHTML="",k=1);var l=new mxXmlRequest(this.baseUrl+ -"/projects/"+encodeURIComponent(d+"/"+b)+"/repository/tree?path="+g+"&ref="+e+"&per_page=100&page="+k,null,"GET");this.ui.spinner.spin(n,mxResources.get("loading"));f.okButton.removeAttribute("disabled");null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var B=mxUtils.bind(this,function(){x(k+ -1)});mxEvent.addListener(v,"click",B);this.executeRequest(l,mxUtils.bind(this,function(f){this.ui.spinner.stop();1==k&&(p(!e),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,D();else{var a=g.split("/");g=a.slice(0,a.length-1).join("/");x()}}),"4px")));var l=JSON.parse(f.getText());if(null==l||0==l.length)mxUtils.write(n,mxResources.get("noFiles"));else{var z=!0,u=0;f=mxUtils.bind(this,function(f){for(var k=0;k<l.length;k++)mxUtils.bind(this,function(k){if(f==("tree"==k.type)){var l= -q.cloneNode();l.style.backgroundColor=z?"#eeeeee":"";z=!z;var p=document.createElement("img");p.src=IMAGE_PATH+"/"+("tree"==k.type?"folder.png":"file.png");p.setAttribute("align","absmiddle");p.style.marginRight="4px";p.style.marginTop="-4px";p.width=20;l.appendChild(p);l.appendChild(m(k.name+("tree"==k.type?"/":""),mxUtils.bind(this,function(){"tree"==k.type?(g=k.path,x()):a&&"blob"==k.type&&(this.ui.hideDialog(),c(d+"/"+b+"/"+e+"/"+k.path))})));n.appendChild(l);u++}})(l[k])});f(!0);a&&f(!1);100== -u&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&B()},mxEvent.addListener(n,"scroll",t))}}),u,!0)}),y=mxUtils.bind(this,function(a){null==a&&(n.innerHTML="",a=1);var c=new mxXmlRequest(this.baseUrl+"/projects/"+encodeURIComponent(d+"/"+b)+"/repository/branches?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&& -v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var k=mxUtils.bind(this,function(){y(a+1)});mxEvent.addListener(v,"click",k);this.executeRequest(c,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(p(!0),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){g=null;D()}),"4px")));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(n,mxResources.get("noFiles")); -else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=q.cloneNode();c.style.backgroundColor=0==b%2?"#eeeeee":"";c.appendChild(m(a.name,mxUtils.bind(this,function(){e=encodeURIComponent(a.name);g="";x()})));n.appendChild(c)})(b[c],c);100==b.length&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&k()},mxEvent.addListener(n,"scroll",t))}}),u)});f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));var D=mxUtils.bind(this, +function(){g=null;x()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(c," / ");c.appendChild(m(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");z()})))})(a)}n.appendChild(c)}),u=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?(g=e=b=d=null,D()):this.ui.hideDialog()}))}),v=null,t=null,z=mxUtils.bind(this,function(k){null==k&&(n.innerHTML="",k=1);var l=new mxXmlRequest(this.baseUrl+ +"/projects/"+encodeURIComponent(d+"/"+b)+"/repository/tree?path="+g+"&ref="+e+"&per_page=100&page="+k,null,"GET");this.ui.spinner.spin(n,mxResources.get("loading"));f.okButton.removeAttribute("disabled");null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var B=mxUtils.bind(this,function(){z(k+ +1)});mxEvent.addListener(v,"click",B);this.executeRequest(l,mxUtils.bind(this,function(f){this.ui.spinner.stop();1==k&&(p(!e),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,D();else{var a=g.split("/");g=a.slice(0,a.length-1).join("/");z()}}),"4px")));var l=JSON.parse(f.getText());if(null==l||0==l.length)mxUtils.write(n,mxResources.get("noFiles"));else{var y=!0,u=0;f=mxUtils.bind(this,function(f){for(var k=0;k<l.length;k++)mxUtils.bind(this,function(k){if(f==("tree"==k.type)){var l= +q.cloneNode();l.style.backgroundColor=y?"#eeeeee":"";y=!y;var p=document.createElement("img");p.src=IMAGE_PATH+"/"+("tree"==k.type?"folder.png":"file.png");p.setAttribute("align","absmiddle");p.style.marginRight="4px";p.style.marginTop="-4px";p.width=20;l.appendChild(p);l.appendChild(m(k.name+("tree"==k.type?"/":""),mxUtils.bind(this,function(){"tree"==k.type?(g=k.path,z()):a&&"blob"==k.type&&(this.ui.hideDialog(),c(d+"/"+b+"/"+e+"/"+k.path))})));n.appendChild(l);u++}})(l[k])});f(!0);a&&f(!1);100== +u&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&B()},mxEvent.addListener(n,"scroll",t))}}),u,!0)}),x=mxUtils.bind(this,function(a){null==a&&(n.innerHTML="",a=1);var c=new mxXmlRequest(this.baseUrl+"/projects/"+encodeURIComponent(d+"/"+b)+"/repository/branches?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&& +v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var k=mxUtils.bind(this,function(){x(a+1)});mxEvent.addListener(v,"click",k);this.executeRequest(c,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(p(!0),n.appendChild(m("../ [Up]",mxUtils.bind(this,function(){g=null;D()}),"4px")));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(n,mxResources.get("noFiles")); +else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a,b){var c=q.cloneNode();c.style.backgroundColor=0==b%2?"#eeeeee":"";c.appendChild(m(a.name,mxUtils.bind(this,function(){e=encodeURIComponent(a.name);g="";z()})));n.appendChild(c)})(b[c],c);100==b.length&&(n.appendChild(v),t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&k()},mxEvent.addListener(n,"scroll",t))}}),u)});f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(n,mxResources.get("loading"));var D=mxUtils.bind(this, function(a){this.ui.spinner.stop();null==a&&(n.innerHTML="",a=1);null!=t&&(mxEvent.removeListener(n,"scroll",t),t=null);null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v);v=document.createElement("a");v.style.display="block";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("more")+"...");var c=mxUtils.bind(this,function(){D(a+1)});mxEvent.addListener(v,"click",c);var f=mxUtils.bind(this,function(a){this.ui.spinner.spin(n,mxResources.get("loading"));var b=new mxXmlRequest(this.baseUrl+ "/groups?per_page=100",null,"GET");this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();a(JSON.parse(b.getText()))}),u)}),k=mxUtils.bind(this,function(a,b){this.ui.spinner.spin(n,mxResources.get("loading"));var c=new mxXmlRequest(this.baseUrl+"/groups/"+a.id+"/projects?per_page=100",null,"GET");this.executeRequest(c,mxUtils.bind(this,function(c){this.ui.spinner.stop();b(a,JSON.parse(c.getText()))}),u)});f(mxUtils.bind(this,function(f){var l=new mxXmlRequest(this.baseUrl+"/users/"+ this.user.id+"/projects?per_page=100&page="+a,null,"GET");this.ui.spinner.spin(n,mxResources.get("loading"));this.executeRequest(l,mxUtils.bind(this,function(l){this.ui.spinner.stop();l=JSON.parse(l.getText());if(null!=l&&0!=l.length||null!=f&&0!=f.length){1==a&&(n.appendChild(m(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(a=a.split("/"),1<a.length?(d=a[0],b=a[1],e="master", -g=null,2<a.length&&(g=encodeURIComponent(a.slice(2,a.length).join("/"))),x()):(this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})))}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(n),mxUtils.br(n));for(var p=!0,z=0;z<l.length;z++)mxUtils.bind(this,function(a,c){var f=q.cloneNode();f.style.backgroundColor=p?"#eeeeee":"";p=!p;f.appendChild(m(a.name_with_namespace,mxUtils.bind(this,function(){d=a.owner.username;b= -a.path;e=a.default_branch||"master";g="";x()})));n.appendChild(f)})(l[z],z);for(z=0;z<f.length;z++)k(f[z],mxUtils.bind(this,function(a,c){for(var f=0;f<c.length;f++){var k=q.cloneNode();k.style.backgroundColor=p?"#eeeeee":"";p=!p;mxUtils.bind(this,function(c){k.appendChild(m(c.name_with_namespace,mxUtils.bind(this,function(){d=a.full_path;b=c.path;e=c.default_branch||"master";g="";x()})));n.appendChild(k)})(c[f])}}))}else mxUtils.write(n,mxResources.get("noFiles"));100==l.length&&(n.appendChild(v), +g=null,2<a.length&&(g=encodeURIComponent(a.slice(2,a.length).join("/"))),z()):(this.ui.spinner.stop(),this.ui.handleError({message:mxResources.get("invalidName")})))}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(n),mxUtils.br(n));for(var p=!0,y=0;y<l.length;y++)mxUtils.bind(this,function(a,c){var f=q.cloneNode();f.style.backgroundColor=p?"#eeeeee":"";p=!p;f.appendChild(m(a.name_with_namespace,mxUtils.bind(this,function(){d=a.owner.username;b= +a.path;e=a.default_branch||"master";g="";z()})));n.appendChild(f)})(l[y],y);for(y=0;y<f.length;y++)k(f[y],mxUtils.bind(this,function(a,c){for(var f=0;f<c.length;f++){var k=q.cloneNode();k.style.backgroundColor=p?"#eeeeee":"";p=!p;mxUtils.bind(this,function(c){k.appendChild(m(c.name_with_namespace,mxUtils.bind(this,function(){d=a.full_path;b=c.path;e=c.default_branch||"master";g="";z()})));n.appendChild(k)})(c[f])}}))}else mxUtils.write(n,mxResources.get("noFiles"));100==l.length&&(n.appendChild(v), t=function(){n.scrollTop>=n.scrollHeight-n.offsetHeight&&c()},mxEvent.addListener(n,"scroll",t))}),u)}))});this.token?this.user?D():this.updateUser(function(){D()},u,!0):this.authenticate(mxUtils.bind(this,function(){this.updateUser(function(){D()},u,!0)}),u)};GitLabClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};DrawioComment=function(a,c,d,b,e,g,k){this.file=a;this.id=c;this.content=d;this.modifiedDate=b;this.createdDate=e;this.isResolved=g;this.user=k;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,c,d,b,e){c()};DrawioComment.prototype.editComment=function(a,c,d){c()};DrawioComment.prototype.deleteComment=function(a,c){a()};DriveComment=function(a,c,d,b,e,g,k,l){DrawioComment.call(this,a,c,d,b,e,g,k);this.pCommentId=l};mxUtils.extend(DriveComment,DrawioComment);DriveComment.prototype.addReply=function(a,c,d,b,e){a={content:a.content};b?a.verb="resolve":e&&(a.verb="reopen");this.file.ui.drive.executeRequest({url:"/files/"+this.file.getId()+"/comments/"+this.id+"/replies",params:a,method:"POST"},mxUtils.bind(this,function(a){c(a.replyId)}),d)}; DriveComment.prototype.editComment=function(a,c,d){this.content=a;a={content:a};this.file.ui.drive.executeRequest(this.pCommentId?{url:"/files/"+this.file.getId()+"/comments/"+this.pCommentId+"/replies/"+this.id,params:a,method:"PATCH"}:{url:"/files/"+this.file.getId()+"/comments/"+this.id,params:a,method:"PATCH"},c,d)}; DriveComment.prototype.deleteComment=function(a,c){this.file.ui.drive.executeRequest(this.pCommentId?{url:"/files/"+this.file.getId()+"/comments/"+this.pCommentId+"/replies/"+this.id,method:"DELETE"}:{url:"/files/"+this.file.getId()+"/comments/"+this.id,method:"DELETE"},a,c)};App=function(a,c,d){EditorUi.call(this,a,c,null!=d?d:"1"==urlParams.lightbox||"min"==uiTheme&&"0"!=urlParams.chrome);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(window.onunload=mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.isModified()){var c={category:"DISCARD-FILE-"+a.getHash(),action:(a.savingFile?"saving":"")+(a.savingFile&&null!=a.savingFileTime?"_"+Math.round((Date.now()-a.savingFileTime.getTime())/1E3):"")+(null!=a.saveLevel?"-sl_"+a.saveLevel:"")+"-age_"+(null!= @@ -9123,7 +9223,7 @@ App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage 2)?(mxscript(App.DROPBOX_URL),mxscript(App.DROPINS_URL,null,"dropboxjs",App.DROPBOX_APPKEY)):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript(App.ONEDRIVE_URL):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient= null),"function"===typeof window.TrelloClient&&("0"!=urlParams.tr&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_TRELLO||null!=window.location.hash&&"#T"==window.location.hash.substring(0,2)?(mxscript(App.TRELLO_JQUERY_URL),mxscript(App.TRELLO_URL)):"0"==urlParams.chrome&&(window.TrelloClient=null):window.TrelloClient=null)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")))})(); App.main=function(a,c){function d(b){mxUtils.getAll("1"!=urlParams.dev?[b]:[b,STYLE_PATH+"/default.xml",STYLE_PATH+"/dark-default.xml"],function(b){mxResources.parse(b[0].getText());if(isLocalStorage&&null!=localStorage&&null!=window.location.hash&&"#_CONFIG_"==window.location.hash.substring(0,9))try{var d=function(a){if(null!=a)for(var b=0;b<a.length;b++)if(!e[a[b]])throw Error(mxResources.get("invalidInput")+' "'+a[b])+'"';return!0},e={},f;for(f in App.pluginRegistry)e[App.pluginRegistry[f]]=!0; -var k=JSON.parse(Graph.decompress(window.location.hash.substring(9)));null!=k&&d(k.plugins)&&(EditorUi.debug("Setting configuration",JSON.stringify(k)),confirm(mxResources.get("configLinkWarn"))&&confirm(mxResources.get("configLinkConfirm"))&&(localStorage.setItem(".configuration",JSON.stringify(k)),window.location.hash="",window.location.reload()));window.location.hash=""}catch(x){window.location.hash="",alert(x)}2<b.length&&(Graph.prototype.defaultThemes["default-style2"]=b[1].getDocumentElement(), +var k=JSON.parse(Graph.decompress(window.location.hash.substring(9)));null!=k&&d(k.plugins)&&(EditorUi.debug("Setting configuration",JSON.stringify(k)),confirm(mxResources.get("configLinkWarn"))&&confirm(mxResources.get("configLinkConfirm"))&&(localStorage.setItem(".configuration",JSON.stringify(k)),window.location.hash="",window.location.reload()));window.location.hash=""}catch(z){window.location.hash="",alert(z)}2<b.length&&(Graph.prototype.defaultThemes["default-style2"]=b[1].getDocumentElement(), Graph.prototype.defaultThemes.darkTheme=b[2].getDocumentElement());b=null!=c?c():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL, function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback): "undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!= @@ -9159,7 +9259,7 @@ b)});b()}if("1"!=urlParams.embed||"1"==urlParams.db){var e=mxUtils.bind(this,fun (window.DrawDropboxClientCallback=e)});e()}if("1"!=urlParams.embed){if(this.bg=this.createBackground(),document.body.appendChild(this.bg),this.diagramContainer.style.visibility="hidden",this.formatContainer.style.visibility="hidden",this.hsplit.style.display="none",this.sidebarContainer.style.display="none",this.sidebarFooterContainer.style.display="none","1"==urlParams.local?this.setMode(App.MODE_DEVICE):this.mode=App.mode,mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||this.editor.chromeless&&!this.editor.editable|| this.editor.addListener("fileLoaded",mxUtils.bind(this,function(){if(!(this.getCurrentFile().mode!=App.MODE_DEVICE||isLocalStorage&&null!=mxSettings.settings&&null!=mxSettings.settings.closeDesktopFooter||this.footerShowing)&&null==urlParams.open){var b=a('<img border="0" align="absmiddle" style="margin-top:-6px;cursor:pointer;margin-left:8px;margin-right:12px;width:24px;height:24px;" src="'+IMAGE_PATH+'/logo.png"><font size="3">'+mxResources.get("downloadDesktop")+"...</font>","https://get.draw.io/", "geStatusMessage",mxUtils.bind(this,function(){b.parentNode.removeChild(b);this.hideFooter();isLocalStorage&&null!=mxSettings.settings&&(mxSettings.settings.closeDesktopFooter=Date.now(),mxSettings.save())}));document.body.appendChild(b);this.footerShowing=!0;window.setTimeout(mxUtils.bind(this,function(){mxUtils.setPrefixedStyle(b.style,"transform","translate(-50%,0%)")}),500);window.setTimeout(mxUtils.bind(this,function(){mxUtils.setPrefixedStyle(b.style,"transform","translate(-50%,110%)");this.footerShowing= -!1}),15E3)}})),!(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"1"==urlParams.embed||"auto"!=DrawioFile.SYNC||"1"==urlParams.local||"1"==urlParams.stealth||"1"==urlParams.offline||this.editor.chromeless&&!this.editor.editable)){var g=window.setTimeout(mxUtils.bind(this,function(){DrawioFile.SYNC="manual";var a=this.getCurrentFile();null!=a&&null!=a.sync&&(a.sync.destroy(),a.sync=null,a=mxUtils.htmlEntities(mxResources.get("timeout")),this.editor.setStatus('<div title="'+a+'" class="geStatusAlert" style="overflow:hidden;">'+ +!1}),6E4)}})),!(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"1"==urlParams.embed||"auto"!=DrawioFile.SYNC||"1"==urlParams.local||"1"==urlParams.stealth||"1"==urlParams.offline||this.editor.chromeless&&!this.editor.editable)){var g=window.setTimeout(mxUtils.bind(this,function(){DrawioFile.SYNC="manual";var a=this.getCurrentFile();null!=a&&null!=a.sync&&(a.sync.destroy(),a.sync=null,a=mxUtils.htmlEntities(mxResources.get("timeout")),this.editor.setStatus('<div title="'+a+'" class="geStatusAlert" style="overflow:hidden;">'+ a+"</div>"));EditorUi.logEvent({category:"TIMEOUT-CACHE-CHECK",action:"timeout",label:408})}),Editor.cacheTimeout);(new Date).getTime();mxUtils.get(EditorUi.cacheUrl+"?alive",mxUtils.bind(this,function(a){window.clearTimeout(g)}))}}else null!=this.menubar&&(this.menubar.container.style.paddingTop="0px");this.updateHeader();null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.buttonContainer.style.display="inline-block",this.buttonContainer.style.paddingRight="48px",this.buttonContainer.style.position= "absolute",this.buttonContainer.style.right="0px",this.menubar.container.appendChild(this.buttonContainer));"atlas"==uiTheme&&null!=this.menubar&&(null!=this.toggleElement&&(this.toggleElement.click(),this.toggleElement.style.display="none"),this.icon=document.createElement("img"),this.icon.setAttribute("src",IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.padding="6px",this.icon.style.cursor="pointer",mxEvent.addListener(this.icon,"click", mxUtils.bind(this,function(a){this.appIconClicked(a)})),mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild));this.editor.graph.isViewer()&&this.initializeViewerMode()};App.prototype.scheduleSanityCheck=function(){null==this.sanityCheckThread&&(this.sanityCheckThread=window.setTimeout(mxUtils.bind(this,function(){this.sanityCheckThread=null;this.sanityCheck()}),this.warnInterval))}; @@ -9177,9 +9277,9 @@ App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.mod App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,c=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=c&&(a=(null!=c.getTitle()?c.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],c,d=0;256>d;d++){c=d;for(var b=0;8>b;b++)c=c&1?3988292384^c>>>1:c>>>1;a[d]=c}return a}; App.prototype.getThumbnail=function(a,c){var d=!1;try{var b=!0,e=window.setTimeout(mxUtils.bind(this,function(){b=!1;c(null)}),this.timeout),g=mxUtils.bind(this,function(a){window.clearTimeout(e);b&&c(a)});null==this.thumbImageCache&&(this.thumbImageCache={});var k=this.editor.graph,l=null!=k.themes&&"darkTheme"==k.defaultThemeName;if(null!=this.pages&&(this.currentPage!=this.pages[0]||l)){var n=k.getGlobalVariable,k=this.createTemporaryGraph(l?k.getDefaultStylesheet():k.getStylesheet()),q=this.pages[0]; l&&(k.defaultThemeName="default");k.getGlobalVariable=function(a){return"page"==a?q.getName():"pagenumber"==a?1:n.apply(this,arguments)};k.getGlobalVariable=n;document.body.appendChild(k.container);k.model.setRoot(q.root)}if(mxClient.IS_CHROMEAPP||!k.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,function(a){try{k!=this.editor.graph&&null!=k.container.parentNode&&k.container.parentNode.removeChild(k.container)}catch(B){a=null}g(a)}),a,this.thumbImageCache,"#ffffff",function(){g()}, -null,null,null,null,null,null,k),d=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var f=document.createElement("canvas"),m=k.getGraphBounds(),p=a/m.width,p=Math.min(1,Math.min(3*a/(4*m.height),p)),u=Math.floor(m.x),v=Math.floor(m.y);f.setAttribute("width",Math.ceil(p*(m.width+4)));f.setAttribute("height",Math.ceil(p*(m.height+4)));var t=f.getContext("2d");t.scale(p,p);t.translate(-u,-v);var x=k.background;if(null==x||""==x||x==mxConstants.NONE)x="#ffffff";t.save();t.fillStyle=x;t.fillRect(u, -v,Math.ceil(m.width+4),Math.ceil(m.height+4));t.restore();var y=new mxJsCanvas(f),D=new mxAsyncCanvas(this.thumbImageCache);y.images=this.thumbImageCache.images;var I=new mxImageExport;I.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};I.drawText=function(a,b){};I.drawState(k.getView().getState(k.model.root),D);D.finish(mxUtils.bind(this,function(){try{I.drawState(k.getView().getState(k.model.root), -y),k!=this.editor.graph&&null!=k.container.parentNode&&k.container.parentNode.removeChild(k.container)}catch(z){f=null}g(f)}));d=!0}}catch(z){d=!1,null!=k&&k!=this.editor.graph&&null!=k.container.parentNode&&k.container.parentNode.removeChild(k.container)}return d}; +null,null,null,null,null,null,k),d=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var f=document.createElement("canvas"),m=k.getGraphBounds(),p=a/m.width,p=Math.min(1,Math.min(3*a/(4*m.height),p)),u=Math.floor(m.x),v=Math.floor(m.y);f.setAttribute("width",Math.ceil(p*(m.width+4)));f.setAttribute("height",Math.ceil(p*(m.height+4)));var t=f.getContext("2d");t.scale(p,p);t.translate(-u,-v);var z=k.background;if(null==z||""==z||z==mxConstants.NONE)z="#ffffff";t.save();t.fillStyle=z;t.fillRect(u, +v,Math.ceil(m.width+4),Math.ceil(m.height+4));t.restore();var x=new mxJsCanvas(f),D=new mxAsyncCanvas(this.thumbImageCache);x.images=this.thumbImageCache.images;var I=new mxImageExport;I.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};I.drawText=function(a,b){};I.drawState(k.getView().getState(k.model.root),D);D.finish(mxUtils.bind(this,function(){try{I.drawState(k.getView().getState(k.model.root), +x),k!=this.editor.graph&&null!=k.container.parentNode&&k.container.parentNode.removeChild(k.container)}catch(y){f=null}g(f)}));d=!0}}catch(y){d=!1,null!=k&&k!=this.editor.graph&&null!=k.container.parentNode&&k.container.parentNode.removeChild(k.container)}return d}; App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);mxClient.IS_QUIRKS&&new mxDivResizer(a);return a}; (function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(c,d){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(null!=this.appIcon){var b=this.getCurrentFile();c=null!=b?b.getMode():c;c==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):c==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])), this.appIcon.style.cursor="pointer"):c==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor=c==App.MODE_DEVICE?"pointer":"default")}if(d)try{if(isLocalStorage)localStorage.setItem(".mode",c);else if("undefined"!=typeof Storage){var e=new Date;e.setYear(e.getFullYear()+1);document.cookie="MODE="+c+"; expires="+e.toUTCString()}}catch(g){}}})(); @@ -9195,15 +9295,15 @@ App.prototype.showRefreshDialog=function(a,c){if(!this.showingRefreshDialog&&(th this.createRealtimeNotice();d.style.left="0";d.style.right="0";d.style.borderRadius="0";d.style.borderLeftStyle="none";d.style.borderRightStyle="none";d.style.marginBottom="26px";d.style.padding="8px 0 8px 0";this.dialog.container.appendChild(d)}}; App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var c=document.createElement("div");c.className="geAlert";c.style.zIndex=2E9;c.style.left="50%";c.style.top="-100%";mxUtils.setPrefixedStyle(c.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(c.style,"transition","all 1s ease");c.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("title",mxResources.get("close"));a.innerHTML= mxResources.get("close");c.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=c.parentNode&&(c.parentNode.removeChild(c),mxEvent.consume(a))});document.body.appendChild(c);window.setTimeout(function(){c.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(c.style,"transition","all 2s ease");c.style.opacity="0";window.setTimeout(function(){null!=c.parentNode&&c.parentNode.removeChild(c)},2E3)},15E3)}}; -App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{this.hideDialog();var b=this.getDiagramId(),c=this.getCurrentFile();null!=c&&c.getHash()==b||this.loadFile(b,!0)}catch(l){null!=document.body&&this.handleError(l,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash= -null!=a?a.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var a=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 a=mxUtils.bind(this,function(a){"data:image/png;base64,"==a.substring(0,22)&&(a=this.extractGraphModelFromPng(a));var b=urlParams.title,b=null!=b? -decodeURIComponent(b):this.defaultFilename;a=new LocalFile(this,a,b,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(a.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(a);this.getCurrentFile().setModified(!this.editor.chromeless)}),b=window.opener||window.parent;if(b!=window){var c=urlParams.create;null!=c?a(b[decodeURIComponent(c)]):(c=urlParams.data,null!=c?a(decodeURIComponent(c)):this.installMessageHandler(mxUtils.bind(this,function(c,d){d.source== -b&&a(c)})))}}else if(null==this.dialog)if("1"==urlParams.demo)c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=c;else{c=!1;try{c=null!=window.opener&&null!=window.opener.openFile}catch(q){}if(c)this.spinner.spin(document.body,mxResources.get("loading"));else if(c=this.getDiagramId(),"0"!=urlParams.splash||null!=c&&0!=c.length)this.loadFile(c);else if(!mxClient.IS_CHROMEAPP){var d=this.getDraft(),n=null!=d?d.data:this.getFileData(), -c=Editor.useLocalStorage;this.createFile(this.defaultFilename,n,null,null,null,null,null,!0);Editor.useLocalStorage=c;null!=d&&(c=this.getCurrentFile(),null!=c&&c.addUnsavedStatus())}}}),c=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=c&&0<c.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var d=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search= -this.getSearch(["create","title"]))}),b=mxUtils.bind(this,function(a){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,a,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var b=urlParams.title,b=null!=b?decodeURIComponent(b):this.defaultFilename;a=this.getServiceCount(!0);isLocalStorage&&a++;var c=4>=a?2:6<a?4:3,b=new CreateDialog(this,b,mxUtils.bind(this,function(a,b){if(null==b){this.hideDialog();var c=Editor.useLocalStorage;this.createFile(0<a.length? -a:this.defaultFilename,this.getFileData(),null,null,null,!0,null,!0);Editor.useLocalStorage=c}else this.pickFolder(b,mxUtils.bind(this,function(c){this.createFile(a,this.getFileData(!0),null,b,null,!0,c)}))}),null,null,null,null,"1"==urlParams.browser,null,null,!0,c,null,null,null,this.editor.fileExtensions);this.showDialog(b.container,400,a>c?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));b.init()}}),c=decodeURIComponent(c);if("http://"!=c.substring(0, -7)&&"https://"!=c.substring(0,8))try{null!=window.opener&&null!=window.opener[c]?b(window.opener[c]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}else this.loadTemplate(c,function(a){b(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),d)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action?null!= -this.stateArg.ids&&(window.history&&window.history.replaceState&&window.history.replaceState(null,null,window.location.pathname+this.getSearch(["state"])),window.location.hash="G"+this.stateArg.ids[0]):(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?(this.setMode(App.MODE_GOOGLE),this.actions.get("new").funct()):a()}}catch(e){this.handleError(e)}}; +App.prototype.start=function(){null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{this.hideDialog();var b=this.getDiagramId(),c=this.getCurrentFile();null!=c&&c.getHash()==b||this.loadFile(b,!0)}catch(l){null!=document.body&&this.handleError(l,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a= +this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var a=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 a=mxUtils.bind(this,function(a){"data:image/png;base64,"==a.substring(0,22)&&(a=this.extractGraphModelFromPng(a)); +var b=urlParams.title,b=null!=b?decodeURIComponent(b):this.defaultFilename;a=new LocalFile(this,a,b,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(a.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(a);this.getCurrentFile().setModified(!this.editor.chromeless)}),b=window.opener||window.parent;if(b!=window){var c=urlParams.create;null!=c?a(b[decodeURIComponent(c)]):(c=urlParams.data,null!=c?a(decodeURIComponent(c)):this.installMessageHandler(mxUtils.bind(this, +function(c,d){d.source==b&&a(c)})))}}else if(null==this.dialog)if("1"==urlParams.demo)c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=c;else{c=!1;try{c=null!=window.opener&&null!=window.opener.openFile}catch(q){}if(c)this.spinner.spin(document.body,mxResources.get("loading"));else if(c=this.getDiagramId(),"0"!=urlParams.splash||null!=c&&0!=c.length)this.loadFile(c);else if(!mxClient.IS_CHROMEAPP){var d=this.getDraft(),n=null!= +d?d.data:this.getFileData(),c=Editor.useLocalStorage;this.createFile(this.defaultFilename,n,null,null,null,null,null,!0);Editor.useLocalStorage=c;null!=d&&(c=this.getCurrentFile(),null!=c&&c.addUnsavedStatus())}}}),c=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=c&&0<c.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var d=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&& +(window.location.search=this.getSearch(["create","title"]))}),b=mxUtils.bind(this,function(a){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,a,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var b=urlParams.title,b=null!=b?decodeURIComponent(b):this.defaultFilename;a=this.getServiceCount(!0);isLocalStorage&&a++;var c=4>=a?2:6<a?4:3,b=new CreateDialog(this,b,mxUtils.bind(this,function(a,b){if(null==b){this.hideDialog();var c=Editor.useLocalStorage; +this.createFile(0<a.length?a:this.defaultFilename,this.getFileData(),null,null,null,!0,null,!0);Editor.useLocalStorage=c}else this.pickFolder(b,mxUtils.bind(this,function(c){this.createFile(a,this.getFileData(!0),null,b,null,!0,c)}))}),null,null,null,null,"1"==urlParams.browser,null,null,!0,c,null,null,null,this.editor.fileExtensions);this.showDialog(b.container,400,a>c?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));b.init()}}),c=decodeURIComponent(c); +if("http://"!=c.substring(0,7)&&"https://"!=c.substring(0,8))try{null!=window.opener&&null!=window.opener[c]?b(window.opener[c]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(e){this.handleError(e,mxResources.get("errorLoadingFile"))}else this.loadTemplate(c,function(a){b(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),d)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"== +this.stateArg.action?null!=this.stateArg.ids&&(window.history&&window.history.replaceState&&window.history.replaceState(null,null,window.location.pathname+this.getSearch(["state"])),window.location.hash="G"+this.stateArg.ids[0]):(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?(this.setMode(App.MODE_GOOGLE),this.actions.get("new").funct()):a()}}catch(e){this.handleError(e)}}; App.prototype.showSplash=function(a){var c=this.getServiceCount(!0,!0),d=mxUtils.bind(this,function(){var a=new SplashDialog(this);this.showDialog(a.container,340,mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:2>c?230:260,!0,!0,mxUtils.bind(this,function(a){a&&!mxClient.IS_CHROMEAPP&&(a=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=a)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")}, mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(mxClient.IS_CHROMEAPP||null!=this.mode&&!a)null==urlParams.create&&d();else{a=4==c?2:3;var b=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();d()}),a);this.showDialog(b.container,3>a?240:300,4<=c?440:this.isOfflineApp()?300:320,!0,!1);b.init()}}; App.prototype.addLanguageMenu=function(a,c){var d=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){d=document.createElement("div");d.setAttribute("title",mxResources.get("language"));d.className="geIcon geSprite geSprite-globe";d.style.position="absolute";d.style.cursor="pointer";d.style.bottom="20px";d.style.right="20px";if(c){d.style.direction="rtl";d.style.textAlign="right";d.style.right="24px";var b=document.createElement("span");b.style.display="inline-block"; @@ -9252,9 +9352,9 @@ App.prototype.getLibraryStorageHint=function(a){var c=a.getTitle();a.constructor mxResources.get("browser")+")":a.constructor==LocalLibrary&&(c+=" ("+mxResources.get("device")+")");return c};App.prototype.restoreLibraries=function(){this.loadLibraries(mxSettings.getCustomLibraries(),mxUtils.bind(this,function(){this.loadLibraries((urlParams.clibs||"").split(";"))}))}; App.prototype.loadLibraries=function(a,c){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var d=mxUtils.bind(this,function(a,b){b||mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),b=0,e=[],g=mxUtils.bind(this,function(){if(0==b){if(null!=a)for(var d=a.length-1;0<=d;d--)null!=e[d]&&this.loadLibrary(e[d]);null!=c&&c()}});if(null!=a)for(var k=0;k<a.length;k++){var l=encodeURIComponent(decodeURIComponent(a[k]));mxUtils.bind(this,function(a,c){if(null!= a&&0<a.length&&null==this.pendingLibraries[a]&&null==this.sidebar.palettes[a]){b++;var f=mxUtils.bind(this,function(d){delete this.pendingLibraries[a];e[c]=d;b--;g()}),k=mxUtils.bind(this,function(c){d(a,c);b--;g()});this.pendingLibraries[a]=!0;var l=a.substring(0,1);if("L"==l)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var b=decodeURIComponent(a.substring(1));this.getLocalData(b,mxUtils.bind(this,function(a){".scratchpad"==b&&null==a&&(a=this.emptyLibraryXml); -null!=a?f(new StorageLibrary(this,a,b)):k()}))}catch(y){k()}}),0);else if("U"==l){var n=decodeURIComponent(a.substring(1));if(!this.isOffline()){l=n;this.editor.isCorsEnabledForUrl(l)||(l="t="+(new Date).getTime(),l=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+l);try{mxUtils.get(l,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{f(new UrlLibrary(this,a.getText(),n))}catch(y){k()}else k()}),function(){k()})}catch(x){k()}}}else if("R"==l){if(l=decodeURIComponent(a.substring(1)), -!this.isOffline())try{var l=JSON.parse(l),q={id:l[0],title:l[1],downloadUrl:l[2]};this.remoteInvoke("getFileContent",[q.downloadUrl],null,mxUtils.bind(this,function(a){try{f(new RemoteLibrary(this,a,q))}catch(y){k()}}),function(){k()})}catch(x){k()}}else if("S"==l&&null!=this.loadDesktopLib)try{this.loadDesktopLib(decodeURIComponent(a.substring(1)),function(a){f(a)},k)}catch(x){k()}else{var t=null;"G"==l?null!=this.drive&&null!=this.drive.user&&(t=this.drive):"H"==l?null!=this.gitHub&&null!=this.gitHub.getUser()&& -(t=this.gitHub):"T"==l?null!=this.trello&&this.trello.isAuthorized()&&(t=this.trello):"D"==l?null!=this.dropbox&&null!=this.dropbox.getUser()&&(t=this.dropbox):"W"==l&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(t=this.oneDrive);null!=t?t.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{f(a)}catch(y){k()}}),function(a){k()}):k(!0)}}})(l,k)}g()}}; +null!=a?f(new StorageLibrary(this,a,b)):k()}))}catch(x){k()}}),0);else if("U"==l){var n=decodeURIComponent(a.substring(1));if(!this.isOffline()){l=n;this.editor.isCorsEnabledForUrl(l)||(l="t="+(new Date).getTime(),l=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+l);try{mxUtils.get(l,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{f(new UrlLibrary(this,a.getText(),n))}catch(x){k()}else k()}),function(){k()})}catch(z){k()}}}else if("R"==l){if(l=decodeURIComponent(a.substring(1)), +!this.isOffline())try{var l=JSON.parse(l),q={id:l[0],title:l[1],downloadUrl:l[2]};this.remoteInvoke("getFileContent",[q.downloadUrl],null,mxUtils.bind(this,function(a){try{f(new RemoteLibrary(this,a,q))}catch(x){k()}}),function(){k()})}catch(z){k()}}else if("S"==l&&null!=this.loadDesktopLib)try{this.loadDesktopLib(decodeURIComponent(a.substring(1)),function(a){f(a)},k)}catch(z){k()}else{var t=null;"G"==l?null!=this.drive&&null!=this.drive.user&&(t=this.drive):"H"==l?null!=this.gitHub&&null!=this.gitHub.getUser()&& +(t=this.gitHub):"T"==l?null!=this.trello&&this.trello.isAuthorized()&&(t=this.trello):"D"==l?null!=this.dropbox&&null!=this.dropbox.getUser()&&(t=this.dropbox):"W"==l&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(t=this.oneDrive);null!=t?t.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{f(a)}catch(x){k()}}),function(a){k()}):k(!0)}}})(l,k)}g()}}; App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();this.commentsSupported()?null==this.commentButton&&(this.commentButton=document.createElement("a"),this.commentButton.setAttribute("title",mxResources.get("comments")),this.commentButton.className="geToolbarButton",this.commentButton.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;float:left;cursor:pointer;width:24px;height:24px;background-size:24px 24px;background-position:center center;background-repeat:no-repeat;background-image:url("+ Editor.commentImage+");","atlas"==uiTheme?(this.commentButton.style.marginRight="10px",this.commentButton.style.marginTop="-3px"):this.commentButton.style.marginTop="min"==uiTheme?"1px":"-5px",mxEvent.addListener(this.commentButton,"click",mxUtils.bind(this,function(){this.actions.get("comments").funct()})),this.buttonContainer.appendChild(this.commentButton),"dark"==uiTheme||"atlas"==uiTheme)&&(this.commentButton.style.filter="invert(100%)"):null!=this.commentButton&&(this.commentButton.parentNode.removeChild(this.commentButton), this.commentButton=null);null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.backgroundColor="#F2931E",this.shareButton.style.borderColor="#F08705",this.shareButton.style.backgroundImage="none",this.shareButton.style.padding="2px 10px 0 10px",this.shareButton.style.marginTop="-10px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight= @@ -9396,12 +9496,12 @@ g.apply(this,arguments)};f.visible="1"!=urlParams.embed;b.actions.addAction("mak a.setModified(!1);a.addAllSavedStatus()}),mxUtils.bind(this,function(a){b.handleError(a)}))}),mxUtils.bind(this,function(a){b.handleError(a)})):b.createFile(c,b.getFileData(!0),null,d))}),mxUtils.bind(this,function(){b.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0,null,null,null,null,b.editor.fileExtensions),b.showDialog(c.container,420,380,!0,!0),c.init()):b.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));b.actions.addAction("moveToFolder...",mxUtils.bind(this, function(){var a=b.getCurrentFile();if(a.getMode()==App.MODE_GOOGLE||a.getMode()==App.MODE_ONEDRIVE){var c=!1;if(a.getMode()==App.MODE_GOOGLE&&null!=a.desc.parents)for(var d=0;d<a.desc.parents.length;d++)if(a.desc.parents[d].isRoot){c=!0;break}b.pickFolder(a.getMode(),mxUtils.bind(this,function(c){b.spinner.spin(document.body,mxResources.get("moving"))&&a.move(c,mxUtils.bind(this,function(a){b.spinner.stop()}),mxUtils.bind(this,function(a){b.handleError(a)}))}),null,!0,c)}}));this.put("publish",new Menu(mxUtils.bind(this, function(a,b){this.addMenuItems(a,["publishLink"],b)})));b.actions.put("useOffline",new Action(mxResources.get("useOffline")+"...",function(){b.openLink("https://app.draw.io/")}));b.actions.put("downloadDesktop",new Action(mxResources.get("downloadDesktop")+"...",function(){b.openLink("https://get.draw.io/")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){try{var a=b.getCurrentFile();null!=a&&b.drive.showPermissions(a.getId())}catch(B){b.handleError(B)}}));this.put("embed", -new Menu(mxUtils.bind(this,function(a,c){var d=b.getCurrentFile();null==d||d.getMode()!=App.MODE_GOOGLE&&d.getMode()!=App.MODE_GITHUB||!/(\.png)$/i.test(d.getTitle())||this.addMenuItems(a,["liveImage","-"],c);this.addMenuItems(a,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||b.isOffline()||this.addMenuItems(a,["embedIframe"],c);"1"==urlParams.embed||b.isOffline()||this.addMenuItems(a,"- googleDocs googleSlides googleSheets - microsoftOffice".split(" "),c)})));var x=function(a, -c,d,e){("plantUml"!=e||EditorUi.enablePlantUml&&!b.isOffline())&&a.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var a=new ParseDialog(b,d,e);b.showDialog(a.container,620,420,!0,!1);b.dialog.container.style.overflow="auto"}else a=new CreateGraphDialog(b,d,e),b.showDialog(a.container,620,420,!0,!1);a.init()}),c,null,g())},y=function(a,b,c,d){var f=e.isMouseInsertPoint()?e.getInsertPoint():e.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b, +new Menu(mxUtils.bind(this,function(a,c){var d=b.getCurrentFile();null==d||d.getMode()!=App.MODE_GOOGLE&&d.getMode()!=App.MODE_GITHUB||!/(\.png)$/i.test(d.getTitle())||this.addMenuItems(a,["liveImage","-"],c);this.addMenuItems(a,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||b.isOffline()||this.addMenuItems(a,["embedIframe"],c);"1"==urlParams.embed||b.isOffline()||this.addMenuItems(a,"- googleDocs googleSlides googleSheets - microsoftOffice".split(" "),c)})));var z=function(a, +c,d,e){("plantUml"!=e||EditorUi.enablePlantUml&&!b.isOffline())&&a.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var a=new ParseDialog(b,d,e);b.showDialog(a.container,620,420,!0,!1);b.dialog.container.style.overflow="auto"}else a=new CreateGraphDialog(b,d,e),b.showDialog(a.container,620,420,!0,!1);a.init()}),c,null,g())},x=function(a,b,c,d){var f=e.isMouseInsertPoint()?e.getInsertPoint():e.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b, c),d);a.vertex=!0;e.getModel().beginUpdate();try{a=e.addCell(a),e.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{e.getModel().endUpdate()}e.scrollCellToVisible(a);e.setSelectionCell(a);e.container.focus();e.editAfterInsert&&e.startEditing(a);return a};b.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){b.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this, -function(a,c,d,e,f,k,g,l,m,n){a=parseInt(a);!isNaN(a)&&0<a&&b.exportSvg(a/100,c,d,e,f,k,g,!l,m,n)}),!0,null,"svg")}));b.actions.put("insertText",new Action(mxResources.get("text"),function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&e.startEditingAtCell(y("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))}),null,null,Editor.ctrlKey+"+Shift+X").isEnabled=g;b.actions.put("insertRectangle",new Action(mxResources.get("rectangle"), -function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&y("",120,60,"whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+K").isEnabled=g;b.actions.put("insertEllipse",new Action(mxResources.get("ellipse"),function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&y("",80,80,"ellipse;whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+Shift+K").isEnabled=g;b.actions.put("insertRhombus",new Action(mxResources.get("rhombus"),function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&& -y("",80,80,"rhombus;whiteSpace=wrap;html=1;")})).isEnabled=g;var D=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):x(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(a,c){this.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),c);b.insertTemplateEnabled&&!b.isOffline()&&this.addMenuItems(a,["insertTemplate","-"],c);this.addMenuItems(a,["createShape","insertFreehand", +function(a,c,d,e,f,k,g,l,m,n){a=parseInt(a);!isNaN(a)&&0<a&&b.exportSvg(a/100,c,d,e,f,k,g,!l,m,n)}),!0,null,"svg")}));b.actions.put("insertText",new Action(mxResources.get("text"),function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&e.startEditingAtCell(x("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))}),null,null,Editor.ctrlKey+"+Shift+X").isEnabled=g;b.actions.put("insertRectangle",new Action(mxResources.get("rectangle"), +function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&x("",120,60,"whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+K").isEnabled=g;b.actions.put("insertEllipse",new Action(mxResources.get("ellipse"),function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&&x("",80,80,"ellipse;whiteSpace=wrap;html=1;")}),null,null,Editor.ctrlKey+"+Shift+K").isEnabled=g;b.actions.put("insertRhombus",new Action(mxResources.get("rhombus"),function(){e.isEnabled()&&!e.isCellLocked(e.getDefaultParent())&& +x("",80,80,"rhombus;whiteSpace=wrap;html=1;")})).isEnabled=g;var D=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):z(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(a,c){this.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),c);b.insertTemplateEnabled&&!b.isOffline()&&this.addMenuItems(a,["insertTemplate","-"],c);this.addMenuItems(a,["createShape","insertFreehand", "-"],c);this.addSubmenu("insertLayout",a,c,mxResources.get("layout"));this.addSubmenu("insertAdvanced",a,c,mxResources.get("advanced"))})));this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){D(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,c){D(a,c,["fromText","plantUml","-","formatSql"]);a.addItem(mxResources.get("csv")+"...",null,function(){b.showImportCsvDialog()}, c,null,g())})));this.put("openRecent",new Menu(function(a,c){var d=b.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");a.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){b.loadFile(d.id)},c)})(d[e]);a.addSeparator(c)}a.addItem(mxResources.get("reset"),null,function(){b.resetRecent()},c)}));this.put("openFrom",new Menu(function(a,c){null!=b.drive?a.addItem(mxResources.get("googleDrive")+"...", null,function(){b.pickFile(App.MODE_GOOGLE)},c):k&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=b.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){b.pickFile(App.MODE_ONEDRIVE)},c):n&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=b.dropbox?a.addItem(mxResources.get("dropbox")+ @@ -9498,24 +9598,24 @@ mxUtils.bind(this,function(){var a=new EmbedDialog(this,e);this.showDialog(a.con a)?b:void 0})),null!=b.relatedPage.root&&a.encodeCell(b.relatedPage.root,e));return e};a.beforeDecode=function(a,b,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(b.getAttribute("relatedPage"));if(null==c.relatedPage){var d=b.ownerDocument.createElement("diagram");d.setAttribute("id",b.getAttribute("relatedPage"));d.setAttribute("name",b.getAttribute("name"));c.relatedPage=new DiagramPage(d);d=b.getAttribute("viewState");null!=d&&(c.relatedPage.viewState=JSON.parse(d),b.removeAttribute("viewState")); b=b.cloneNode(!0);d=b.firstChild;if(null!=d)for(c.relatedPage.root=a.decodeCell(d,!1),c=d.nextSibling,d.parentNode.removeChild(d),d=c;null!=d;){c=d.nextSibling;if(d.nodeType==mxConstants.NODETYPE_ELEMENT){var e=d.getAttribute("id");null==a.lookup(e)&&a.decodeCell(d)}d.parentNode.removeChild(d);d=c}}return b};a.afterDecode=function(a,b,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png";EditorUi.prototype.altShiftActions[68]= "selectDescendants";var c=Graph.prototype.foldCells;Graph.prototype.foldCells=function(a,b,d,l,n){b=null!=b?b:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var e=d.slice(),f=[],k=0;k<d.length;k++){var g=this.view.getState(d[k]),u=null!=g?g.style:this.getCellStyle(d[k]);"1"==mxUtils.getValue(u,"treeFolding","0")&&(this.traverse(d[k],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=d[k]&&f.push(a);return a==d[k]||!this.model.isCollapsed(a)})), -this.model.setCollapsed(d[k],a))}for(k=0;k<f.length;k++)this.model.setVisible(f[k],!a);d=e;d=c.apply(this,arguments)}finally{this.model.endUpdate()}return d};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return x.isVertex(a)&&d(a)}function c(a){var b=!1;null!=a&&(b=t.view.getState(a),b="1"==(null!=b?b.style:t.getCellStyle(a)).treeMoving); -return b}function d(a){var b=!1;null!=a&&(a=x.getParent(a),b=t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType);return b}function l(a){var b=!1;null!=a&&(a=x.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function n(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y== +this.model.setCollapsed(d[k],a))}for(k=0;k<f.length;k++)this.model.setVisible(f[k],!a);d=e;d=c.apply(this,arguments)}finally{this.model.endUpdate()}return d};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return z.isVertex(a)&&d(a)}function c(a){var b=!1;null!=a&&(b=t.view.getState(a),b="1"==(null!=b?b.style:t.getCellStyle(a)).treeMoving); +return b}function d(a){var b=!1;null!=a&&(a=z.getParent(a),b=t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType);return b}function l(a){var b=!1;null!=a&&(a=z.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function n(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y== a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function q(a,b){b=null!=b?b:!0;t.model.beginUpdate();try{var c=t.model.getParent(a),d=t.getIncomingEdges(a),e=t.cloneCells([d[0],a]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=n(a),k=c.geometry;f==mxConstants.DIRECTION_SOUTH|| f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;t.view.currentRoot!=c&&(e[1].geometry.x-=k.x,e[1].geometry.y-=k.y);var g=t.view.getState(a),l=t.view.scale;if(null!=g){var m=mxRectangle.fromRectangle(g);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*l:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*l;var p=t.getOutgoingEdges(t.model.getTerminal(d[0], -!0));if(null!=p){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,u=k=d=0;u<p.length;u++){var z=t.model.getTerminal(p[u],!1);if(f==n(z)){var v=t.view.getState(z);z!=a&&null!=v&&(q&&b!=v.getCenterX()<g.getCenterX()||!q&&b!=v.getCenterY()<g.getCenterY())&&mxUtils.intersects(m,v)&&(d=10+Math.max(d,(Math.min(m.x+m.width,v.x+v.width)-Math.max(m.x,v.x))/l),k=10+Math.max(k,(Math.min(m.y+m.height,v.y+v.height)-Math.max(m.y,v.y))/l))}}q?k=0:d=0;for(u=0;u<p.length;u++)if(z=t.model.getTerminal(p[u], -!1),f==n(z)&&(v=t.view.getState(z),z!=a&&null!=v&&(q&&b!=v.getCenterX()<g.getCenterX()||!q&&b!=v.getCenterY()<g.getCenterY()))){var x=[];t.traverse(v.cell,!0,function(a,b){null!=b&&x.push(b);x.push(a);return!0});t.moveCells(x,(b?1:-1)*d,(b?1:-1)*k)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function f(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1); +!0));if(null!=p){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,u=k=d=0;u<p.length;u++){var y=t.model.getTerminal(p[u],!1);if(f==n(y)){var v=t.view.getState(y);y!=a&&null!=v&&(q&&b!=v.getCenterX()<g.getCenterX()||!q&&b!=v.getCenterY()<g.getCenterY())&&mxUtils.intersects(m,v)&&(d=10+Math.max(d,(Math.min(m.x+m.width,v.x+v.width)-Math.max(m.x,v.x))/l),k=10+Math.max(k,(Math.min(m.y+m.height,v.y+v.height)-Math.max(m.y,v.y))/l))}}q?k=0:d=0;for(u=0;u<p.length;u++)if(y=t.model.getTerminal(p[u], +!1),f==n(y)&&(v=t.view.getState(y),y!=a&&null!=v&&(q&&b!=v.getCenterX()<g.getCenterX()||!q&&b!=v.getCenterY()<g.getCenterY()))){var x=[];t.traverse(v.cell,!0,function(a,b){null!=b&&x.push(b);x.push(a);return!0});t.moveCells(x,(b?1:-1)*d,(b?1:-1)*k)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function f(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1); var e=t.model.getParent(a),f=e.geometry,k=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(a,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});var g=a.geometry.width+40,l=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?g=0:b==mxConstants.DIRECTION_NORTH?(g=0,l=-l):b==mxConstants.DIRECTION_WEST?(g=-g,l=0):b==mxConstants.DIRECTION_EAST&&(l=0);t.moveCells(k,g,l);return t.addCells(d,e)}finally{t.model.endUpdate()}}function m(a){t.model.beginUpdate();try{var b= t.model.getParent(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(d[0],a,!0);var c=t.getOutgoingEdges(a),e=b.geometry,f=[];t.view.currentRoot==b&&(e=new mxRectangle);for(var k=0;k<c.length;k++){var g=t.model.getTerminal(c[k],!1);null!=g&&f.push(g)}var l=t.view.getBounds(f),m=n(a),p=t.view.translate,q=t.view.scale;m==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/q-p.x-e.x+10,d[1].geometry.y+=d[1].geometry.height- e.y+40):m==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/q-p.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height+e.y+40):(d[1].geometry.x=m==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width+e.x+40):d[1].geometry.x+(d[1].geometry.width-e.x+40),d[1].geometry.y=null==l?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(l.y+l.height)/q-p.y+-e.y+10);return t.addCells(d,b)}finally{t.model.endUpdate()}}function p(a, b,c){a=t.getOutgoingEdges(a);c=t.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=t.view.getState(t.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function u(a,b){var c=n(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| -c==mxConstants.DIRECTION_WEST)==d&&c!=b?v.actions.get("selectParent").funct():c==b?(d=t.getOutgoingEdges(a),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(a),null!=c&&0<c.length&&(d=p(t.model.getTerminal(c[0],!0),d,a),c=t.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&t.setSelectionCell(d[c].cell)))))}var v=this,t=v.editor.graph,x=t.getModel(),y=v.menus.createPopupMenu; -v.menus.createPopupMenu=function(a,c,d){y.apply(this,arguments);if(1==t.getSelectionCount()){c=t.getSelectionCell();var e=t.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(t.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(t.getSelectionCell())&&(a.addSeparator(),0<t.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};v.actions.addAction("selectChildren",function(){if(t.isEnabled()&& +c==mxConstants.DIRECTION_WEST)==d&&c!=b?v.actions.get("selectParent").funct():c==b?(d=t.getOutgoingEdges(a),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(a),null!=c&&0<c.length&&(d=p(t.model.getTerminal(c[0],!0),d,a),c=t.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&t.setSelectionCell(d[c].cell)))))}var v=this,t=v.editor.graph,z=t.getModel(),x=v.menus.createPopupMenu; +v.menus.createPopupMenu=function(a,c,d){x.apply(this,arguments);if(1==t.getSelectionCount()){c=t.getSelectionCell();var e=t.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(t.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(t.getSelectionCell())&&(a.addSeparator(),0<t.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};v.actions.addAction("selectChildren",function(){if(t.isEnabled()&& 1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+X");v.actions.addAction("selectSiblings",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=t.getOutgoingEdges(t.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c], !1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+S");v.actions.addAction("selectParent",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getIncomingEdges(a);null!=a&&0<a.length&&t.setSelectionCell(t.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");v.actions.addAction("selectDescendants",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),b=[];t.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});t.setSelectionCells(b)}}, -null,null,"Alt+Shift+D");var D=t.removeCells;t.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var k=a[f];x.isEdge(k)&&d(k)&&(e.push(k),k=x.getTerminal(k,!1));b(k)?(t.traverse(k,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),k=t.getIncomingEdges(a[f]),a=a.concat(k)):e.push(a[f])}a=e;return D.apply(this,arguments)};v.hoverIcons.getStateAt=function(a,c, +null,null,"Alt+Shift+D");var D=t.removeCells;t.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var k=a[f];z.isEdge(k)&&d(k)&&(e.push(k),k=z.getTerminal(k,!1));b(k)?(t.traverse(k,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),k=t.getIncomingEdges(a[f]),a=a.concat(k)):e.push(a[f])}a=e;return D.apply(this,arguments)};v.hoverIcons.getStateAt=function(a,c, d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var I=t.duplicateCells;t.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&b(f.cell))for(var k=t.getIncomingEdges(f.cell),f=0;f<k.length;f++)mxUtils.remove(k[f],a)}this.model.beginUpdate();try{var g=I.call(this,a,c);if(g.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var l=t.getIncomingEdges(g[e]),k=t.getIncomingEdges(a[e]); -if(0==l.length&&0<k.length){var m=this.cloneCell(k[0]);this.addEdge(m,t.getDefaultParent(),this.model.getTerminal(k[0],!0),g[e])}}}finally{this.model.endUpdate()}return g};var z=t.moveCells;t.moveCells=function(a,c,d,e,f,k,g){var l=null;this.model.beginUpdate();try{var m=f,n=this.view.getState(f),p=null!=n?n.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||t.model.isEdge(a[q])&&null==t.model.getTerminal(a[q],!0)){f=t.model.getParent(a[q]); -break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var u=t.getIncomingEdges(a[0]);if(0<u.length){var v=t.view.getState(t.model.getTerminal(u[0],!0));if(null!=v){var x=t.view.getState(m);null!=x&&(c=(x.getCenterX()-v.getCenterX())/t.view.scale,d=(x.getCenterY()-v.getCenterY())/t.view.scale)}}}}l=z.apply(this,arguments);if(null!=l&&null!=a&&l.length==a.length)for(q=0;q<l.length;q++)if(this.model.isEdge(l[q]))b(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[q],!0))&&this.model.setTerminal(l[q], +if(0==l.length&&0<k.length){var m=this.cloneCell(k[0]);this.addEdge(m,t.getDefaultParent(),this.model.getTerminal(k[0],!0),g[e])}}}finally{this.model.endUpdate()}return g};var y=t.moveCells;t.moveCells=function(a,c,d,e,f,k,g){var l=null;this.model.beginUpdate();try{var m=f,n=this.view.getState(f),p=null!=n?n.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||t.model.isEdge(a[q])&&null==t.model.getTerminal(a[q],!0)){f=t.model.getParent(a[q]); +break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var u=t.getIncomingEdges(a[0]);if(0<u.length){var v=t.view.getState(t.model.getTerminal(u[0],!0));if(null!=v){var x=t.view.getState(m);null!=x&&(c=(x.getCenterX()-v.getCenterX())/t.view.scale,d=(x.getCenterY()-v.getCenterY())/t.view.scale)}}}}l=y.apply(this,arguments);if(null!=l&&null!=a&&l.length==a.length)for(q=0;q<l.length;q++)if(this.model.isEdge(l[q]))b(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[q],!0))&&this.model.setTerminal(l[q], m,!0);else if(b(a[q])&&(u=t.getIncomingEdges(a[q]),0<u.length))if(!e)b(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(u[0],!0))&&this.model.setTerminal(u[0],m,!0);else if(0==t.getIncomingEdges(l[q]).length){n=m;if(null==n||n==t.model.getParent(a[q]))n=t.model.getTerminal(u[0],!0);e=this.cloneCell(u[0]);this.addEdge(e,t.getDefaultParent(),n,l[q])}}finally{this.model.endUpdate()}return l};if(null!=v.sidebar){var B=v.sidebar.dropAndConnect;v.sidebar.dropAndConnect=function(a,c,d,e){var f=t.model,k=null; f.beginUpdate();try{if(k=B.apply(this,arguments),b(a))for(var g=0;g<k.length;g++)if(f.isEdge(k[g])&&null==f.getTerminal(k[g],!0)){f.setTerminal(k[g],a,!0);var l=t.getCellGeometry(k[g]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return k}}var C={88:v.actions.get("selectChildren"),84:v.actions.get("selectSubtree"),80:v.actions.get("selectParent"),83:v.actions.get("selectSiblings")},A=v.onKeyDown;v.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&& b(t.getSelectionCell())&&1==t.getSelectionCount()){var c=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?f(t.getSelectionCell()):m(t.getSelectionCell()):13==a.which&&(c=q(t.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&t.model.isEdge(c[0])?t.setSelectionCell(t.model.getTerminal(c[0],!1)):t.setSelectionCell(c[c.length-1]),null!=v.hoverIcons&&v.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()), @@ -9599,14 +9699,14 @@ if(null!=H){this.tabContainer.style.right="70px";var F=p.addMenu("100%",H.funct) F.style.right="0px";F.style.bottom="0px";F.style.overflow="hidden";F.style.visibility="hidden";F.style.textAlign="center";F.style.color="#000";F.style.fontSize="12px";F.style.color="#707070";F.style.width="59px";F.style.cursor="pointer";F.style.borderTop="1px solid lightgray";F.style.borderLeft="1px solid lightgray";F.style.height=parseInt(g.tabContainerHeight)-1+"px";F.style.lineHeight=parseInt(g.tabContainerHeight)+1+"px";u.appendChild(F);H=mxUtils.bind(this,function(){F.innerHTML=Math.round(100* g.editor.graph.view.scale)+"%"});g.editor.graph.view.addListener(mxEvent.EVENT_SCALE,H);g.editor.addListener("resetGraphView",H);g.editor.addListener("pageSelected",H);var J=g.setGraphEnabled;g.setGraphEnabled=function(){J.apply(this,arguments);null!=this.tabContainer&&(F.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}u.appendChild(g.tabContainer);u.appendChild(m);u.appendChild(g.diagramContainer); k.appendChild(u);g.updateTabContainer();var N=null;f();mxEvent.addListener(window,"resize",function(){f();null!=g.sidebarWindow&&g.sidebarWindow.window.fit();null!=g.formatWindow&&g.formatWindow.window.fit();null!=g.actions.outlineWindow&&g.actions.outlineWindow.window.fit();null!=g.actions.layersWindow&&g.actions.layersWindow.window.fit();null!=g.menus.tagsWindow&&g.menus.tagsWindow.window.fit();null!=g.menus.findWindow&&g.menus.findWindow.window.fit()})}}}; -(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var c=EditorUi.initTheme;EditorUi.initTheme=function(){c.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();(function(){var a=mxGuide.prototype.move;mxGuide.prototype.move=function(b,c,d,k){var e=c.y,g=c.x,q=!1,f=!1;if(null!=this.states&&null!=b&&null!=c){var m=this,p=new mxCellState,u=this.graph.getView().scale,v=Math.max(2,this.getGuideTolerance()/2);p.x=b.x+g;p.y=b.y+e;p.width=b.width;p.height=b.height;for(var t=[],x=[],y=0;y<this.states.length;y++){var D=this.states[y];D instanceof mxCellState&&(k||!this.graph.isCellSelected(D.cell))&&((p.x>=D.x&&p.x<=D.x+D.width||D.x>=p.x&&D.x<=p.x+p.width)&&(p.y> -D.y+D.height+4||p.y+p.height+4<D.y)?t.push(D):(p.y>=D.y&&p.y<=D.y+D.height||D.y>=p.y&&D.y<=p.y+p.height)&&(p.x>D.x+D.width+4||p.x+p.width+4<D.x)&&x.push(D))}var I=0,z=0,B=D=0,C=0,A=0,G=0,E=0,K=5*u;if(1<t.length){t.push(p);t.sort(function(a,b){return a.y-b.y});var H=!1,y=p==t[0],u=p==t[t.length-1];if(!y&&!u)for(y=1;y<t.length-1;y++)if(p==t[y]){u=t[y-1];y=t[y+1];D=z=B=(y.y-u.y-u.height-p.height)/2;break}for(y=0;y<t.length-1;y++){var u=t[y],F=t[y+1],J=p==u||p==F,F=F.y-u.y-u.height,H=H|p==u;if(0==z&& -0==I)z=F,I=1;else if(Math.abs(z-F)<=(J||1==y&&H?v:0))I+=1;else if(1<I&&H){t=t.slice(0,y+1);break}else if(3<=t.length-y&&!H)I=0,D=z=0!=B?B:0,t.splice(0,0==y?1:y),y=-1;else break;0!=D||J||(z=D=F)}3==t.length&&t[1]==p&&(D=0)}if(1<x.length){x.push(p);x.sort(function(a,b){return a.x-b.x});H=!1;y=p==x[0];u=p==x[x.length-1];if(!y&&!u)for(y=1;y<x.length-1;y++)if(p==x[y]){u=x[y-1];y=x[y+1];G=A=E=(y.x-u.x-u.width-p.width)/2;break}for(y=0;y<x.length-1;y++){u=x[y];F=x[y+1];J=p==u||p==F;F=F.x-u.x-u.width;H|=p== -u;if(0==A&&0==C)A=F,C=1;else if(Math.abs(A-F)<=(J||1==y&&H?v:0))C+=1;else if(1<C&&H){x=x.slice(0,y+1);break}else if(3<=x.length-y&&!H)C=0,G=A=0!=E?E:0,x.splice(0,0==y?1:y),y=-1;else break;0!=G||J||(A=G=F)}3==x.length&&x[1]==p&&(G=0)}v=function(a,b,c,d){var e=[],f;d?(d=K,f=0):(d=0,f=K);e.push(new mxPoint(a.x-d,a.y-f));e.push(new mxPoint(a.x+d,a.y+f));e.push(a);e.push(b);e.push(new mxPoint(b.x-d,b.y-f));e.push(new mxPoint(b.x+d,b.y+f));if(null!=c)return c.points=e,c;a=new mxPolyline(e,mxConstants.GUIDE_COLOR, -mxConstants.GUIDE_STROKEWIDTH);a.dialect=mxConstants.DIALECT_SVG;a.pointerEvents=!1;a.init(m.graph.getView().getOverlayPane());return a};A=function(a,b){if(a&&null!=m.guidesArrHor)for(var c=0;c<m.guidesArrHor.length;c++)m.guidesArrHor[c].node.style.visibility="hidden";if(b&&null!=m.guidesArrVer)for(c=0;c<m.guidesArrVer.length;c++)m.guidesArrVer[c].node.style.visibility="hidden"};if(1<C&&C==x.length-1){C=[];E=m.guidesArrHor;q=[];g=0;y=x[0]==p?1:0;H=x[y].y+x[y].height;if(0<G)for(y=0;y<x.length-1;y++)u= -x[y],F=x[y+1],p==u?(g=F.x-u.width-G,q.push(new mxPoint(g+u.width+K,H)),q.push(new mxPoint(F.x-K,H))):p==F?(q.push(new mxPoint(u.x+u.width+K,H)),g=u.x+u.width+G,q.push(new mxPoint(g-K,H))):(q.push(new mxPoint(u.x+u.width+K,H)),q.push(new mxPoint(F.x-K,H)));else u=x[0],y=x[2],g=u.x+u.width+(y.x-u.x-u.width-p.width)/2,q.push(new mxPoint(u.x+u.width+K,H)),q.push(new mxPoint(g-K,H)),q.push(new mxPoint(g+p.width+K,H)),q.push(new mxPoint(y.x-K,H));for(y=0;y<q.length;y+=2)x=q[y],G=q[y+1],x=v(x,G,null!=E? -E[y/2]:null),x.node.style.visibility="visible",x.redraw(),C.push(x);for(y=q.length/2;null!=E&&y<E.length;y++)E[y].destroy();m.guidesArrHor=C;g-=b.x;q=!0}else A(!0);if(1<I&&I==t.length-1){C=[];E=m.guidesArrVer;f=[];e=0;y=t[0]==p?1:0;I=t[y].x+t[y].width;if(0<D)for(y=0;y<t.length-1;y++)u=t[y],F=t[y+1],p==u?(e=F.y-u.height-D,f.push(new mxPoint(I,e+u.height+K)),f.push(new mxPoint(I,F.y-K))):p==F?(f.push(new mxPoint(I,u.y+u.height+K)),e=u.y+u.height+D,f.push(new mxPoint(I,e-K))):(f.push(new mxPoint(I,u.y+ -u.height+K)),f.push(new mxPoint(I,F.y-K)));else u=t[0],y=t[2],e=u.y+u.height+(y.y-u.y-u.height-p.height)/2,f.push(new mxPoint(I,u.y+u.height+K)),f.push(new mxPoint(I,e-K)),f.push(new mxPoint(I,e+p.height+K)),f.push(new mxPoint(I,y.y-K));for(y=0;y<f.length;y+=2)x=f[y],G=f[y+1],x=v(x,G,null!=E?E[y/2]:null,!0),x.node.style.visibility="visible",x.redraw(),C.push(x);for(y=f.length/2;null!=E&&y<E.length;y++)E[y].destroy();m.guidesArrVer=C;e-=b.y;f=!0}else A(!1,!0)}if(q||f)return p=new mxPoint(g,e),t=a.call(this, +(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var c=EditorUi.initTheme;EditorUi.initTheme=function(){c.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();(function(){var a=mxGuide.prototype.move;mxGuide.prototype.move=function(b,c,d,k){var e=c.y,g=c.x,q=!1,f=!1;if(null!=this.states&&null!=b&&null!=c){var m=this,p=new mxCellState,u=this.graph.getView().scale,v=Math.max(2,this.getGuideTolerance()/2);p.x=b.x+g;p.y=b.y+e;p.width=b.width;p.height=b.height;for(var t=[],z=[],x=0;x<this.states.length;x++){var D=this.states[x];D instanceof mxCellState&&(k||!this.graph.isCellSelected(D.cell))&&((p.x>=D.x&&p.x<=D.x+D.width||D.x>=p.x&&D.x<=p.x+p.width)&&(p.y> +D.y+D.height+4||p.y+p.height+4<D.y)?t.push(D):(p.y>=D.y&&p.y<=D.y+D.height||D.y>=p.y&&D.y<=p.y+p.height)&&(p.x>D.x+D.width+4||p.x+p.width+4<D.x)&&z.push(D))}var I=0,y=0,B=D=0,C=0,A=0,G=0,E=0,K=5*u;if(1<t.length){t.push(p);t.sort(function(a,b){return a.y-b.y});var H=!1,x=p==t[0],u=p==t[t.length-1];if(!x&&!u)for(x=1;x<t.length-1;x++)if(p==t[x]){u=t[x-1];x=t[x+1];D=y=B=(x.y-u.y-u.height-p.height)/2;break}for(x=0;x<t.length-1;x++){var u=t[x],F=t[x+1],J=p==u||p==F,F=F.y-u.y-u.height,H=H|p==u;if(0==y&& +0==I)y=F,I=1;else if(Math.abs(y-F)<=(J||1==x&&H?v:0))I+=1;else if(1<I&&H){t=t.slice(0,x+1);break}else if(3<=t.length-x&&!H)I=0,D=y=0!=B?B:0,t.splice(0,0==x?1:x),x=-1;else break;0!=D||J||(y=D=F)}3==t.length&&t[1]==p&&(D=0)}if(1<z.length){z.push(p);z.sort(function(a,b){return a.x-b.x});H=!1;x=p==z[0];u=p==z[z.length-1];if(!x&&!u)for(x=1;x<z.length-1;x++)if(p==z[x]){u=z[x-1];x=z[x+1];G=A=E=(x.x-u.x-u.width-p.width)/2;break}for(x=0;x<z.length-1;x++){u=z[x];F=z[x+1];J=p==u||p==F;F=F.x-u.x-u.width;H|=p== +u;if(0==A&&0==C)A=F,C=1;else if(Math.abs(A-F)<=(J||1==x&&H?v:0))C+=1;else if(1<C&&H){z=z.slice(0,x+1);break}else if(3<=z.length-x&&!H)C=0,G=A=0!=E?E:0,z.splice(0,0==x?1:x),x=-1;else break;0!=G||J||(A=G=F)}3==z.length&&z[1]==p&&(G=0)}v=function(a,b,c,d){var e=[],f;d?(d=K,f=0):(d=0,f=K);e.push(new mxPoint(a.x-d,a.y-f));e.push(new mxPoint(a.x+d,a.y+f));e.push(a);e.push(b);e.push(new mxPoint(b.x-d,b.y-f));e.push(new mxPoint(b.x+d,b.y+f));if(null!=c)return c.points=e,c;a=new mxPolyline(e,mxConstants.GUIDE_COLOR, +mxConstants.GUIDE_STROKEWIDTH);a.dialect=mxConstants.DIALECT_SVG;a.pointerEvents=!1;a.init(m.graph.getView().getOverlayPane());return a};A=function(a,b){if(a&&null!=m.guidesArrHor)for(var c=0;c<m.guidesArrHor.length;c++)m.guidesArrHor[c].node.style.visibility="hidden";if(b&&null!=m.guidesArrVer)for(c=0;c<m.guidesArrVer.length;c++)m.guidesArrVer[c].node.style.visibility="hidden"};if(1<C&&C==z.length-1){C=[];E=m.guidesArrHor;q=[];g=0;x=z[0]==p?1:0;H=z[x].y+z[x].height;if(0<G)for(x=0;x<z.length-1;x++)u= +z[x],F=z[x+1],p==u?(g=F.x-u.width-G,q.push(new mxPoint(g+u.width+K,H)),q.push(new mxPoint(F.x-K,H))):p==F?(q.push(new mxPoint(u.x+u.width+K,H)),g=u.x+u.width+G,q.push(new mxPoint(g-K,H))):(q.push(new mxPoint(u.x+u.width+K,H)),q.push(new mxPoint(F.x-K,H)));else u=z[0],x=z[2],g=u.x+u.width+(x.x-u.x-u.width-p.width)/2,q.push(new mxPoint(u.x+u.width+K,H)),q.push(new mxPoint(g-K,H)),q.push(new mxPoint(g+p.width+K,H)),q.push(new mxPoint(x.x-K,H));for(x=0;x<q.length;x+=2)z=q[x],G=q[x+1],z=v(z,G,null!=E? +E[x/2]:null),z.node.style.visibility="visible",z.redraw(),C.push(z);for(x=q.length/2;null!=E&&x<E.length;x++)E[x].destroy();m.guidesArrHor=C;g-=b.x;q=!0}else A(!0);if(1<I&&I==t.length-1){C=[];E=m.guidesArrVer;f=[];e=0;x=t[0]==p?1:0;I=t[x].x+t[x].width;if(0<D)for(x=0;x<t.length-1;x++)u=t[x],F=t[x+1],p==u?(e=F.y-u.height-D,f.push(new mxPoint(I,e+u.height+K)),f.push(new mxPoint(I,F.y-K))):p==F?(f.push(new mxPoint(I,u.y+u.height+K)),e=u.y+u.height+D,f.push(new mxPoint(I,e-K))):(f.push(new mxPoint(I,u.y+ +u.height+K)),f.push(new mxPoint(I,F.y-K)));else u=t[0],x=t[2],e=u.y+u.height+(x.y-u.y-u.height-p.height)/2,f.push(new mxPoint(I,u.y+u.height+K)),f.push(new mxPoint(I,e-K)),f.push(new mxPoint(I,e+p.height+K)),f.push(new mxPoint(I,x.y-K));for(x=0;x<f.length;x+=2)z=f[x],G=f[x+1],z=v(z,G,null!=E?E[x/2]:null,!0),z.node.style.visibility="visible",z.redraw(),C.push(z);for(x=f.length/2;null!=E&&x<E.length;x++)E[x].destroy();m.guidesArrVer=C;e-=b.y;f=!0}else A(!1,!0)}if(q||f)return p=new mxPoint(g,e),t=a.call(this, b,p,d,k),q&&!f?p.y=t.y:f&&!q&&(p.x=t.x),t.y!=p.y&&null!=this.guideY&&null!=this.guideY.node&&(this.guideY.node.style.visibility="hidden"),t.x!=p.x&&null!=this.guideX&&null!=this.guideX.node&&(this.guideX.node.style.visibility="hidden"),p;A(!0,!0);return a.apply(this,arguments)};var c=mxGuide.prototype.setVisible;mxGuide.prototype.setVisible=function(a){c.call(this,a);var b=this.guidesArrVer,d=this.guidesArrHor;if(null!=b)for(var k=0;k<b.length;k++)b[k].node.style.visibility=a?"visible":"hidden";if(null!= d)for(k=0;k<d.length;k++)d[k].node.style.visibility=a?"visible":"hidden"};var d=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){d.call(this);var a=this.guidesArrVer,c=this.guidesArrHor;if(null!=a){for(var g=0;g<a.length;g++)a[g].destroy();this.guidesArrVer=null}if(null!=c){for(g=0;g<c.length;g++)c[g].destroy();this.guidesArrHor=null}}})();function mxRuler(a,c,d,b){function e(){var b=a.diagramContainer;q.style.top=b.offsetTop-k+"px";q.style.left=b.offsetLeft-k+"px";q.style.width=(d?0:b.offsetWidth)+k+"px";q.style.height=(d?b.offsetHeight:0)+k+"px"}function g(a,b,c){var d;return function(){var e=this,f=arguments,g=c&&!d;clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(e,f)},b);g&&a.apply(e,f)}}var k=this.RULER_THICKNESS,l=this;this.unit=c;var n="dark"!=window.uiTheme?{bkgClr:"#ffffff",outBkgClr:"#e8e9ed",cornerClr:"#fbfbfb", strokeClr:"#dadce0",fontClr:"#BBBBBB",guideClr:"#0000BB"}:{bkgClr:"#202020",outBkgClr:"#2a2a2a",cornerClr:"#2a2a2a",strokeClr:"#505759",fontClr:"#BBBBBB",guideClr:"#0088cf"},q=document.createElement("div");q.style.position="absolute";q.style.background=n.bkgClr;q.style[d?"borderRight":"borderBottom"]="0.5px solid "+n.strokeClr;q.style.borderLeft="0.5px solid "+n.strokeClr;document.body.appendChild(q);mxEvent.disableContextMenu(q);this.editorUiRefresh=a.refresh;a.refresh=function(b){l.editorUiRefresh.apply(a, @@ -9616,9 +9716,9 @@ a:Math.floor(((e.x+1)/a-c.x)/p.pageFormat.width)*p.pageFormat.width*a);var C,A,G d?f.height:f.width):d?f.height:f.width;g&&(m.fillStyle=n.outBkgClr,d?(m.fillRect(0,k,k,q-k),m.fillRect(0,b,k,f.height)):(m.fillRect(k,0,q-k,k),m.fillRect(b,0,f.width,k)));m.fillStyle=n.fontClr;for(g=g?q:q%(c*a);g<=b;g+=c*a)if(e=Math.round((g-q)/a/c),!(g<k||e==C)){C=e;var E=null;0==e%G&&(E=l.formatText(v+e*c)+"");d?u(k-A[Math.abs(e)%G],g,k,g,E):u(g,k-A[Math.abs(e)%G],g,k,E)}m.lineWidth=1;u(d?0:k,d?k:0,k,k);m.fillStyle=n.cornerClr;m.fillRect(0,0,k,k)};this.drawRuler=v;this.sizeListener=c=g(function(){var a= p.container;d?(a=a.offsetHeight+k,f.height!=a&&(f.height=a,q.style.height=a+"px",v())):(a=a.offsetWidth+k,f.width!=a&&(f.width=a,q.style.width=a+"px",v()))},10);this.pageListener=function(){v()};this.scrollListener=b=g(function(){var a=d?p.container.scrollTop:p.container.scrollLeft;l.lastScroll!=a&&(l.lastScroll=a,v())},10);this.unitListener=function(a,b){l.setUnit(b.getProperty("unit"))};p.addListener(mxEvent.SIZE,c);p.container.addEventListener("scroll",b);p.view.addListener("unitChanged",this.unitListener); a.addListener("pageViewChanged",this.pageListener);a.addListener("pageScaleChanged",this.pageListener);a.addListener("pageFormatChanged",this.pageListener);this.setStyle=function(a){n=a;q.style.background=n.bkgClr;v()};this.origGuideMove=mxGuide.prototype.move;mxGuide.prototype.move=function(a,b,c,e){var f;if(d&&4<a.height||!d&&4<a.width){if(null!=l.guidePart)try{m.putImageData(l.guidePart.imgData1,l.guidePart.x1,l.guidePart.y1),m.putImageData(l.guidePart.imgData2,l.guidePart.x2,l.guidePart.y2),m.putImageData(l.guidePart.imgData3, -l.guidePart.x3,l.guidePart.y3)}catch(J){}f=l.origGuideMove.apply(this,arguments);try{var g,p,q,t,v,x,y,D,F;m.lineWidth=.5;m.strokeStyle=n.guideClr;m.setLineDash([2]);d?(p=a.y+f.y+k-this.graph.container.scrollTop,g=0,v=p+a.height/2,t=k/2,D=p+a.height,y=0,q=m.getImageData(g,p-1,k,3),u(g,p,k,p),p--,x=m.getImageData(t,v-1,k,3),u(t,v,k,v),v--,F=m.getImageData(y,D-1,k,3),u(y,D,k,D),D--):(p=0,g=a.x+f.x+k-this.graph.container.scrollLeft,v=k/2,t=g+a.width/2,D=0,y=g+a.width,q=m.getImageData(g-1,p,3,k),u(g, -p,g,k),g--,x=m.getImageData(t-1,v,3,k),u(t,v,t,k),t--,F=m.getImageData(y-1,D,3,k),u(y,D,y,k),y--);if(null==l.guidePart||l.guidePart.x1!=g||l.guidePart.y1!=p)l.guidePart={imgData1:q,x1:g,y1:p,imgData2:x,x2:t,y2:v,imgData3:F,x3:y,y3:D}}catch(J){}}else f=l.origGuideMove.apply(this,arguments);return f};this.origGuideDestroy=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){var a=l.origGuideDestroy.apply(this,arguments);if(null!=l.guidePart)try{m.putImageData(l.guidePart.imgData1,l.guidePart.x1, -l.guidePart.y1),m.putImageData(l.guidePart.imgData2,l.guidePart.x2,l.guidePart.y2),m.putImageData(l.guidePart.imgData3,l.guidePart.x3,l.guidePart.y3),l.guidePart=null}catch(x){}return a}}mxRuler.prototype.RULER_THICKNESS=14;mxRuler.prototype.unit=mxConstants.POINTS;mxRuler.prototype.setUnit=function(a){this.unit=a;this.drawRuler()}; +l.guidePart.x3,l.guidePart.y3)}catch(J){}f=l.origGuideMove.apply(this,arguments);try{var g,p,q,t,v,x,z,D,F;m.lineWidth=.5;m.strokeStyle=n.guideClr;m.setLineDash([2]);d?(p=a.y+f.y+k-this.graph.container.scrollTop,g=0,v=p+a.height/2,t=k/2,D=p+a.height,z=0,q=m.getImageData(g,p-1,k,3),u(g,p,k,p),p--,x=m.getImageData(t,v-1,k,3),u(t,v,k,v),v--,F=m.getImageData(z,D-1,k,3),u(z,D,k,D),D--):(p=0,g=a.x+f.x+k-this.graph.container.scrollLeft,v=k/2,t=g+a.width/2,D=0,z=g+a.width,q=m.getImageData(g-1,p,3,k),u(g, +p,g,k),g--,x=m.getImageData(t-1,v,3,k),u(t,v,t,k),t--,F=m.getImageData(z-1,D,3,k),u(z,D,z,k),z--);if(null==l.guidePart||l.guidePart.x1!=g||l.guidePart.y1!=p)l.guidePart={imgData1:q,x1:g,y1:p,imgData2:x,x2:t,y2:v,imgData3:F,x3:z,y3:D}}catch(J){}}else f=l.origGuideMove.apply(this,arguments);return f};this.origGuideDestroy=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){var a=l.origGuideDestroy.apply(this,arguments);if(null!=l.guidePart)try{m.putImageData(l.guidePart.imgData1,l.guidePart.x1, +l.guidePart.y1),m.putImageData(l.guidePart.imgData2,l.guidePart.x2,l.guidePart.y2),m.putImageData(l.guidePart.imgData3,l.guidePart.x3,l.guidePart.y3),l.guidePart=null}catch(z){}return a}}mxRuler.prototype.RULER_THICKNESS=14;mxRuler.prototype.unit=mxConstants.POINTS;mxRuler.prototype.setUnit=function(a){this.unit=a;this.drawRuler()}; mxRuler.prototype.formatText=function(a){switch(this.unit){case mxConstants.POINTS:return Math.round(a);case mxConstants.MILLIMETERS:return(a/mxConstants.PIXELS_PER_MM).toFixed(1);case mxConstants.INCHES:return(a/mxConstants.PIXELS_PER_INCH).toFixed(2)}}; mxRuler.prototype.destroy=function(){this.ui.refresh=this.editorUiRefresh;mxGuide.prototype.move=this.origGuideMove;mxGuide.prototype.destroy=this.origGuideDestroy;this.graph.removeListener(this.sizeListener);this.graph.container.removeEventListener("scroll",this.scrollListener);this.graph.view.removeListener("unitChanged",this.unitListener);this.ui.removeListener("pageViewChanged",this.pageListener);this.ui.removeListener("pageScaleChanged",this.pageListener);this.ui.removeListener("pageFormatChanged", this.pageListener);null!=this.container&&this.container.parentNode.removeChild(this.container)}; @@ -9627,8 +9727,8 @@ function(b){c=null!=a.currentMenu;mxEvent.consume(b)}),null,mxUtils.bind(this,fu mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);a.resetCurrentMenu();e.destroy()});var g=mxEvent.getClientX(d),k=mxEvent.getClientY(d);e.popup(g,k,null,d);a.setCurrentMenu(e,b)}mxEvent.consume(d)}}))});b(this.hRuler.container);b(this.vRuler.container);this.vRuler.drawRuler();this.hRuler.drawRuler()}mxDualRuler.prototype.setUnit=function(a){this.vRuler.setUnit(a);this.hRuler.setUnit(a)};mxDualRuler.prototype.setStyle=function(a){this.vRuler.setStyle(a);this.hRuler.setStyle(a)}; mxDualRuler.prototype.destroy=function(){this.vRuler.destroy();this.hRuler.destroy();this.ui.refresh=this.editorUiRefresh;mxGuide.prototype.move=this.origGuideMove;mxGuide.prototype.destroy=this.origGuideDestroy;this.ui.getDiagramContainerOffset=this.editorUiGetDiagContOffset};function mxFreehand(a){var c=null!=a.view&&null!=a.view.canvas?a.view.canvas.ownerSVGElement:null;if(null!=a.container&&null!=c){var d=mxFreehand.prototype.NORMAL_SMOOTHING,b=null,e=[],g,k=[],l,n=!1,q=!0,f=[],m=!1,p=!1;this.setClosedPath=function(a){n=a};this.setAutoClose=function(a){q=a};this.setStopClickEnabled=function(a){p=a};this.setSmoothing=function(a){d=a};var u=function(b){m=b;a.getRubberband().setEnabled(!b);a.graphHandler.setSelectEnabled(!b);a.graphHandler.setMoveEnabled(!b);a.container.style.cursor= b?"crosshair":"";a.fireEvent(new mxEventObject("freehandStateChanged"))};this.startDrawing=function(){u(!0)};this.isDrawing=function(){return m};var v=mxUtils.bind(this,function(a){if(b){var c=p&&0<k.length&&null!=l&&2>l.length;c||k.push.apply(k,l);l=[];k.push(null);e.push(b);b=null;c&&this.stopDrawing();mxEvent.consume(a)}});this.stopDrawing=function(){if(0<e.length){for(var c=k[0].x,d=k[0].x,f=k[0].y,g=k[0].y,l=1;l<k.length;l++)null!=k[l]&&(c=Math.max(c,k[l].x),d=Math.min(d,k[l].x),f=Math.max(f, -k[l].y),g=Math.min(g,k[l].y));c-=d;f-=g;if(0<c&&0<f){var m=100/c,p=100/f;k.map(function(a){if(null==a)return a;a.x=(a.x-d)*m;a.y=(a.y-g)*p;return a});for(var t='<shape strokewidth="inherit"><foreground>',v=0,l=0;l<k.length;l++){var x=k[l];if(null==x){var x=!1,v=k[v],y=k[l-1];!n&&q&&(x=v.x-y.x,y=v.y-y.y,x=Math.sqrt(x*x+y*y)<=a.tolerance);if(n||x)t+='<line x="'+v.x.toFixed(2)+'" y="'+v.y.toFixed(2)+'"/>';t+="</path>"+(n||x?"<fillstroke/>":"<stroke/>");v=l+1}else t=l==v?t+('<path><move x="'+x.x.toFixed(2)+ +k[l].y),g=Math.min(g,k[l].y));c-=d;f-=g;if(0<c&&0<f){var m=100/c,p=100/f;k.map(function(a){if(null==a)return a;a.x=(a.x-d)*m;a.y=(a.y-g)*p;return a});for(var t='<shape strokewidth="inherit"><foreground>',v=0,l=0;l<k.length;l++){var x=k[l];if(null==x){var x=!1,v=k[v],z=k[l-1];!n&&q&&(x=v.x-z.x,z=v.y-z.y,x=Math.sqrt(x*x+z*z)<=a.tolerance);if(n||x)t+='<line x="'+v.x.toFixed(2)+'" y="'+v.y.toFixed(2)+'"/>';t+="</path>"+(n||x?"<fillstroke/>":"<stroke/>");v=l+1}else t=l==v?t+('<path><move x="'+x.x.toFixed(2)+ '" y="'+x.y.toFixed(2)+'"/>'):t+('<line x="'+x.x.toFixed(2)+'" y="'+x.y.toFixed(2)+'"/>')}var l=mxConstants.STYLE_SHAPE+"=stencil("+Graph.compress(t+"</foreground></shape>")+");fillColor=none;",t=a.view.scale,v=a.view.translate,J=new mxCell("",new mxGeometry(d/t-v.x,g/t-v.y,c/t,f/t),l);J.vertex=1;a.model.beginUpdate();try{J=a.addCell(J)}finally{a.model.endUpdate()}a.fireEvent(new mxEventObject("cellsInserted","cells",[J]));a.fireEvent(new mxEventObject("freehandInserted","cell",J));setTimeout(function(){a.setSelectionCells([J])}, 10)}for(l=0;l<e.length;l++)e[l].parentNode.removeChild(e[l]);b=null;e=[];k=[]}u(!1)};mxEvent.addGestureListeners(c,function(d){if(m){var e=parseFloat(a.currentVertexStyle[mxConstants.STYLE_STROKEWIDTH]||1),e=Math.max(1,e*a.view.scale);b=document.createElementNS("http://www.w3.org/2000/svg","path");b.setAttribute("fill","none");b.setAttribute("stroke",a.currentVertexStyle[mxConstants.STYLE_STROKECOLOR]||"#000");b.setAttribute("stroke-width",e);if("1"==a.currentVertexStyle[mxConstants.STYLE_DASHED]){var n= -a.currentVertexStyle[mxConstants.STYLE_DASH_PATTERN]||"3 3",n=n.split(" ").map(function(a){return parseFloat(a)*e}).join(" ");b.setAttribute("stroke-dasharray",n)}f=[];n=t(d);x(n);g="M"+n.x+" "+n.y;k.push(n);l=[];b.setAttribute("d",g);c.appendChild(b);mxEvent.consume(d)}},function(a){if(b){x(t(a));var c=y(0);if(c){g+=" L"+c.x+" "+c.y;k.push(c);var d="";l=[];for(var e=2;e<f.length;e+=2)c=y(e),d+=" L"+c.x+" "+c.y,l.push(c);b.setAttribute("d",g+d)}mxEvent.consume(a)}},v);var t=function(b){return mxUtils.convertPoint(a.container, -mxEvent.getClientX(b),mxEvent.getClientY(b))},x=function(a){for(f.push(a);f.length>d;)f.shift()},y=function(a){var b=f.length;if(1===b%2||b>=d){var c=0,e=0,g,k=0;for(g=a;g<b;g++)k++,a=f[g],c+=a.x,e+=a.y;return{x:c/k,y:e/k}}return null}}}mxFreehand.prototype.NO_SMOOTHING=1;mxFreehand.prototype.MILD_SMOOTHING=4;mxFreehand.prototype.NORMAL_SMOOTHING=8;mxFreehand.prototype.VERY_SMOOTH_SMOOTHING=12;mxFreehand.prototype.SUPER_SMOOTH_SMOOTHING=16;mxFreehand.prototype.HYPER_SMOOTH_SMOOTHING=20; +a.currentVertexStyle[mxConstants.STYLE_DASH_PATTERN]||"3 3",n=n.split(" ").map(function(a){return parseFloat(a)*e}).join(" ");b.setAttribute("stroke-dasharray",n)}f=[];n=t(d);z(n);g="M"+n.x+" "+n.y;k.push(n);l=[];b.setAttribute("d",g);c.appendChild(b);mxEvent.consume(d)}},function(a){if(b){z(t(a));var c=x(0);if(c){g+=" L"+c.x+" "+c.y;k.push(c);var d="";l=[];for(var e=2;e<f.length;e+=2)c=x(e),d+=" L"+c.x+" "+c.y,l.push(c);b.setAttribute("d",g+d)}mxEvent.consume(a)}},v);var t=function(b){return mxUtils.convertPoint(a.container, +mxEvent.getClientX(b),mxEvent.getClientY(b))},z=function(a){for(f.push(a);f.length>d;)f.shift()},x=function(a){var b=f.length;if(1===b%2||b>=d){var c=0,e=0,g,k=0;for(g=a;g<b;g++)k++,a=f[g],c+=a.x,e+=a.y;return{x:c/k,y:e/k}}return null}}}mxFreehand.prototype.NO_SMOOTHING=1;mxFreehand.prototype.MILD_SMOOTHING=4;mxFreehand.prototype.NORMAL_SMOOTHING=8;mxFreehand.prototype.VERY_SMOOTH_SMOOTHING=12;mxFreehand.prototype.SUPER_SMOOTH_SMOOTHING=16;mxFreehand.prototype.HYPER_SMOOTH_SMOOTHING=20; diff --git a/src/main/webapp/js/diagramly/App.js b/src/main/webapp/js/diagramly/App.js index 8a708a37a..ffd247190 100644 --- a/src/main/webapp/js/diagramly/App.js +++ b/src/main/webapp/js/diagramly/App.js @@ -1483,7 +1483,7 @@ App.prototype.init = function() { mxUtils.setPrefixedStyle(footer.style, 'transform', 'translate(-50%,110%)'); this.footerShowing = false; - }), 15000); + }), 60000); } // else if ((!isLocalStorage || mxSettings.settings == null || // mxSettings.settings.closeRateFooter == null) && @@ -2754,7 +2754,11 @@ App.prototype.showAlert = function(message) */ App.prototype.start = function() { - this.bg.parentNode.removeChild(this.bg); + if (this.bg != null && this.bg.parentNode != null) + { + this.bg.parentNode.removeChild(this.bg); + } + this.restoreLibraries(); this.spinner.stop(); diff --git a/src/main/webapp/js/diagramly/Devel.js b/src/main/webapp/js/diagramly/Devel.js index e8a71ee7e..815e34f80 100644 --- a/src/main/webapp/js/diagramly/Devel.js +++ b/src/main/webapp/js/diagramly/Devel.js @@ -46,6 +46,7 @@ mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Basic.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Bootstrap.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-BPMN.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Cabinet.js'); +mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Cisco19.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-CiscoSafe.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Citrix.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Cumulus.js'); diff --git a/src/main/webapp/js/diagramly/Dialogs.js b/src/main/webapp/js/diagramly/Dialogs.js index d6e91dac7..2778722e2 100644 --- a/src/main/webapp/js/diagramly/Dialogs.js +++ b/src/main/webapp/js/diagramly/Dialogs.js @@ -2721,8 +2721,14 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc while (i0 < templates.length && (first || mxUtils.mod(i0, 30) != 0)) { var tmp = templates[i0++]; - addButton(tmp.url, tmp.libs, tmp.title, tmp.tooltip? tmp.tooltip : tmp.title, + var btn = addButton(tmp.url, tmp.libs, tmp.title, tmp.tooltip? tmp.tooltip : tmp.title, tmp.select, tmp.imgUrl, tmp.info, tmp.onClick, tmp.preview, tmp.noImg, tmp.clibs); + + if (first) + { + btn.click(); + } + first = false; } } @@ -3117,6 +3123,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc } div.appendChild(elt); + return elt; }; var categories = {}, customCats = {}; diff --git a/src/main/webapp/js/diagramly/DrawioFileSync.js b/src/main/webapp/js/diagramly/DrawioFileSync.js index 17bd0d29a..5c08a18a7 100644 --- a/src/main/webapp/js/diagramly/DrawioFileSync.js +++ b/src/main/webapp/js/diagramly/DrawioFileSync.js @@ -141,11 +141,11 @@ DrawioFileSync = function(file) this.fileChangedNotify(); } - var len = (data != null) ? data.length : 'null'; - - EditorUi.logError('Protocol Error ' + e.message, - null, 'data_' + len + '_file_' + this.file.getHash() + - '_client_' + this.clientId); +// var len = (data != null) ? data.length : 'null'; +// +// EditorUi.logError('Protocol Error ' + e.message, +// null, 'data_' + len + '_file_' + this.file.getHash() + +// '_client_' + this.clientId); if (window.console != null) { diff --git a/src/main/webapp/js/diagramly/DriveClient.js b/src/main/webapp/js/diagramly/DriveClient.js index 989af9eb5..e04b7ff2f 100644 --- a/src/main/webapp/js/diagramly/DriveClient.js +++ b/src/main/webapp/js/diagramly/DriveClient.js @@ -1264,35 +1264,37 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec // However, this would result in a missing thumbnail in most cases so a better solution might be to reduce // the autosave interval in DriveRealtime, but that would increase the number of requests. unloading = (unloading != null) ? unloading : false; + var prevDesc = null; + var pinned = false; + var meta = + { + 'mimeType': file.desc.mimeType, + 'title': file.getTitle() + }; + // Overrides old mime type and creates a revision + if (this.isGoogleRealtimeMimeType(meta.mimeType)) + { + meta.mimeType = this.xmlMimeType; + prevDesc = file.desc; + revision = true; + pinned = true; + } + // Overrides mime type for unknown file type uploads + else if (meta.mimeType == 'application/octet-stream' || + (urlParams['override-mime'] == '1' && + meta.mimeType != this.xmlMimeType)) + { + meta.mimeType = this.xmlMimeType; + } + // Adds optional thumbnail to upload request var doSave = mxUtils.bind(this, function(thumb, thumbMime, keepExisting) { try { file.saveLevel = 3; - var prevDesc = null; - var pinned = false; - var meta = - { - 'mimeType': file.desc.mimeType, - 'title': file.getTitle() - }; - - // Overrides old mime type and creates a revision - if (this.isGoogleRealtimeMimeType(file.desc.mimeType)) - { - meta.mimeType = this.xmlMimeType; - prevDesc = file.desc; - revision = true; - pinned = true; - } - // Overrides mime type for unknown file type uploads - else if (meta.mimeType == 'application/octet-stream') - { - meta.mimeType = this.xmlMimeType; - } - + if (file.constructor == DriveFile) { if (properties == null) @@ -1757,7 +1759,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec // NOTE: getThumbnail is asynchronous and returns false if no thumbnails can be created if (unloading || saveAsPng || file.constructor == DriveLibrary || !this.enableThumbnails || urlParams['thumb'] == '0' || - (file.desc.mimeType != null && file.desc.mimeType.substring(0, 29) != 'application/vnd.jgraph.mxfile') || + (meta.mimeType != null && meta.mimeType.substring(0, 29) != 'application/vnd.jgraph.mxfile') || !this.ui.getThumbnail(this.thumbnailWidth, mxUtils.bind(this, function(canvas) { // Callback for getThumbnail diff --git a/src/main/webapp/js/diagramly/Editor.js b/src/main/webapp/js/diagramly/Editor.js index 33b584aa4..f3652635c 100644 --- a/src/main/webapp/js/diagramly/Editor.js +++ b/src/main/webapp/js/diagramly/Editor.js @@ -3169,7 +3169,7 @@ if (prop.allowAuto) { - if (inputVal.trim().toLowerCase() == 'auto') + if (inputVal.trim != null && inputVal.trim().toLowerCase() == 'auto') { inputVal = 'auto'; pType = 'string'; @@ -4775,6 +4775,7 @@ mxStencilRegistry.libraries['arrows2'] = [SHAPES_PATH + '/mxArrows.js']; mxStencilRegistry.libraries['atlassian'] = [STENCIL_PATH + '/atlassian.xml', SHAPES_PATH + '/mxAtlassian.js']; mxStencilRegistry.libraries['bpmn'] = [SHAPES_PATH + '/bpmn/mxBpmnShape2.js', STENCIL_PATH + '/bpmn.xml']; + mxStencilRegistry.libraries['cisco19'] = [SHAPES_PATH + '/mxCisco19.js', STENCIL_PATH + '/cisco19.xml']; mxStencilRegistry.libraries['dfd'] = [SHAPES_PATH + '/mxDFD.js']; mxStencilRegistry.libraries['er'] = [SHAPES_PATH + '/er/mxER.js']; mxStencilRegistry.libraries['kubernetes'] = [SHAPES_PATH + '/mxKubernetes.js', STENCIL_PATH + '/kubernetes.xml']; diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js index cfcad03a8..3082b7f02 100644 --- a/src/main/webapp/js/diagramly/EditorUi.js +++ b/src/main/webapp/js/diagramly/EditorUi.js @@ -6477,32 +6477,56 @@ if (grid) { var view = graph.view; + var curViewScale = view.scale; + view.scale = 1; //Reset the scale temporary to generate unscaled grid image which is then scaled var gridImage = btoa(unescape(encodeURIComponent(view.createSvgGrid(view.gridColor)))); + view.scale = curViewScale; gridImage = 'data:image/svg+xml;base64,' + gridImage; var phase = graph.gridSize * view.gridSteps * scale; var b = graph.getGraphBounds(); - var x0 = b.x * scale; - var y0 = b.y * scale; + var tx = view.translate.x * curViewScale; + var ty = view.translate.y * curViewScale; + var x0 = tx + (b.x - tx) / curViewScale; + var y0 = ty + (b.y - ty) / curViewScale; var background = new Image(); - background.src = gridImage; background.onload = function() { - var x = -Math.round(phase - mxUtils.mod(view.translate.x * scale - x0, phase)); - var y = -Math.round(phase - mxUtils.mod(view.translate.y * scale - y0, phase)); - - for (var i = x; i < w; i += phase) + try { - for (var j = y; j < h; j += phase) + var x = -Math.round(phase - mxUtils.mod((tx - x0) * scale, phase)); + var y = -Math.round(phase - mxUtils.mod((ty - y0) * scale, phase)); + + for (var i = x; i < w; i += phase) { - ctx.drawImage(background, i / scale, j / scale); + for (var j = y; j < h; j += phase) + { + ctx.drawImage(background, i / scale, j / scale); + } } + + drawImage(); } + catch (e) + { + if (error != null) + { + error(e); + } + } + }; - drawImage(); + background.onerror = function(e) + { + if (error != null) + { + error(e); + } }; + + background.src = gridImage; } else { diff --git a/src/main/webapp/js/diagramly/GraphViewer.js b/src/main/webapp/js/diagramly/GraphViewer.js index 24b46cc2a..153ddbc1c 100644 --- a/src/main/webapp/js/diagramly/GraphViewer.js +++ b/src/main/webapp/js/diagramly/GraphViewer.js @@ -1294,7 +1294,12 @@ GraphViewer.prototype.addClickHandler = function(graph, ui) if (ui != null) { - if (href != null && !(graph.isExternalProtocol(href) || graph.isBlankLink(href) || graph.customLinkClicked(href))) + if (href == null || graph.isCustomLink(href)) + { + mxEvent.consume(evt); + } + else if (!graph.isExternalProtocol(href) && + !graph.isBlankLink(href)) { // Hides lightbox if any links are clicked // Async handling needed for anchors to work @@ -1303,10 +1308,6 @@ GraphViewer.prototype.addClickHandler = function(graph, ui) ui.destroy(); }, 0); } - else - { - mxEvent.consume(evt); - } } else if (href != null && ui == null && graph.isCustomLink(href) && (mxEvent.isTouchEvent(evt) || !mxEvent.isPopupTrigger(evt)) && diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Cisco19.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Cisco19.js new file mode 100644 index 000000000..1a225b55a --- /dev/null +++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Cisco19.js @@ -0,0 +1,576 @@ +(function() +{ + // Adds Cisco Safe stencils + Sidebar.prototype.addCisco19Palette = function() + { + this.addCisco19LANSwitchingPalette(); + this.addCisco19RoutingWANPalette(); + this.addCisco19NetworkManagementPalette(); + this.addCisco19DataCenterPalette(); + this.addCisco19WirelessLANPalette(); + this.addCisco19CollaborationPalette(); + this.addCisco19SecurityCloudsAndConnectorsPalette(); + this.addCisco19EndpointClientDeviceIconsPalette(); + this.addCisco19DNASDAccessPalette(); + this.addCisco19SDWANViptelaPalette(); + this.addCisco19StealthwatchPalette(); + this.addCisco19SafePalette(); + }; + + Sidebar.prototype.addCisco19LANSwitchingPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco lan switching local area network'; + + this.addPaletteFunctions('cisco19LAN Switching', 'Cisco 19 / LAN Switching', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=l2_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'L2 Switch', null, null, this.getTagsForStencil(gn, 'l2 switch', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l3_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'L3 Switch', null, null, this.getTagsForStencil(gn, 'l3 switch', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l2_modular;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', 'L2 Modular', null, null, this.getTagsForStencil(gn, 'l2 modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=6500_vss;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', '6500 VSS', null, null, this.getTagsForStencil(gn, '6500 vss', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l2_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.9, '', 'L2 Switch with Dual Supervisor', null, null, this.getTagsForStencil(gn, 'l2 switch with dual supervisor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l3_switch_with_dual_supervisor;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.9, '', 'L3 Switch with Dual Supervisor', null, null, this.getTagsForStencil(gn, 'l3 switch with dual supervisor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l2_modular2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 2.05, '', 'L2 Modular', null, null, this.getTagsForStencil(gn, 'l2 modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.3, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=6500_vss2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.3, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_subdued;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Secure Catalyst Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch subdued', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Secure Switch (color)', null, null, this.getTagsForStencil(gn, 'secure switch color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_switch;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Secure Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure switch subdued', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Workgroup Switch (color)', null, null, this.getTagsForStencil(gn, 'workgroup switch color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=workgroup_switch;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Workgroup Switch (subdued)', null, null, this.getTagsForStencil(gn, 'workgroup switch subdued', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color3;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_color2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Secure Catalyst Switch (color)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_catalyst_switch_subdued2;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Secure Catalyst Switch (subdued)', null, null, this.getTagsForStencil(gn, 'secure catalyst switch subdued', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19RoutingWANPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco routing wan wide area network'; + + this.addPaletteFunctions('cisco19Routing WAN', 'Cisco 19 / Routing WAN', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=router;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Router', null, null, this.getTagsForStencil(gn, 'router', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=csr_1000v;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'CSR1000v', null, null, this.getTagsForStencil(gn, 'csr1000v', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_router;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.2, '', 'Wireless Router', null, null, this.getTagsForStencil(gn, 'wireless router', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=l3_modular3;fillColor=#FAFAFA;strokeColor=#C1272D;', + w, h, '', 'L3 Modular', null, null, this.getTagsForStencil(gn, 'l3 modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_express;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'UCS Express', null, null, this.getTagsForStencil(gn, 'ucs express', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_voice;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Router with Voice', null, null, this.getTagsForStencil(gn, 'router with voice', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_firewall;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Router with Firewall', null, null, this.getTagsForStencil(gn, 'router with firewall', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=netflow_router;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'NetFlow Router', null, null, this.getTagsForStencil(gn, 'netflow router', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Secure Router (color)', null, null, this.getTagsForStencil(gn, 'secure router color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secure_router;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Secure Router (subdued)', null, null, this.getTagsForStencil(gn, 'secure router subdued', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ip_telephone_router;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'IP Telephone Router', null, null, this.getTagsForStencil(gn, 'ip telephone router internet protocol', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=content_router;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Content Router', null, null, this.getTagsForStencil(gn, 'content router', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=service_ready_engine;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Cisco Service Ready Engine', null, null, this.getTagsForStencil(gn, 'service ready engine', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_15800;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Cisco 15800', null, null, this.getTagsForStencil(gn, '15800', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=appnav;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'AppNav', null, null, this.getTagsForStencil(gn, 'appnav', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=router_with_firewall2;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Router with Firewall', null, null, this.getTagsForStencil(gn, 'router with firewall', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=netflow_router2;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'NetFlow Router', null, null, this.getTagsForStencil(gn, 'netflow router', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=asr_1000;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.14, h, '', 'ASR 1000', null, null, this.getTagsForStencil(gn, 'asr 1000', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=asr_9000;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'ASR 9000', null, null, this.getTagsForStencil(gn, 'asr 9000', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19NetworkManagementPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco network management'; + + this.addPaletteFunctions('cisco19Network Management', 'Cisco 19 / Network Management', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=net_mgmt_appliance;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Net Mgmt. Appliance', null, null, this.getTagsForStencil(gn, 'net management appliance mgmt', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nam_virtual_service_blade;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'NAM Virtual Service Blade', null, null, this.getTagsForStencil(gn, 'nam virtual service blade', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19DataCenterPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco data center'; + + this.addPaletteFunctions('cisco19Data Center', 'Cisco 19 / Data Center', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_9300;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 9300', null, null, this.getTagsForStencil(gn, 'nexus 9300', dt).join(' ')), + this.createVertexTemplateEntry(s + 'x509_certificate;fillColor=#005073;strokeColor=none;', + w, h * 0.95, '', 'x.509 Certificate', null, null, this.getTagsForStencil(gn, 'x509 certificate', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=hypervisor;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.3, '', 'Hypervisor', null, null, this.getTagsForStencil(gn, 'hypervisor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_9500;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', 'Nexus 9500', null, null, this.getTagsForStencil(gn, 'nexus 9500', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=fabric_interconnect;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Fabric Interconnect', null, null, this.getTagsForStencil(gn, 'fabric interconnect', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=fibre_channel_director_mds_9000;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', 'Fibre Channel Director MDS 9000', null, null, this.getTagsForStencil(gn, 'fibre channel director mds 9000', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_matrix_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Virtual Matrix Switch', null, null, this.getTagsForStencil(gn, 'virtual matrix switch', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_c_series_server;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.2, h * 0.5, '', 'UCS C-Series Server', null, null, this.getTagsForStencil(gn, 'ucs c series server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_5k_with_integrated_vsm;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 5K with Integrated VSM', null, null, this.getTagsForStencil(gn, 'nexus 5k with integrated vsm', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=aci;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'ACI', null, null, this.getTagsForStencil(gn, 'aci', dt).join(' ')), + this.createVertexTemplateEntry(s + 'vts;fillColor=#005073;strokeColor=none;', + w, h, '', 'VTS', null, null, this.getTagsForStencil(gn, 'vts', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ucs_5108_blade_chassis;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'UCS 5108 Blade Chassis', null, null, this.getTagsForStencil(gn, 'ucs 5108 blade chassis', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=storage;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Storage', null, null, this.getTagsForStencil(gn, 'storage', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ups;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'UPS', null, null, this.getTagsForStencil(gn, 'ups', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=rps;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'RPS', null, null, this.getTagsForStencil(gn, 'rps', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_2000_10ge;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 2000 10GE', null, null, this.getTagsForStencil(gn, 'nexus 2000 10ge', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Blade Server (color)', null, null, this.getTagsForStencil(gn, 'blade server color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=blade_server;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Blade Server (subdued)', null, null, this.getTagsForStencil(gn, 'blade server subdued', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_5k;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 5k', null, null, this.getTagsForStencil(gn, 'nexus 5k', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_4k;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 4k', null, null, this.getTagsForStencil(gn, 'nexus 4k', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_3k;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 3k', null, null, this.getTagsForStencil(gn, 'nexus 3k', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_2k;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Nexus 2k', null, null, this.getTagsForStencil(gn, 'nexus 2k', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1kv_vsm;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Nexus 1KV VSM', null, null, this.getTagsForStencil(gn, 'nexus 1kv vsm', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1k;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Nexus 1k', null, null, this.getTagsForStencil(gn, 'nexus 1k', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=layer3_nexus_5k_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Layer 3 Nexus 5k Switch', null, null, this.getTagsForStencil(gn, 'layer3 nexus 5k switch', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_1010;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Nexus 1010', null, null, this.getTagsForStencil(gn, 'nexus 1010', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nexus_7k;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', 'Nexus 7k', null, null, this.getTagsForStencil(gn, 'nexus 7k', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=fibre_channel_fabric_switch;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.46, '', 'Fibre Channel Fabric Switch', null, null, this.getTagsForStencil(gn, 'fibre channel fabric switch', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=database_relational;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Database Relational', null, null, this.getTagsForStencil(gn, 'database relational', dt).join(' ')), + this.createVertexTemplateEntry(s + 'server;fillColor=#005073;strokeColor=none;', + w * 0.55, h, '', 'Server', null, null, this.getTagsForStencil(gn, 'server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'dns_server;fillColor=#005073;strokeColor=none;', + w * 0.55, h, '', 'DNS Server', null, null, this.getTagsForStencil(gn, 'dns domain name server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'secure_server;fillColor=#005073;strokeColor=none;', + w * 0.55, h, '', 'Secure Server', null, null, this.getTagsForStencil(gn, 'secure server', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19WirelessLANPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco wireless lan local area network'; + + this.addPaletteFunctions('cisco19Wireless LAN', 'Cisco 19 / Wireless LAN', false, + [ + this.createVertexTemplateEntry(s + 'wifi_indicator;fillColor=#005073;strokeColor=none;', + w, h, '', 'WiFi Indicator', null, null, this.getTagsForStencil(gn, 'wifi indicator', dt).join(' ')), + this.createVertexTemplateEntry(s + '3g_4g_indicator;fillColor=#005073;strokeColor=none;', + w, h, '', '3G/4G Indicator', null, null, this.getTagsForStencil(gn, '3g 4g indicator', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=dual_mode_access_point;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Dual Mode Access Point', null, null, this.getTagsForStencil(gn, 'dual mode access point', dt).join(' ')), + this.createVertexTemplateEntry(s + 'wireless_access_point;fillColor=#005073;strokeColor=none;', + w, h, '', 'Wireless Acess Point', null, null, this.getTagsForStencil(gn, 'access point', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_location_appliance;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Wireless Location Appliance', null, null, this.getTagsForStencil(gn, 'location appliance', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_lan_controller;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Wireless LAN Controller', null, null, this.getTagsForStencil(gn, 'controller', dt).join(' ')), + this.createVertexTemplateEntry(s + 'wireless_bridge;fillColor=#005073;strokeColor=none;', + w * 1.28, h, '', 'Wireless Bridge', null, null, this.getTagsForStencil(gn, 'bridge', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=mesh_access_point;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Mesh Access Point', null, null, this.getTagsForStencil(gn, 'mesh access point', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19CollaborationPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco collaboration'; + + this.addPaletteFunctions('cisco19Collaboration', 'Cisco 19 / Collaboration', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=video_call_server;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Video Call Server', null, null, this.getTagsForStencil(gn, 'video call server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=primary_codec;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Primary Codec', null, null, this.getTagsForStencil(gn, 'primary codec', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=secondary_codec;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Secondary Codec', null, null, this.getTagsForStencil(gn, 'secondary codec', dt).join(' ')), + this.createVertexTemplateEntry(s + 'laptop_video_client;fillColor=#005073;strokeColor=none;', + w, h * 0.85, '', 'Laptop Video Client', null, null, this.getTagsForStencil(gn, 'laptop video client', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=immersive_telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;', + w * 2.3, h, '', 'Immersive Telepresence Endpoint', null, null, this.getTagsForStencil(gn, 'immersive telepresence endpoint', dt).join(' ')), + this.createVertexTemplateEntry(s + 'hdtv;fillColor=#005073;strokeColor=none;', + w * 1.2, h, '', 'HDTV', null, null, this.getTagsForStencil(gn, 'hdtv', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_desktop_service;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Virtual Desktop Service', null, null, this.getTagsForStencil(gn, 'virtual desktop service', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=video_gateway;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Video Gateway', null, null, this.getTagsForStencil(gn, 'video gateway', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_endpoint;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Telepresence Endpoint', null, null, this.getTagsForStencil(gn, 'telepresence endpoint', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=collab1;fillColor=#FAFAFA;strokeColor=#005073;', + w, h * 1.3, '', 'Collaboration', null, null, this.getTagsForStencil(gn, '', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=video_analytics;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Video Analytics', null, null, this.getTagsForStencil(gn, 'video analytics', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_exchange;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Telepresence Exchange', null, null, this.getTagsForStencil(gn, 'telepresence exchange', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=meeting_scheduling_and_management_server;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Meeting Scheduling and Management Server', null, null, this.getTagsForStencil(gn, 'meeting scheduling and management server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=multipoint_meeting_server;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Multipoint Meeting Server', null, null, this.getTagsForStencil(gn, 'multipoint meeting server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=content_recording_streaming_server;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Content Recording / Streaming Server', null, null, this.getTagsForStencil(gn, 'content recording streaming server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=communications_manager;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Communications Manager', null, null, this.getTagsForStencil(gn, 'communications manager', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_unified_presence_service;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Cisco Unified Presence Service', null, null, this.getTagsForStencil(gn, 'cisco unified presence service', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_unified_contact_center_enterprise_and_hosted;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Cisco Unified Contact Center Enterprise and Hosted', null, null, this.getTagsForStencil(gn, 'cisco unified contact center enterprise and hosted', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=h323;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'H.323', null, null, this.getTagsForStencil(gn, 'h323', dt).join(' ')), + this.createVertexTemplateEntry(s + 'surveillance_camera;fillColor=#005073;strokeColor=none;', + w * 1.28, h, '', 'Surveillance Camera', null, null, this.getTagsForStencil(gn, 'surveillance camera', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=monitor;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Monitor', null, null, this.getTagsForStencil(gn, 'monitor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'upc_unified_personal_communicator;fillColor=#005073;strokeColor=none;', + w, h * 0.85, '', 'UPC Unified Personal Communicator', null, null, this.getTagsForStencil(gn, 'upc unified personal communicator', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=telepresence_endpoint_twin_data_display;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Telepresence Endpoint (twin data display)', null, null, this.getTagsForStencil(gn, 'telepresence endpoint twin data display', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=operations_manager;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Operations Manager', null, null, this.getTagsForStencil(gn, 'operations manager', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=transcoder;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Transcoder', null, null, this.getTagsForStencil(gn, 'transcoder', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=contact_center_express;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Contact Center Express', null, null, this.getTagsForStencil(gn, 'contact center express', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=media_server;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Media Server', null, null, this.getTagsForStencil(gn, 'media server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ip_ip_gateway;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'IP IP Gateway', null, null, this.getTagsForStencil(gn, 'ip gateway', dt).join(' ')), + this.createVertexTemplateEntry(s + 'webex', + w, h, '', 'WebEx', null, null, this.getTagsForStencil(gn, 'webex', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=clock;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Clock', null, null, this.getTagsForStencil(gn, 'clock', dt).join(' ')), + this.createVertexTemplateEntry(s + 'phone_polycom;fillColor=#005073;strokeColor=none;', + w * 0.95, h, '', 'Phone Polycom', null, null, this.getTagsForStencil(gn, 'phone polycom', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=unity;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Unity', null, null, this.getTagsForStencil(gn, 'unity', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=shield;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Shield', null, null, this.getTagsForStencil(gn, 'shield', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_meetingplace_express;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Cisco MeetingPlace Express', null, null, this.getTagsForStencil(gn, 'meetingplace express', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=set_top;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Set Top', null, null, this.getTagsForStencil(gn, 'set top', dt).join(' ')), + this.createVertexTemplateEntry(s + 'ip_phone;fillColor=#005073;strokeColor=none;', + w * 1.15, h, '', 'IP Phone', null, null, this.getTagsForStencil(gn, 'ip phone internet protocol', dt).join(' ')), + this.createVertexTemplateEntry(s + 'camera;fillColor=#005073;strokeColor=none;', + w * 1.8, h, '', 'Camera', null, null, this.getTagsForStencil(gn, 'camera', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=da_encoder;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'DA Encoder', null, null, this.getTagsForStencil(gn, 'da encoder analog digital', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ad_encoder;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'AD Encoder', null, null, this.getTagsForStencil(gn, 'ad encoder analog digital', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=da_decoder;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'DA Decoder', null, null, this.getTagsForStencil(gn, 'da decoder analog digital', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ad_decoder;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'AD Decoder', null, null, this.getTagsForStencil(gn, 'ad decoder analog digital', dt).join(' ')), + this.createVertexTemplateEntry(s + 'joystick_keyboard;fillColor=#005073;strokeColor=none;', + w * 1.8, h, '', 'Joystick Keyboard', null, null, this.getTagsForStencil(gn, 'joystick keyboard', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=collab2;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=collab3;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=collab4;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Collaboration', null, null, this.getTagsForStencil(gn, 'collaboration', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19SecurityCloudsAndConnectorsPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco security clouds connectors'; + + this.addPaletteFunctions('cisco19Security Clouds Connectors', 'Cisco 19 / Security, Clouds and Connectors', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=acs;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'ACS', null, null, this.getTagsForStencil(gn, 'acs', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ise;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'ISE', null, null, this.getTagsForStencil(gn, 'ise', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=email_security;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Email Security', null, null, this.getTagsForStencil(gn, 'email security', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=vpn_concentrator;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'VPN Concentrator', null, null, this.getTagsForStencil(gn, 'vpn concentrator virtual private network', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ssl_terminator;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'SSL Terminator', null, null, this.getTagsForStencil(gn, 'ssl terminator', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_security_manager;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Cisco Security Manager', null, null, this.getTagsForStencil(gn, 'cisco security manager', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=web_security;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Web Security', null, null, this.getTagsForStencil(gn, 'web security', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=nac_appliance;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'NAC Appliance', null, null, this.getTagsForStencil(gn, 'nac appliance', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ironport;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Ironport', null, null, this.getTagsForStencil(gn, 'ironport', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=ips_ids;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'IPS/IDS', null, null, this.getTagsForStencil(gn, 'ips ids', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=firewall;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Firewall', null, null, this.getTagsForStencil(gn, 'firewall', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=asa_5500;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'ASA 5500', null, null, this.getTagsForStencil(gn, 'asa 5500', dt).join(' ')), + this.createVertexTemplateEntry(s + 'ldap;fillColor=#005073;strokeColor=none;', + w, h * 0.85, '', 'LDAP', null, null, this.getTagsForStencil(gn, 'ldap', dt).join(' ')), + this.createVertexTemplateEntry(s + 'key;fillColor=#005073;strokeColor=none;', + w, h * 0.45, '', 'Key', null, null, this.getTagsForStencil(gn, 'key', dt).join(' ')), + this.createVertexTemplateEntry(s + 'lock;fillColor=#005073;strokeColor=none;', + w, h, '', 'Lock', null, null, this.getTagsForStencil(gn, 'lock', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cloud;fillColor=#6B6B6B;strokeColor=none;', + w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cloud;fillColor=#A6A6A6;strokeColor=none;', + w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cloud;fillColor=#FABD66;strokeColor=none;', + w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cloud;fillColor=#186180;strokeColor=none;', + w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cloud2;fillColor=#FFE9AA;strokeColor=none;', + w, h * 0.6, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Security Management (color)', null, null, this.getTagsForStencil(gn, 'security management color', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=security_management;fillColor=#FAFAFA;strokeColor=#6696AB;', + w, h, '', 'Security Management (subdued)', null, null, this.getTagsForStencil(gn, 'security management subdued', dt).join(' ')), + this.createVertexTemplateEntry(s + 'secure_endpoints;fillColor=#005073;strokeColor=none;', + w, h * 0.7, '', 'Secure Endpoint (laptop)', null, null, this.getTagsForStencil(gn, 'secure endpoints laptop', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19EndpointClientDeviceIconsPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco endpoint client device icons'; + + this.addPaletteFunctions('cisco19Endpoint Client Device Icons', 'Cisco 19 / Endpoint Client and Device Icons', false, + [ + this.createVertexTemplateEntry(s + 'workstation;fillColor=#005073;strokeColor=none;', + w, h * 0.8, '', 'Workstation', null, null, this.getTagsForStencil(gn, 'workstation', dt).join(' ')), + this.createVertexTemplateEntry(s + 'laptop;fillColor=#005073;strokeColor=none;', + w, h * 0.7, '', 'Laptop', null, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')), + this.createVertexTemplateEntry(s + 'handheld;fillColor=#005073;strokeColor=none;', + w * 0.75, h, '', 'Handheld', null, null, this.getTagsForStencil(gn, 'handheld', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cell_phone;fillColor=#005073;strokeColor=none;', + w * 0.5, h, '', 'Cell Phone', null, null, this.getTagsForStencil(gn, 'cell phone', dt).join(' ')), + this.createVertexTemplateEntry(s + 'tablet;fillColor=#005073;strokeColor=none;', + w, h * 0.8, '', 'Tablet', null, null, this.getTagsForStencil(gn, 'tablet', dt).join(' ')), + this.createVertexTemplateEntry(s + 'printer;fillColor=#005073;strokeColor=none;', + w, h * 0.9, '', 'Printer', null, null, this.getTagsForStencil(gn, 'printer', dt).join(' ')), + this.createVertexTemplateEntry(s + 'pos;fillColor=#005073;strokeColor=none;', + w * 1.28, h, '', 'POS', null, null, this.getTagsForStencil(gn, 'pos', dt).join(' ')), + this.createVertexTemplateEntry(s + 'home_office;fillColor=#005073;strokeColor=none;', + w, h, '', 'Home Office', null, null, this.getTagsForStencil(gn, 'home office', dt).join(' ')), + this.createVertexTemplateEntry(s + 'user;fillColor=#005073;strokeColor=none;', + w, h, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')), + this.createVertexTemplateEntry(s + 'secure_endpoint_pc;fillColor=#005073;strokeColor=none;', + w, h * 0.8, '', 'Secure Endpoint (PC)', null, null, this.getTagsForStencil(gn, 'secure endpoints pc', dt).join(' ')), + this.createVertexTemplateEntry(s + 'secure_endpoints;fillColor=#005073;strokeColor=none;', + w, h * 0.7, '', 'Secure Endpoint (laptop)', null, null, this.getTagsForStencil(gn, 'secure endpoints laptop', dt).join(' ')), + this.createVertexTemplateEntry(s + 'data_center;fillColor=#005073;strokeColor=none;', + w * 2, h * 1.4, '', 'Data Center', null, null, this.getTagsForStencil(gn, 'data center', dt).join(' ')), + this.createVertexTemplateEntry(s + 'branch;fillColor=#005073;strokeColor=none;', + w, h, '', 'Branch', null, null, this.getTagsForStencil(gn, 'branch', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19DNASDAccessPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco dna sd access'; + + this.addPaletteFunctions('cisco19DNA SD Access', 'Cisco 19 / DNA/SD-Access', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=cisco_dna_center;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Cisco DNA Center', null, null, this.getTagsForStencil(gn, 'dna center', dt).join(' ')), + this.createVertexTemplateEntry(s + 'cisco_dna;fillColor=#005073;strokeColor=none;', + w, h * 0.6, '', 'Cisco DNA', null, null, this.getTagsForStencil(gn, 'dna', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19SDWANViptelaPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco sd wan viptela wide area network'; + + this.addPaletteFunctions('cisco19SD WAN Viptela', 'Cisco 19 / SD-WAN and Viptela', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=vbond;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'vBond', null, null, this.getTagsForStencil(gn, 'vbond', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=vmanage;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'vManage', null, null, this.getTagsForStencil(gn, 'vmanage', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=vsmart;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'vSmart', null, null, this.getTagsForStencil(gn, 'vsmart', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19StealthwatchPalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco stealthwatch'; + + this.addPaletteFunctions('cisco19ETA Stealthwatch', 'Cisco 19 / ETA/Stealthwatch', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=flow_collector;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Flow Collector', null, null, this.getTagsForStencil(gn, 'flow collector', dt).join(' ')), + this.createVertexTemplateEntry(s + 'stealthwatch_management_console_smc;fillColor=#005073;strokeColor=none;', + w, h * 0.8, '', 'Stealthwatch Management Console (SMC)', null, null, this.getTagsForStencil(gn, 'stealthwatch management console smc', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=cognitive;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Cognitive', null, null, this.getTagsForStencil(gn, 'cognitive', dt).join(' ')) + ]); + }; + + Sidebar.prototype.addCisco19SafePalette = function() + { + var w = 50; + var h = 50; + var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;aspect=fixed;align=center;' + + 'points=[[0.06,0.06,0],[0.94,0.06,0],[0.94,0.94,0],[0.06,0.94,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];pointerEvents=1;shape=mxgraph.cisco19.'; + var gn = 'mxgraph.cisco19'; + var dt = 'cisco stealthwatch'; + + this.addPaletteFunctions('cisco19SAFE', 'Cisco 19 / SAFE', false, + [ + this.createVertexTemplateEntry(s + 'rect;prIcon=next_generation_intrusion_prevention_system;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Next Generation Intrusion Prevention System', null, null, this.getTagsForStencil(gn, 'next generation prevention system', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=access_control_and_trustsec;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Access Control and TrustSec', null, null, this.getTagsForStencil(gn, 'access control and trustsec', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=load_balancer;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Load Balancer', null, null, this.getTagsForStencil(gn, 'load balancer', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=anomaly_detection;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Anomaly Detection', null, null, this.getTagsForStencil(gn, 'anomaly detection', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=web_reputation_filtering;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Web Reputation / Filtering', null, null, this.getTagsForStencil(gn, 'web reputation filtering', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=avc_application_visibility_control;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'AVC-Application Visibility Control', null, null, this.getTagsForStencil(gn, 'avc application visibility control', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=anti_malware2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Anti-Malware', null, null, this.getTagsForStencil(gn, 'anti malware', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=web_application_firewall;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Web Application Firewall', null, null, this.getTagsForStencil(gn, 'web application firewall', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=policy_configuration;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Policy / Configuration', null, null, this.getTagsForStencil(gn, 'policy configuration', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=analysis_correlation;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Analysis / Correlation', null, null, this.getTagsForStencil(gn, 'analysis correlation', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=flow_analytics;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Flow Analytics', null, null, this.getTagsForStencil(gn, 'flow analytics', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Virtual Private Network', null, null, this.getTagsForStencil(gn, 'virtual private network vpn', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=web_reputation_filtering_2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Web Reputation / Filtering', null, null, this.getTagsForStencil(gn, 'web reputation filtering', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=avc_application_visibility_control2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'AVC-Application Visibility Control', null, null, this.getTagsForStencil(gn, 'avc application visibility control', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=flow_analytics2;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Flow Analytics', null, null, this.getTagsForStencil(gn, 'flow analytics', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network2;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Virtual Private Network', null, null, this.getTagsForStencil(gn, 'virtual private network', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=web_security_services;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Web Security Services', null, null, this.getTagsForStencil(gn, 'web security services', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=web_security_services2;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Web Security Services', null, null, this.getTagsForStencil(gn, 'web security services', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=posture_assessment;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Posture Assessment', null, null, this.getTagsForStencil(gn, 'posture assessment', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=anti_malware;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Anti-Malware', null, null, this.getTagsForStencil(gn, 'anti malware', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=wireless_intrusion_prevention;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Wireless Intrusion Prevention', null, null, this.getTagsForStencil(gn, 'wireless intrusion prevention', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=host_based_security;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Host Based Security', null, null, this.getTagsForStencil(gn, 'host based security', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=monitoring;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=virtual_private_network_connector;fillColor=#FAFAFA;strokeColor=#005073;', + w * 1.28, h, '', 'Virtual Private Network Connector', null, null, this.getTagsForStencil(gn, 'connector', dt).join(' ')), + this.createVertexTemplateEntry(s + 'rect;prIcon=threat_intelligence;fillColor=#FAFAFA;strokeColor=#005073;', + w, h, '', 'Monitoring', null, null, this.getTagsForStencil(gn, 'monitoring', dt).join(' ')) + ]); + }; + +})(); diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-DFD.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-DFD.js index 63f985f87..601491432 100644 --- a/src/main/webapp/js/diagramly/sidebar/Sidebar-DFD.js +++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-DFD.js @@ -27,8 +27,8 @@ this.createVertexTemplateEntry('shape=ellipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;perimeter=ellipsePerimeter;', w * 0.6, h * 0.6, '', 'Data Process / State', null, null, this.getTagsForStencil(gn, 'data process', dt).join(' ')), this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;', w * 0.6, h * 0.6, '', 'Multiple Process / Start State / Multi State', null, null, this.getTagsForStencil(gn, 'multiple process start state multi', dt).join(' ')), this.createVertexTemplateEntry('shape=ellipse;html=1;dashed=0;whitespace=wrap;aspect=fixed;strokeWidth=5;perimeter=ellipsePerimeter;', w * 0.6, h * 0.6, '', 'Stop State', null, null, this.getTagsForStencil(gn, 'stop state', dt).join(' ')), - this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;left=0;fillColor=none;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')), - this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;fillColor=none;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')), + this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;left=0;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')), + this.createVertexTemplateEntry('html=1;dashed=0;whitespace=wrap;shape=partialRectangle;right=0;', w, h * 0.3, '', 'Data Store', null, null, this.getTagsForStencil(gn, 'data store', dt).join(' ')), this.createVertexTemplateEntry(s + 'dataStoreID;align=left;spacingLeft=3;points=[[0,0],[0.5,0],[1,0],[0,0.5],[1,0.5],[0,1],[0.5,1],[1,1]];', w, h * 0.3, '', 'Data Store with ID', null, null, this.getTagsForStencil(gn, 'data store with id identification', dt).join(' ')), this.createVertexTemplateEntry('swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=20;fillColor=#ffffff;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;swimlaneFillColor=#ffffff;', w, h * 0.5, '', 'Entity', null, null, this.getTagsForStencil(gn, 'entity', dt).join(' ')), this.createVertexTemplateEntry('shape=cloud;whiteSpace=wrap;html=1;', w * 1.2, h * 1.2, '', 'Object', null, null, this.getTagsForStencil(gn, 'object', dt).join(' ')), diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar.js b/src/main/webapp/js/diagramly/sidebar/Sidebar.js index 7519e88a6..3995bfd21 100644 --- a/src/main/webapp/js/diagramly/sidebar/Sidebar.js +++ b/src/main/webapp/js/diagramly/sidebar/Sidebar.js @@ -50,6 +50,8 @@ Sidebar.prototype.cisco = ['Buildings', 'Computers and Peripherals', 'Controllers and Modules', 'Directors', 'Hubs and Gateways', 'Misc', 'Modems and Phones', 'People', 'Routers', 'Security', 'Servers', 'Storage', 'Switches', 'Wireless']; + Sidebar.prototype.cisco19 = ['LAN Switching', 'Routing WAN', 'Network Management', 'Data Center', 'Wireless LAN', 'Collaboration', 'Security Clouds Connectors', 'Endpoint Client Device Icons', 'DNA SD Access', 'SD WAN Viptela', 'ETA Stealthwatch', 'SAFE']; + Sidebar.prototype.cisco_safe = ['Architecture', 'Capability', 'Design', 'Threat']; Sidebar.prototype.sysml = ['Model Elements', 'Blocks', 'Ports and Flows', 'Constraint Blocks', 'Activities', 'Interactions', 'State Machines', @@ -105,7 +107,7 @@ {id: 'ios', prefix: 'ios', libs: [''/*prefix is library*/, '7icons', '7ui']}, {id: 'android', prefix: 'android', libs: [''/*prefix is library*/]}, {id: 'aws3d'}, {id: 'flowchart'}, {id: 'basic'}, {id: 'infographic'}, {id: 'arrows'}, {id: 'arrows2'}, {id: 'lean_mapping'}, {id: 'citrix'}, {id: 'azure'}, {id: 'network'}, {id: 'vvd'}, - {id: 'sitemap'}, {id: 'dfd'}, {id : 'kubernetes'}, + {id: 'sitemap'}, {id: 'dfd'}, {id : 'kubernetes'}, {id : 'cisco19', prefix: 'cisco19', libs: Sidebar.prototype.cisco19}, {id: 'mscae', prefix: 'mscae', libs: ['Companies', 'EnterpriseFlat', 'IntuneFlat', 'OMSFlat', 'System CenterFlat', 'AI and ML Service', 'Analytics Service', 'Compute Service', 'Compute Service VM', 'Container Service', 'Databases Service', 'DevOps Service', 'General Service', 'Identity Service', 'Integration Service', 'Internet of Things Service', 'Intune Service', 'Management and Governance Service', 'Management and Governance Service Media', 'Migrate Service', 'Mixed Reality Service', 'Mobile Service', 'Networking Service', 'Other Category Service', 'Security Service', 'Storage Service', 'Web Service']}, {id: 'active_directory'}, {id: 'bpmn', prefix: 'bpmn', libs: [''/*prefix is library*/, 'Gateways', 'Events']}, @@ -407,6 +409,7 @@ {title: mxResources.get('azure'), id: 'azure', image: IMAGE_PATH + '/sidebar-azure.png'}, {title: 'Cloud & Enterprise', id: 'mscae', image: IMAGE_PATH + '/sidebar-mscae.png'}, {title: mxResources.get('cisco'), id: 'cisco', image: IMAGE_PATH + '/sidebar-cisco.png'}, + {title: 'Cisco19', id: 'cisco19', image: IMAGE_PATH + '/sidebar-cisco19.png'}, {title: 'Cisco Safe', id: 'cisco_safe', image: IMAGE_PATH + '/sidebar-cisco_safe.png'}, {title: 'Cumulus', id: 'cumulus', image: IMAGE_PATH + '/sidebar-cumulus.png'}, {title: 'Citrix', id: 'citrix', image: IMAGE_PATH + '/sidebar-citrix.png'}, @@ -710,6 +713,7 @@ var rack = this.rack; var pids = this.pids; var cisco = this.cisco; + var cisco19 = this.cisco19; var cisco_safe = this.cisco_safe; var sysml = this.sysml; var eip = this.eip; @@ -941,6 +945,7 @@ ';html=1;pointerEvents=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;', null, null, 1.6); } + this.addCisco19Palette(); this.addCiscoSafePalette(); this.addCumulusPalette(); this.addCitrixPalette(); diff --git a/src/main/webapp/js/mxgraph/EditorUi.js b/src/main/webapp/js/mxgraph/EditorUi.js index 045c84dd6..7b9d6d080 100644 --- a/src/main/webapp/js/mxgraph/EditorUi.js +++ b/src/main/webapp/js/mxgraph/EditorUi.js @@ -1036,6 +1036,23 @@ EditorUi.prototype.init = function() if (!graph.standalone) { + // Hides tooltips and connection points when scrolling + mxEvent.addListener(graph.container, 'scroll', mxUtils.bind(this, function() + { + graph.tooltipHandler.hide(); + + if (graph.connectionHandler != null && graph.connectionHandler.constraintHandler != null) + { + graph.connectionHandler.constraintHandler.reset(); + } + })); + + // Hides tooltip on escape + graph.addListener(mxEvent.ESCAPE, mxUtils.bind(this, function() + { + graph.tooltipHandler.hide(); + })); + mxEvent.addListener(graph.container, 'keydown', mxUtils.bind(this, function(evt) { this.onKeyDown(evt); @@ -2132,22 +2149,22 @@ EditorUi.prototype.initCanvas = function() } var sp = new mxPoint(graph.container.scrollLeft, graph.container.scrollTop); + var offset = mxUtils.getOffset(graph.container); var prev = graph.view.scale; + var dx = 0; + var dy = 0; + + if (cursorPosition != null) + { + dx = graph.container.offsetWidth / 2 - cursorPosition.x + offset.x; + dy = graph.container.offsetHeight / 2 - cursorPosition.y + offset.y; + } + graph.zoom(graph.cumulativeZoomFactor); var s = graph.view.scale; if (s != prev) { - var offset = mxUtils.getOffset(graph.container); - var dx = 0; - var dy = 0; - - if (cursorPosition != null) - { - dx = graph.container.offsetWidth / 2 - cursorPosition.x + offset.x; - dy = graph.container.offsetHeight / 2 - cursorPosition.y + offset.y; - } - if (scrollPosition != null) { dx += sp.x - scrollPosition.x; @@ -2178,6 +2195,9 @@ EditorUi.prototype.initCanvas = function() graph.lazyZoom = function(zoomIn, ignoreCursorPosition, delay) { + // TODO: Fix ignored cursor position if scrollbars are disabled + ignoreCursorPosition = ignoreCursorPosition || !graph.scrollbars; + if (ignoreCursorPosition) { cursorPosition = new mxPoint( @@ -2220,6 +2240,7 @@ EditorUi.prototype.initCanvas = function() if (graph.isFastZoomEnabled()) { scrollPosition = new mxPoint(graph.container.scrollLeft, graph.container.scrollTop); + var cx = (ignoreCursorPosition) ? graph.container.scrollLeft + graph.container.clientWidth / 2 : cursorPosition.x + graph.container.scrollLeft - graph.container.offsetLeft; var cy = (ignoreCursorPosition) ? graph.container.scrollTop + graph.container.clientHeight / 2 : @@ -2282,26 +2303,51 @@ EditorUi.prototype.initCanvas = function() mxEvent.addMouseWheelListener(mxUtils.bind(this, function(evt, up, force) { - // Add Ctrl+wheel (or pinch on trackpad) native browser zoom event for macOS - if ((this.dialogs == null || this.dialogs.length == 0) && (force || graph.isZoomWheelEvent(evt))) + if (this.dialogs == null || this.dialogs.length == 0) { - var source = mxEvent.getSource(evt); - - while (source != null) + // Scrolls with scrollbars turned off + if (!graph.scrollbars && !graph.isZoomWheelEvent(evt)) + { + var t = graph.view.getTranslate(); + var step = 40 / graph.view.scale; + + if (!mxEvent.isShiftDown(evt)) + { + graph.view.setTranslate(t.x, t.y + ((up) ? step : -step)); + } + else + { + graph.view.setTranslate(t.x + ((up) ? -step : step), t.y); + } + } + else if (force || graph.isZoomWheelEvent(evt)) { - if (source == graph.container) + var source = mxEvent.getSource(evt); + + while (source != null) { - cursorPosition = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));; - graph.lazyZoom(up); - mxEvent.consume(evt); - - return false; - } + if (source == graph.container) + { + cursorPosition = new mxPoint(mxEvent.getClientX(evt), mxEvent.getClientY(evt));; + graph.lazyZoom(up); + mxEvent.consume(evt); - source = source.parentNode; + return false; + } + + source = source.parentNode; + } } } }), graph.container); + + // Uses fast zoom for pinch gestures on iOS + graph.panningHandler.zoomGraph = function(evt) + { + graph.cumulativeZoomFactor = evt.scale; + graph.lazyZoom(evt.scale > 0, true); + mxEvent.consume(evt); + }; }; /** @@ -2668,26 +2714,10 @@ EditorUi.prototype.setScrollbars = function(value) if (prev != graph.container.style.overflow) { - if (graph.container.style.overflow == 'hidden') - { - var t = graph.view.translate; - graph.view.setTranslate(t.x - graph.container.scrollLeft / graph.view.scale, t.y - graph.container.scrollTop / graph.view.scale); - graph.container.scrollLeft = 0; - graph.container.scrollTop = 0; - graph.minimumGraphSize = null; - graph.sizeDidChange(); - } - else - { - var dx = graph.view.translate.x; - var dy = graph.view.translate.y; - - graph.view.translate.x = 0; - graph.view.translate.y = 0; - graph.sizeDidChange(); - graph.container.scrollLeft -= Math.round(dx * graph.view.scale); - graph.container.scrollTop -= Math.round(dy * graph.view.scale); - } + graph.container.scrollTop = 0; + graph.container.scrollLeft = 0; + graph.view.scaleAndTranslate(1, 0, 0); + this.resetScrollbars(); } this.fireEvent(new mxEventObject('scrollbarsChanged')); @@ -2756,19 +2786,19 @@ EditorUi.prototype.resetScrollbars = function() } else { - // This code is not actively used since the default for scrollbars is always true - if (graph.pageVisible) - { - var b = graph.view.getBackgroundPageBounds(); - graph.view.setTranslate(Math.floor(Math.max(0, (graph.container.clientWidth - b.width) / 2) - b.x), - Math.floor(Math.max(0, (graph.container.clientHeight - b.height) / 2) - b.y)); - } - else - { - var bounds = graph.getGraphBounds(); - graph.view.setTranslate(Math.floor(Math.max(0, Math.max(0, (graph.container.clientWidth - bounds.width) / 2) - bounds.x)), - Math.floor(Math.max(0, Math.max(20, (graph.container.clientHeight - bounds.height) / 4)) - bounds.y)); - } + var b = mxRectangle.fromRectangle((graph.pageVisible) ? graph.view.getBackgroundPageBounds() : graph.getGraphBounds()) + var tr = graph.view.translate; + var s = graph.view.scale; + b.x = b.x / s - tr.x; + b.y = b.y / s - tr.y; + b.width /= s; + b.height /= s; + + var dy = (graph.pageVisible) ? 0 : Math.max(0, (graph.container.clientHeight - b.height) / 4); + + graph.view.setTranslate(Math.floor(Math.max(0, + (graph.container.clientWidth - b.width) / 2) - b.x + 2), + Math.floor(dy - b.y + 1)); } } }; diff --git a/src/main/webapp/js/mxgraph/Graph.js b/src/main/webapp/js/mxgraph/Graph.js index a4e0c2142..97de291e5 100644 --- a/src/main/webapp/js/mxgraph/Graph.js +++ b/src/main/webapp/js/mxgraph/Graph.js @@ -1358,7 +1358,7 @@ Graph.prototype.init = function(container) */ Graph.prototype.isFastZoomEnabled = function() { - return this.scrollbars && urlParams['zoom'] != 'nocss' && !this.mathEnabled && + return urlParams['zoom'] != 'nocss' && !this.mathEnabled && !mxClient.NO_FO && !this.useCssTransforms; }; @@ -1762,7 +1762,7 @@ Graph.prototype.customLinkClicked = function(link) }; /** - * Returns true if the fiven href references an external protocol that + * Returns true if the given href references an external protocol that * should never open in a new window. Default returns true for mailto. */ Graph.prototype.isExternalProtocol = function(href) @@ -3384,6 +3384,8 @@ HoverIcons.prototype.init = function() this.graph.view.addListener(mxEvent.DOWN, this.repaintHandler); this.graph.view.addListener(mxEvent.UP, this.repaintHandler); this.graph.addListener(mxEvent.ROOT, this.repaintHandler); + this.graph.addListener(mxEvent.ESCAPE, this.resetHandler); + mxEvent.addListener(this.graph.container, 'scroll', this.resetHandler); // Resets the mouse point on escape this.graph.addListener(mxEvent.ESCAPE, mxUtils.bind(this, function() @@ -8880,84 +8882,91 @@ if (typeof mxVertexHandler != 'undefined') mxVertexHandler.prototype.updateLinkHint = function(link, links) { - if ((link == null && (links == null || links.length == 0)) || - this.graph.getSelectionCount() > 1) + try { - if (this.linkHint != null) + if ((link == null && (links == null || links.length == 0)) || + this.graph.getSelectionCount() > 1) { - this.linkHint.parentNode.removeChild(this.linkHint); - this.linkHint = null; + if (this.linkHint != null) + { + this.linkHint.parentNode.removeChild(this.linkHint); + this.linkHint = null; + } } - } - else if (link != null || (links != null && links.length > 0)) - { - if (this.linkHint == null) + else if (link != null || (links != null && links.length > 0)) { - this.linkHint = createHint(); - this.linkHint.style.padding = '6px 8px 6px 8px'; - this.linkHint.style.opacity = '1'; - this.linkHint.style.filter = ''; - - this.graph.container.appendChild(this.linkHint); - } - - this.linkHint.innerHTML = ''; - - if (link != null) - { - this.linkHint.appendChild(this.graph.createLinkForHint(link)); - - if (this.graph.isEnabled() && typeof this.graph.editLink === 'function') + if (this.linkHint == null) { - var changeLink = document.createElement('img'); - changeLink.setAttribute('src', Editor.editImage); - changeLink.setAttribute('title', mxResources.get('editLink')); - changeLink.setAttribute('width', '11'); - changeLink.setAttribute('height', '11'); - changeLink.style.marginLeft = '10px'; - changeLink.style.marginBottom = '-1px'; - changeLink.style.cursor = 'pointer'; - this.linkHint.appendChild(changeLink); - - mxEvent.addListener(changeLink, 'click', mxUtils.bind(this, function(evt) - { - this.graph.setSelectionCell(this.state.cell); - this.graph.editLink(); - mxEvent.consume(evt); - })); + this.linkHint = createHint(); + this.linkHint.style.padding = '6px 8px 6px 8px'; + this.linkHint.style.opacity = '1'; + this.linkHint.style.filter = ''; - var removeLink = document.createElement('img'); - removeLink.setAttribute('src', Dialog.prototype.clearImage); - removeLink.setAttribute('title', mxResources.get('removeIt', [mxResources.get('link')])); - removeLink.setAttribute('width', '13'); - removeLink.setAttribute('height', '10'); - removeLink.style.marginLeft = '4px'; - removeLink.style.marginBottom = '-1px'; - removeLink.style.cursor = 'pointer'; - this.linkHint.appendChild(removeLink); + this.graph.container.appendChild(this.linkHint); + } + + this.linkHint.innerHTML = ''; + + if (link != null) + { + this.linkHint.appendChild(this.graph.createLinkForHint(link)); - mxEvent.addListener(removeLink, 'click', mxUtils.bind(this, function(evt) + if (this.graph.isEnabled() && typeof this.graph.editLink === 'function') { - this.graph.setLinkForCell(this.state.cell, null); - mxEvent.consume(evt); - })); + var changeLink = document.createElement('img'); + changeLink.setAttribute('src', Editor.editImage); + changeLink.setAttribute('title', mxResources.get('editLink')); + changeLink.setAttribute('width', '11'); + changeLink.setAttribute('height', '11'); + changeLink.style.marginLeft = '10px'; + changeLink.style.marginBottom = '-1px'; + changeLink.style.cursor = 'pointer'; + this.linkHint.appendChild(changeLink); + + mxEvent.addListener(changeLink, 'click', mxUtils.bind(this, function(evt) + { + this.graph.setSelectionCell(this.state.cell); + this.graph.editLink(); + mxEvent.consume(evt); + })); + + var removeLink = document.createElement('img'); + removeLink.setAttribute('src', Dialog.prototype.clearImage); + removeLink.setAttribute('title', mxResources.get('removeIt', [mxResources.get('link')])); + removeLink.setAttribute('width', '13'); + removeLink.setAttribute('height', '10'); + removeLink.style.marginLeft = '4px'; + removeLink.style.marginBottom = '-1px'; + removeLink.style.cursor = 'pointer'; + this.linkHint.appendChild(removeLink); + + mxEvent.addListener(removeLink, 'click', mxUtils.bind(this, function(evt) + { + this.graph.setLinkForCell(this.state.cell, null); + mxEvent.consume(evt); + })); + } } - } - - if (links != null) - { - for (var i = 0; i < links.length; i++) + + if (links != null) { - var div = document.createElement('div'); - div.style.marginTop = (link != null || i > 0) ? '6px' : '0px'; - div.appendChild(this.graph.createLinkForHint( - links[i].getAttribute('href'), - mxUtils.getTextContent(links[i]))); - - this.linkHint.appendChild(div); + for (var i = 0; i < links.length; i++) + { + var div = document.createElement('div'); + div.style.marginTop = (link != null || i > 0) ? '6px' : '0px'; + div.appendChild(this.graph.createLinkForHint( + links[i].getAttribute('href'), + mxUtils.getTextContent(links[i]))); + + this.linkHint.appendChild(div); + } } } } + catch (e) + { + // ignore + } }; mxEdgeHandler.prototype.updateLinkHint = mxVertexHandler.prototype.updateLinkHint; diff --git a/src/main/webapp/js/shapes.min.js b/src/main/webapp/js/shapes.min.js index 83f5343dc..f3ebf2aff 100644 --- a/src/main/webapp/js/shapes.min.js +++ b/src/main/webapp/js/shapes.min.js @@ -1527,8 +1527,9 @@ mxArchiMate3CommNetw.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo function mxArchiMate3Path(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxArchiMate3Path,mxShape);mxArchiMate3Path.prototype.cst={PATH:"mxgraph.archimate3.path"};mxArchiMate3Path.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,0,0,b,c);a.setShadow(!1)}; mxArchiMate3Path.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(.2*b,c);a.lineTo(0,.5*c);a.lineTo(.2*b,0);a.moveTo(.8*b,c);a.lineTo(b,.5*c);a.lineTo(.8*b,0);a.stroke();a.setDashed(!0);a.begin();a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.stroke()};mxCellRenderer.registerShape(mxArchiMate3Path.prototype.cst.PATH,mxArchiMate3Path); mxArchiMate3Path.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));return a};function mxShapeArrows2Arrow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=this.dy=.5;this.notch=0}mxUtils.extend(mxShapeArrows2Arrow,mxActor); -mxShapeArrows2Arrow.prototype.customProperties=[{name:"dx",dispName:"Arrowhead Length",type:"float",min:0,defVal:40},{name:"dy",dispName:"Arrow Width",type:"float",min:0,max:1,defVal:.6},{name:"notch",dispName:"Notch",type:"float",min:0,defVal:0}];mxShapeArrows2Arrow.prototype.cst={ARROW:"mxgraph.arrows2.arrow"}; -mxShapeArrows2Arrow.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=.5*c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch))));a.begin();a.moveTo(0,d);a.lineTo(b-e,d);a.lineTo(b-e,0);a.lineTo(b,.5*c);a.lineTo(b-e,c);a.lineTo(b-e,c-d);a.lineTo(0,c-d);a.lineTo(f,.5*c);a.close();a.fillAndStroke()}; +mxShapeArrows2Arrow.prototype.customProperties=[{name:"dx",dispName:"Arrowhead Length",type:"float",min:0,defVal:40},{name:"dy",dispName:"Arrow Width",type:"float",min:0,max:1,defVal:.6},{name:"notch",dispName:"Notch",type:"float",min:0,defVal:0},{name:"headCrossline",dispName:"Head Crossline",type:"bool",defVal:!1},{name:"tailCrossline",dispName:"Tail Crossline",type:"bool",defVal:!1}];mxShapeArrows2Arrow.prototype.cst={ARROW:"mxgraph.arrows2.arrow"}; +mxShapeArrows2Arrow.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=.5*c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));e=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"notch",this.notch)))),g=mxUtils.getValue(this.style,"headCrossline",!1),h=mxUtils.getValue(this.style,"tailCrossline",!1);a.begin();a.moveTo(0,d);a.lineTo(b-e,d);a.lineTo(b-e,0);a.lineTo(b, +.5*c);a.lineTo(b-e,c);a.lineTo(b-e,c-d);a.lineTo(0,c-d);a.lineTo(f,.5*c);a.close();a.fillAndStroke();a.setShadow(!1);g&&(a.begin(),a.moveTo(b-e,d),a.lineTo(b-e,c-d),a.stroke());h&&(a.begin(),a.moveTo(f,d),a.lineTo(f,c-d),a.stroke())}; mxShapeArrows2Arrow.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=a.width,e=a.height,b,c,f=this.direction||mxConstants.DIRECTION_EAST;mxUtils.getValue(this.style,"flipH",!1)&&(f==mxConstants.DIRECTION_WEST?f=mxConstants.DIRECTION_EAST:f==mxConstants.DIRECTION_EAST&&(f=mxConstants.DIRECTION_WEST));mxUtils.getValue(this.style,"flipV",!1)&&(f==mxConstants.DIRECTION_NORTH?f=mxConstants.DIRECTION_SOUTH:f==mxConstants.DIRECTION_SOUTH&&(f=mxConstants.DIRECTION_NORTH)); f==mxConstants.DIRECTION_NORTH||f==mxConstants.DIRECTION_SOUTH?(b=.5*d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))))):(b=.5*e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"dy",this.dy)))),c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))));return f==mxConstants.DIRECTION_EAST?new mxRectangle(a.x,a.y+b,d-c,e-2*b):f==mxConstants.DIRECTION_WEST? new mxRectangle(a.x+c,a.y+b,d-c,e-2*b):f==mxConstants.DIRECTION_NORTH?new mxRectangle(a.x+b,a.y+c,d-2*b,e-c):new mxRectangle(a.x+b,a.y,d-2*b,e-c)}return a};mxCellRenderer.registerShape(mxShapeArrows2Arrow.prototype.cst.ARROW,mxShapeArrows2Arrow); @@ -2013,8 +2014,14 @@ function mxCabinetsDimension(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill mxCabinetsDimension.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,20);a.lineTo(b,20);a.moveTo(10,15);a.lineTo(0,20);a.lineTo(10,25);a.moveTo(b-10,15);a.lineTo(b,20);a.lineTo(b-10,25);a.moveTo(0,15);a.lineTo(0,c);a.moveTo(b,15);a.lineTo(b,c);a.stroke()};mxCellRenderer.registerShape(mxCabinetsDimension.prototype.cst.DIMENSION,mxCabinetsDimension);function mxCabinetsDimensionBottom(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} mxUtils.extend(mxCabinetsDimensionBottom,mxShape);mxCabinetsDimensionBottom.prototype.cst={DIMENSION:"mxgraph.cabinets.dimensionBottom"};mxCabinetsDimensionBottom.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)}; mxCabinetsDimensionBottom.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,c-20);a.lineTo(b,c-20);a.moveTo(10,c-15);a.lineTo(0,c-20);a.lineTo(10,c-25);a.moveTo(b-10,c-15);a.lineTo(b,c-20);a.lineTo(b-10,c-25);a.moveTo(0,c-15);a.lineTo(0,0);a.moveTo(b,c-15);a.lineTo(b,0);a.stroke()};mxCellRenderer.registerShape(mxCabinetsDimensionBottom.prototype.cst.DIMENSION,mxCabinetsDimensionBottom); -function mxShapeDFDStart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDStart,mxShape);mxShapeDFDStart.prototype.cst={START:"mxgraph.dfd.start"};mxShapeDFDStart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(.5*c,.5*b);a.begin();a.moveTo(b-d,.5*c-d);a.arcTo(d,d,0,0,1,b,.5*c);a.arcTo(d,d,0,0,1,b-d,.5*c+d);a.lineTo(d,.5*c+d);a.arcTo(d,d,0,0,1,0,.5*c);a.arcTo(d,d,0,0,1,d,.5*c-d);a.close();a.fillAndStroke()}; -mxCellRenderer.registerShape(mxShapeDFDStart.prototype.cst.START,mxShapeDFDStart); +function mxShapeCisco19Rect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeCisco19Rect,mxShape);mxShapeCisco19Rect.prototype.cst={SHAPE_RECT:"mxgraph.cisco19.rect"}; +mxShapeCisco19Rect.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.state.style,"prIcon","l2_switch");mxUtils.getValue(this.state.style,"fillColor","#ffffff");var g=mxUtils.getValue(this.state.style,"strokeColor","#000000"),h="mxgraph.cisco19.bg1",k="router csr_1000v wireless_router l3_modular3 ucs_express router_with_voice router_with_firewall netflow_router secure_router ip_telephone_router asr_9000 clock vbond vmanage vsmart".split(" ");a.translate(d,e);["l2_modular", +"l3_modular","6500_vss","nexus_9500","nexus_7k"].includes(f)?h="mxgraph.cisco19.bg2":["l2_switch_with_dual_supervisor","l3_switch_with_dual_supervisor"].includes(f)?h="mxgraph.cisco19.bg3":["l2_modular2"].includes(f)?h="mxgraph.cisco19.bg4":["l3_modular2","6500_vss2","hypervisor","collab1"].includes(f)?h="mxgraph.cisco19.bg5":k.includes(f)?(a.begin(),"wireless_router"==f?a.ellipse(0,.17*c,b,.83*c):a.ellipse(0,0,b,c),a.fill()):"content_router;router_with_firewall2;netflow_router2;nam_virtual_service_blade;ucs_5108_blade_chassis;storage;nexus_1kv_vsm;nexus_1k;nexus_1010;dual mode access point;wireless_lan_controller;primary_codec;virtual_desktop_service;video_gateway;video_analytics;telepresence_exchange;meeting_scheduling_and_management_server;content_recording_streaming_server;communications_manager;cisco_unified_presence_service;cisco_unified_contact_center_enterprise_and_hosted;h323;monitor;telepresence_endpoint_twin_data_display;operations_manager;transcoder;contact_center_express;ip_ip_gateway;shield;set_top;da_encoder;ad_encoder;da_decoder;ad_decoder;acs;email_security;vpn_concentrator;ssl_terminator;cisco_security_manager;web_security;nac_appliance;ironport;ips_ids;firewall;asa_5500;flow_collector;load_balancer;web_application_firewall;analysis_correlation;flow_analytics;virtual_private_network2;web_security_services;web_security_services2;virtual_private_network_connector".split(";").includes(f)? +h="mxgraph.cisco19.bg6":["asr_1000"].includes(f)?h="mxgraph.cisco19.bg7":["fibre_channel_director_mds_9000","fibre_channel_fabric_switch"].includes(f)?h="mxgraph.cisco19.bg8":["ucs_c_series_server"].includes(f)?h="mxgraph.cisco19.bg9":["aci"].includes(f)?(d=mxStencilRegistry.getStencil("mxgraph.cisco19.acibg"),d.drawShape(a,this,.195*b,.195*c,.61*b,.61*c)):["immersive_telepresence_endpoint"].includes(f)&&(h="mxgraph.cisco19.bg10");k.includes(f)||"aci"==f||(d=mxStencilRegistry.getStencil(h),d.drawShape(a, +this,0,0,b,c));a.setShadow(!1);f=mxStencilRegistry.getStencil("mxgraph.cisco19."+f);a.setFillColor(g);null!=f&&f.drawShape(a,this,0,0,b,c)};mxCellRenderer.registerShape(mxShapeCisco19Rect.prototype.cst.SHAPE_RECT,mxShapeCisco19Rect); +mxShapeCisco19Rect.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(.825,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.175,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.16),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.84),!1));a.push(new mxConnectionConstraint(new mxPoint(.66,.17),!1));a.push(new mxConnectionConstraint(new mxPoint(.66,.83),!1));a.push(new mxConnectionConstraint(new mxPoint(.34,.17),!1));a.push(new mxConnectionConstraint(new mxPoint(.34, +.83),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,.33),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,.67),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,.33),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,.67),!1));return a};function mxShapeDFDStart(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDStart,mxShape);mxShapeDFDStart.prototype.cst={START:"mxgraph.dfd.start"}; +mxShapeDFDStart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(.5*c,.5*b);a.begin();a.moveTo(b-d,.5*c-d);a.arcTo(d,d,0,0,1,b,.5*c);a.arcTo(d,d,0,0,1,b-d,.5*c+d);a.lineTo(d,.5*c+d);a.arcTo(d,d,0,0,1,0,.5*c);a.arcTo(d,d,0,0,1,d,.5*c-d);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeDFDStart.prototype.cst.START,mxShapeDFDStart); mxShapeDFDStart.prototype.getConstraints=function(a,d,e){a=[];var b=Math.min(.5*e,.5*d);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.5),!1,null,0,-b));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,.5),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.293*b,.5*e-.707*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.293*b,.5*e-.707*b));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,d-.293*b,.5*e+.707*b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.293*b,.5*e+.707*b));d>=4*e&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1)));return a};function mxShapeDFDArchive(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1} mxUtils.extend(mxShapeDFDArchive,mxShape);mxShapeDFDArchive.prototype.cst={ARCHIVE:"mxgraph.dfd.archive"};mxShapeDFDArchive.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(.5*b,c);a.close();a.fillAndStroke();a.setShadow(!1);a.begin();a.moveTo(.1*b,.2*c);a.lineTo(.9*b,.2*c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDArchive.prototype.cst.ARCHIVE,mxShapeDFDArchive); @@ -2024,7 +2031,7 @@ mxShapeDFDCheck2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e) mxShapeDFDCheck2.prototype.getConstraints=function(a,d,e){a=[];var b=Math.min(.5*e,.5*d);a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,.25*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.25*e));a.push(new mxConnectionConstraint(new mxPoint(0, 0),!1,null,.5*b,.75*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*b,.75*e));d>e&&(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,e)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-b,e)));4*b<=d&&(a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(.25, 1),!1)),a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1)));return a};function mxShapeDFDDataStoreID(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDDataStoreID,mxShape);mxShapeDFDDataStoreID.prototype.cst={DATA_STORE_ID:"mxgraph.dfd.dataStoreID"}; -mxShapeDFDDataStoreID.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(b,c);a.lineTo(0,c);a.lineTo(0,0);a.lineTo(b,0);a.stroke();a.setShadow(!1);d=Math.min(30,b);a.begin();a.moveTo(d,0);a.lineTo(d,c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDDataStoreID.prototype.cst.DATA_STORE_ID,mxShapeDFDDataStoreID);mxShapeDFDDataStoreID.prototype.constraints=null; +mxShapeDFDDataStoreID.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(b,c);a.lineTo(0,c);a.lineTo(0,0);a.lineTo(b,0);a.fillAndStroke();a.setShadow(!1);d=Math.min(30,b);a.begin();a.moveTo(d,0);a.lineTo(d,c);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDDataStoreID.prototype.cst.DATA_STORE_ID,mxShapeDFDDataStoreID);mxShapeDFDDataStoreID.prototype.constraints=null; function mxShapeDFDExternalEntity(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeDFDExternalEntity,mxShape);mxShapeDFDExternalEntity.prototype.cst={EXTERNAL_ENTITY:"mxgraph.dfd.externalEntity"}; mxShapeDFDExternalEntity.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b-10,0);a.lineTo(b,10);a.lineTo(b,c);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillColor("#000000");a.setAlpha(.5);a.begin();a.moveTo(0,0);a.lineTo(b-10,0);a.lineTo(b,10);a.lineTo(10,10);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.fill();d=parseFloat(mxUtils.getValue(this.style,"opacity","100"));a.setAlpha(d/100);a.begin();a.moveTo(0,0);a.lineTo(b- 10,0);a.lineTo(b,10);a.lineTo(b,c);a.lineTo(10,c);a.lineTo(0,c-10);a.close();a.moveTo(10,c);a.lineTo(10,10);a.lineTo(b,10);a.moveTo(0,0);a.lineTo(10,10);a.stroke()};mxCellRenderer.registerShape(mxShapeDFDExternalEntity.prototype.cst.EXTERNAL_ENTITY,mxShapeDFDExternalEntity); @@ -2378,8 +2385,8 @@ mxShapeInfographicFlag.prototype.getConstraints=function(a,d,e){a=[];var b=Math. mxShapeKubernetesIcon.prototype.customProperties=[{name:"prIcon",dispName:"",defVal:"api",type:"API",enumList:[{val:"c_c_m",dispName:"C-C-M"},{val:"c_m",dispName:"C-M"},{val:"c_role",dispName:"C-Role"},{val:"cm",dispName:"CM"},{val:"crb",dispName:"CRB"},{val:"crd",dispName:"CRD"},{val:"cronjob",dispName:"Cronjob"},{val:"deploy",dispName:"Deploy"},{val:"ds",dispName:"DS"},{val:"ep",dispName:"EP"},{val:"etcd",dispName:"ETCD"},{val:"group",dispName:"Group"},{val:"hpa",dispName:"HPA"},{val:"ing",dispName:"ING"}, {val:"job",dispName:"Job"},{val:"k_proxy",dispName:"K-Proxy"},{val:"kubelet",dispName:"Kubelet"},{val:"limits",dispName:"Limits"},{val:"master",dispName:"Master"},{val:"netpol",dispName:"Netpol"},{val:"node",dispName:"Node"},{val:"ns",dispName:"NS"},{val:"pod",dispName:"Pod"},{val:"psp",dispName:"PSP"},{val:"pv",dispName:"PV"},{val:"pvc",dispName:"PVC"},{val:"quota",dispName:"Quota"},{val:"rb",dispName:"RB"},{val:"role",dispName:"Role"},{val:"rs",dispName:"RS"},{val:"sa",dispName:"SA"},{val:"sc", dispName:"SC"},{val:"sched",dispName:"Sched"},{val:"secret",dispName:"Secret"},{val:"sts",dispName:"STS"},{val:"svc",dispName:"SVC"},{val:"user",dispName:"User"},{val:"vol",dispName:"Vol"}]}]; -mxShapeKubernetesIcon.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.state.style,"prIcon",""),g=mxUtils.getValue(this.state.style,"fillColor","#ffffff"),h=mxUtils.getValue(this.state.style,"strokeColor","#ffffff");a.translate(d,e);d=mxStencilRegistry.getStencil("mxgraph.kubernetes.frame");a.setFillColor(h);d.drawShape(a,this,0,0,b,c);a.setFillColor(g);d.drawShape(a,this,.03*b,.03*c,.94*b,.94*c);f=mxStencilRegistry.getStencil("mxgraph.kubernetes."+f);a.setFillColor(h);f.drawShape(a, -this,.2*b,.2*c,.6*b,.6*c)};mxCellRenderer.registerShape(mxShapeKubernetesIcon.prototype.cst.ICON,mxShapeKubernetesIcon);mxShapeKubernetesIcon.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a};function mxLeanBoatShipment(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanBoatShipment,mxShape); +mxShapeKubernetesIcon.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.state.style,"prIcon",""),g=mxUtils.getValue(this.state.style,"fillColor","#ffffff"),h=mxUtils.getValue(this.state.style,"strokeColor","#ffffff");a.translate(d,e);d=mxStencilRegistry.getStencil("mxgraph.kubernetes.frame");a.setFillColor(h);d.drawShape(a,this,0,0,b,c);a.setFillColor(g);d.drawShape(a,this,.03*b,.03*c,.94*b,.94*c);f=mxStencilRegistry.getStencil("mxgraph.kubernetes."+f);null!=f&&(a.setFillColor(h), +f.drawShape(a,this,.2*b,.2*c,.6*b,.6*c))};mxCellRenderer.registerShape(mxShapeKubernetesIcon.prototype.cst.ICON,mxShapeKubernetesIcon);mxShapeKubernetesIcon.prototype.getConstraints=function(a,d,e){a=[];a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));return a};function mxLeanBoatShipment(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanBoatShipment,mxShape); mxLeanBoatShipment.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(.15*b,.77*c);a.lineTo(.5*b,0);a.lineTo(.85*b,.77*c);a.close();a.moveTo(.2*b,c);a.lineTo(0,.8*c);a.lineTo(b,.8*c);a.lineTo(.8*b,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.lean_mapping.boat_shipment",mxLeanBoatShipment); mxLeanBoatShipment.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1),new mxConnectionConstraint(new mxPoint(0,.8),!1),new mxConnectionConstraint(new mxPoint(1,.8),!1),new mxConnectionConstraint(new mxPoint(.2,1),!1),new mxConnectionConstraint(new mxPoint(.8,1),!1),new mxConnectionConstraint(new mxPoint(.26,.5),!1),new mxConnectionConstraint(new mxPoint(.74,.5),!1)]; function mxLeanSafetyStock(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxLeanSafetyStock,mxShape);mxLeanSafetyStock.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};mxLeanSafetyStock.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()}; diff --git a/src/main/webapp/js/stencils.min.js b/src/main/webapp/js/stencils.min.js index 4150ab562..1143a103b 100644 --- a/src/main/webapp/js/stencils.min.js +++ b/src/main/webapp/js/stencils.min.js @@ -58,6 +58,7 @@ f['office/services.xml'] = '5L3bsh3HkSX4NXysbXGPzEe1umvmYbqnbGRj/QxRkEQrCqABlIr4 f['office/users.xml'] = '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'; f['office/databases.xml'] = '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'; f['office/security.xml'] = '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'; +f['cisco19.xml'] = '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'; f['cisco/wireless.xml'] = '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'; f['cisco/servers.xml'] = '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'; f['cisco/buildings.xml'] = '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'; diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js index 073804f47..ac823390c 100644 --- a/src/main/webapp/js/viewer.min.js +++ b/src/main/webapp/js/viewer.min.js @@ -229,19 +229,19 @@ a.mxListenerList.length&&(a.mxListenerList=null)}};return window.removeEventList "mousemove",c);null!=d&&mxEvent.addListener(a,mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.addListener(a,"touchstart",b),null!=c&&mxEvent.addListener(a,"touchmove",c),null!=d&&mxEvent.addListener(a,"touchend",d))},removeGestureListeners:function(a,b,c,d){null!=b&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",b);null!=c&&mxEvent.removeListener(a,mxClient.IS_POINTER?"pointermove":"mousemove",c);null!=d&&mxEvent.removeListener(a, mxClient.IS_POINTER?"pointerup":"mouseup",d);!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(null!=b&&mxEvent.removeListener(a,"touchstart",b),null!=c&&mxEvent.removeListener(a,"touchmove",c),null!=d&&mxEvent.removeListener(a,"touchend",d))},redirectMouseEvents:function(a,b,c,d,e,f,g){var k=function(a){return"function"==typeof c?c(a):c};mxEvent.addGestureListeners(a,function(a){null!=d?d(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(a,k(a)))},function(a){null!=e?e(a):mxEvent.isConsumed(a)|| b.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(a,k(a)))},function(a){null!=f?f(a):mxEvent.isConsumed(a)||b.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(a,k(a)))});mxEvent.addListener(a,"dblclick",function(a){if(null!=g)g(a);else if(!mxEvent.isConsumed(a)){var c=k(a);b.dblClick(a,null!=c?c.cell:null)}})},release:function(a){try{if(null!=a){mxEvent.removeAllListeners(a);var b=a.childNodes;if(null!=b){var c=b.length;for(a=0;a<c;a+=1)mxEvent.release(b[a])}}}catch(d){}},addMouseWheelListener:function(a, -b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);var c;b.ctrlKey&&b.preventDefault();c=-b.deltaY;.5<Math.abs(c)&&a(b,0<c)})}},disableContextMenu:function(a){mxEvent.addListener(a, -"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!=a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN: -null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"==a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which: -1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a?a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1}, -isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!=c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()): -c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize",NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close", -DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done",EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit", -END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells",CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled", -ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge",START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped", -ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null;mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1; -mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState}; -mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null}; -mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}(); +b){if(null!=a){b=null!=b?b:window;if(mxClient.IS_SF&&!mxClient.IS_TOUCH){var c=1;mxEvent.addListener(b,"gesturestart",function(a){mxEvent.consume(a);c=1});mxEvent.addListener(b,"gesturechange",function(b){mxEvent.consume(b);var d=c-b.scale;.2<Math.abs(d)&&(a(b,0>d,!0),c=b.scale)});mxEvent.addListener(b,"gestureend",function(a){mxEvent.consume(a)})}mxEvent.addListener(b,"wheel",function(b){null==b&&(b=window.event);b.ctrlKey&&b.preventDefault();(.5<Math.abs(b.deltaX)||.5<Math.abs(b.deltaY))&&a(b,0== +b.deltaY?0<-b.deltaX:0<-b.deltaY)})}},disableContextMenu:function(a){mxEvent.addListener(a,"contextmenu",function(a){a.preventDefault&&a.preventDefault();return!1})},getSource:function(a){return null!=a.srcElement?a.srcElement:a.target},isConsumed:function(a){return null!=a.isConsumed&&a.isConsumed},isTouchEvent:function(a){return null!=a.pointerType?"touch"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_TOUCH:null!=a.mozInputSource?5==a.mozInputSource:0==a.type.indexOf("touch")},isPenEvent:function(a){return null!= +a.pointerType?"pen"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_PEN:null!=a.mozInputSource?2==a.mozInputSource:0==a.type.indexOf("pen")},isMultiTouchEvent:function(a){return null!=a.type&&0==a.type.indexOf("touch")&&null!=a.touches&&1<a.touches.length},isMouseEvent:function(a){return null!=a.pointerType?"mouse"==a.pointerType||a.pointerType===a.MSPOINTER_TYPE_MOUSE:null!=a.mozInputSource?1==a.mozInputSource:0==a.type.indexOf("mouse")},isLeftMouseButton:function(a){return"buttons"in a&&("mousedown"== +a.type||"mousemove"==a.type)?1==a.buttons:"which"in a?1===a.which:1===a.button},isMiddleMouseButton:function(a){return"which"in a?2===a.which:4===a.button},isRightMouseButton:function(a){return"which"in a?3===a.which:2===a.button},isPopupTrigger:function(a){return mxEvent.isRightMouseButton(a)||mxClient.IS_MAC&&mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)&&!mxEvent.isMetaDown(a)&&!mxEvent.isAltDown(a)},isShiftDown:function(a){return null!=a?a.shiftKey:!1},isAltDown:function(a){return null!=a? +a.altKey:!1},isControlDown:function(a){return null!=a?a.ctrlKey:!1},isMetaDown:function(a){return null!=a?a.metaKey:!1},getMainEvent:function(a){"touchstart"!=a.type&&"touchmove"!=a.type||null==a.touches||null==a.touches[0]?"touchend"==a.type&&null!=a.changedTouches&&null!=a.changedTouches[0]&&(a=a.changedTouches[0]):a=a.touches[0];return a},getClientX:function(a){return mxEvent.getMainEvent(a).clientX},getClientY:function(a){return mxEvent.getMainEvent(a).clientY},consume:function(a,b,c){c=null!= +c?c:!0;if(null!=b?b:1)a.preventDefault?(c&&a.stopPropagation(),a.preventDefault()):c&&(a.cancelBubble=!0);a.isConsumed=!0;a.preventDefault||(a.returnValue=!1)},LABEL_HANDLE:-1,ROTATION_HANDLE:-2,CUSTOM_HANDLE:-100,VIRTUAL_HANDLE:-1E5,MOUSE_DOWN:"mouseDown",MOUSE_MOVE:"mouseMove",MOUSE_UP:"mouseUp",ACTIVATE:"activate",RESIZE_START:"resizeStart",RESIZE:"resize",RESIZE_END:"resizeEnd",MOVE_START:"moveStart",MOVE:"move",MOVE_END:"moveEnd",PAN_START:"panStart",PAN:"pan",PAN_END:"panEnd",MINIMIZE:"minimize", +NORMALIZE:"normalize",MAXIMIZE:"maximize",HIDE:"hide",SHOW:"show",CLOSE:"close",DESTROY:"destroy",REFRESH:"refresh",SIZE:"size",SELECT:"select",FIRED:"fired",FIRE_MOUSE_EVENT:"fireMouseEvent",GESTURE:"gesture",TAP_AND_HOLD:"tapAndHold",GET:"get",RECEIVE:"receive",CONNECT:"connect",DISCONNECT:"disconnect",SUSPEND:"suspend",RESUME:"resume",MARK:"mark",ROOT:"root",POST:"post",OPEN:"open",SAVE:"save",BEFORE_ADD_VERTEX:"beforeAddVertex",ADD_VERTEX:"addVertex",AFTER_ADD_VERTEX:"afterAddVertex",DONE:"done", +EXECUTE:"execute",EXECUTED:"executed",BEGIN_UPDATE:"beginUpdate",START_EDIT:"startEdit",END_UPDATE:"endUpdate",END_EDIT:"endEdit",BEFORE_UNDO:"beforeUndo",UNDO:"undo",REDO:"redo",CHANGE:"change",NOTIFY:"notify",LAYOUT_CELLS:"layoutCells",CLICK:"click",SCALE:"scale",TRANSLATE:"translate",SCALE_AND_TRANSLATE:"scaleAndTranslate",UP:"up",DOWN:"down",ADD:"add",REMOVE:"remove",CLEAR:"clear",ADD_CELLS:"addCells",CELLS_ADDED:"cellsAdded",MOVE_CELLS:"moveCells",CELLS_MOVED:"cellsMoved",RESIZE_CELLS:"resizeCells", +CELLS_RESIZED:"cellsResized",TOGGLE_CELLS:"toggleCells",CELLS_TOGGLED:"cellsToggled",ORDER_CELLS:"orderCells",CELLS_ORDERED:"cellsOrdered",REMOVE_CELLS:"removeCells",CELLS_REMOVED:"cellsRemoved",GROUP_CELLS:"groupCells",UNGROUP_CELLS:"ungroupCells",REMOVE_CELLS_FROM_PARENT:"removeCellsFromParent",FOLD_CELLS:"foldCells",CELLS_FOLDED:"cellsFolded",ALIGN_CELLS:"alignCells",LABEL_CHANGED:"labelChanged",CONNECT_CELL:"connectCell",CELL_CONNECTED:"cellConnected",SPLIT_EDGE:"splitEdge",FLIP_EDGE:"flipEdge", +START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"editingStopped",ADD_OVERLAY:"addOverlay",REMOVE_OVERLAY:"removeOverlay",UPDATE_CELL_SIZE:"updateCellSize",ESCAPE:"escape",DOUBLE_CLICK:"doubleClick",START:"start",RESET:"reset"};function mxXmlRequest(a,b,c,d,e,f){this.url=a;this.params=b;this.method=c||"POST";this.async=null!=d?d:!0;this.username=e;this.password=f}mxXmlRequest.prototype.url=null;mxXmlRequest.prototype.params=null;mxXmlRequest.prototype.method=null; +mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText}; +mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText}; +mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}(); mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&& window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}; mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+ @@ -1521,15 +1521,15 @@ mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.ge mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()}; function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b= -c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e), -mxEvent.consume(b))}}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0; -mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0; -mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a};mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a}; -mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())}; +c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup", +this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0; +mxPanningHandler.prototype.maxScale=8;mxPanningHandler.prototype.minScale=.01;mxPanningHandler.prototype.dx=null;mxPanningHandler.prototype.dy=null;mxPanningHandler.prototype.startX=0;mxPanningHandler.prototype.startY=0;mxPanningHandler.prototype.isActive=function(){return this.active||null!=this.initialScale};mxPanningHandler.prototype.isPanningEnabled=function(){return this.panningEnabled};mxPanningHandler.prototype.setPanningEnabled=function(a){this.panningEnabled=a}; +mxPanningHandler.prototype.isPinchEnabled=function(){return this.pinchEnabled};mxPanningHandler.prototype.setPinchEnabled=function(a){this.pinchEnabled=a};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return this.useLeftButtonForPanning&&null==a.getState()&&mxEvent.isLeftMouseButton(b)||mxEvent.isControlDown(b)&&mxEvent.isShiftDown(b)||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};mxPanningHandler.prototype.isForcePanningEvent=function(a){return this.ignoreCell||mxEvent.isMultiTouchEvent(a.getEvent())}; mxPanningHandler.prototype.mouseDown=function(a,b){this.mouseDownEvent=b;!b.isConsumed()&&this.isPanningEnabled()&&!this.active&&this.isPanningTrigger(b)&&(this.start(b),this.consumePanningTrigger(b))};mxPanningHandler.prototype.start=function(a){this.dx0=-this.graph.container.scrollLeft;this.dy0=-this.graph.container.scrollTop;this.startX=a.getX();this.startY=a.getY();this.dy=this.dx=null;this.panningTrigger=!0};mxPanningHandler.prototype.consumePanningTrigger=function(a){a.consume()}; mxPanningHandler.prototype.mouseMove=function(a,b){this.dx=b.getX()-this.startX;this.dy=b.getY()-this.startY;if(this.active)this.previewEnabled&&(this.useGrid&&(this.dx=this.graph.snap(this.dx),this.dy=this.graph.snap(this.dy)),this.graph.panGraph(this.dx+this.dx0,this.dy+this.dy0)),this.fireEvent(new mxEventObject(mxEvent.PAN,"event",b));else if(this.panningTrigger){var c=this.active;this.active=Math.abs(this.dx)>this.graph.tolerance||Math.abs(this.dy)>this.graph.tolerance;!c&&this.active&&this.fireEvent(new mxEventObject(mxEvent.PAN_START, "event",b))}(this.active||this.panningTrigger)&&b.consume()};mxPanningHandler.prototype.mouseUp=function(a,b){if(this.active){if(null!=this.dx&&null!=this.dy){if(!this.graph.useScrollbarsForPanning||!mxUtils.hasScrollbars(this.graph.container)){var c=this.graph.getView().scale,d=this.graph.getView().translate;this.graph.panGraph(0,0);this.panGraph(d.x+this.dx/c,d.y+this.dy/c)}b.consume()}this.fireEvent(new mxEventObject(mxEvent.PAN_END,"event",b))}this.reset()}; -mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)};mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; +mxPanningHandler.prototype.zoomGraph=function(a){var b=Math.round(this.initialScale*a.scale*100)/100;null!=this.minScale&&(b=Math.max(this.minScale,b));null!=this.maxScale&&(b=Math.min(this.maxScale,b));this.graph.view.scale!=b&&(this.graph.zoomTo(b),mxEvent.consume(a))};mxPanningHandler.prototype.reset=function(){this.panningTrigger=!1;this.mouseDownEvent=null;this.active=!1;this.dy=this.dx=null};mxPanningHandler.prototype.panGraph=function(a,b){this.graph.getView().setTranslate(a,b)}; +mxPanningHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.forcePanningHandler);this.graph.removeListener(this.gestureHandler);mxEvent.removeListener(document,"mouseup",this.mouseUpListener)}; function mxPopupMenuHandler(a,b){null!=a&&(this.graph=a,this.factoryMethod=b,this.graph.addMouseListener(this),this.gestureHandler=mxUtils.bind(this,function(a,b){this.inTolerance=!1}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.init())}mxPopupMenuHandler.prototype=new mxPopupMenu;mxPopupMenuHandler.prototype.constructor=mxPopupMenuHandler;mxPopupMenuHandler.prototype.graph=null;mxPopupMenuHandler.prototype.selectOnPopup=!0; mxPopupMenuHandler.prototype.clearSelectionOnBackground=!0;mxPopupMenuHandler.prototype.triggerX=null;mxPopupMenuHandler.prototype.triggerY=null;mxPopupMenuHandler.prototype.screenX=null;mxPopupMenuHandler.prototype.screenY=null;mxPopupMenuHandler.prototype.init=function(){mxPopupMenu.prototype.init.apply(this);mxEvent.addGestureListeners(this.div,mxUtils.bind(this,function(a){this.graph.tooltipHandler.hide()}))};mxPopupMenuHandler.prototype.isSelectOnPopup=function(a){return this.selectOnPopup}; mxPopupMenuHandler.prototype.mouseDown=function(a,b){this.isEnabled()&&!mxEvent.isMultiTouchEvent(b.getEvent())&&(this.hideMenu(),this.triggerX=b.getGraphX(),this.triggerY=b.getGraphY(),this.screenX=mxEvent.getMainEvent(b.getEvent()).screenX,this.screenY=mxEvent.getMainEvent(b.getEvent()).screenY,this.popupTrigger=this.isPopupTrigger(b),this.inTolerance=!0)}; @@ -1991,8 +1991,8 @@ x.style.color=.5>.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]?"#FFF":"#000 this.rgb[1]=b;var e=null===c?this.rgb[2]:this.rgb[2]=c,f=Math.min(Math.min(a,b),e);c=Math.max(Math.max(a,b),e);var g=c-f;0===g?a=[null,0,c]:(a=a===f?3+(e-b)/g:b===f?5+(a-e)/g:1+(b-a)/g,a=[6===a?0:a,g/c,c]);null!==a[0]&&(this.hsv[0]=a[0]);0!==a[2]&&(this.hsv[1]=a[1]);this.hsv[2]=a[2];this.exportColor(d)};this.fromString=function(a,b){var c=a.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return c?(6===c[1].length?this.fromRGB(parseInt(c[1].substr(0,2),16)/255,parseInt(c[1].substr(2,2),16)/255,parseInt(c[1].substr(4, 2),16)/255,b):this.fromRGB(parseInt(c[1].charAt(0)+c[1].charAt(0),16)/255,parseInt(c[1].charAt(1)+c[1].charAt(1),16)/255,parseInt(c[1].charAt(2)+c[1].charAt(2),16)/255,b),!0):!1};this.toString=function(){return(256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1)};var r=this,t="hvs"===this.pickerMode.toLowerCase()?1:0,u=jscolor.fetchElement(this.valueElement),x=jscolor.fetchElement(this.styleElement), y=!1,A=!1,z=1,v=2,B=4,C=8;u&&(q=function(){r.fromString(u.value,z);p()},jscolor.addEvent(u,"keyup",q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}this.importColor()}};jscolor.install(); -Editor=function(a,b,e,d,k){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=d||this.createGraph(b,e);this.editable=null!=k?k:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus= -function(){return this.status};this.graphChangeListener=function(a,b){var d=null!=b?b.getProperty("edit"):null;null!=d&&d.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0; +Editor=function(a,b,e,c,l){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=c||this.createGraph(b,e);this.editable=null!=l?l:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus= +function(){return this.status};this.graphChangeListener=function(a,b){var c=null!=b?b.getProperty("edit"):null;null!=c&&c.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0; (function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter)&&a.opener!=a;)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(b){}})();Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS; Editor.helpImage=mxClient.IS_SVG?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTExIDE4aDJ2LTJoLTJ2MnptMS0xNkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6bTAtMTRjLTIuMjEgMC00IDEuNzktNCA0aDJjMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIDItMyAxLjc1LTMgNWgyYzAtMi4yNSAzLTIuNSAzLTUgMC0yLjIxLTEuNzktNC00LTR6Ii8+PC9zdmc+":IMAGE_PATH+ "/help.png"; @@ -2028,14 +2028,14 @@ Editor.prototype.getGraphXml=function(a){a=(null!=a?a:1)?(new mxCodec(mxUtils.cr this.graph.gridSize);a.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");a.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");a.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");a.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");a.setAttribute("fold",this.graph.foldingEnabled?"1":"0");a.setAttribute("page",this.graph.pageVisible?"1":"0");a.setAttribute("pageScale",this.graph.pageScale);a.setAttribute("pageWidth",this.graph.pageFormat.width); a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&a.setAttribute("background",this.graph.background);return a};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":this.defaultGraphOverflow,this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a}; Editor.prototype.setFilename=function(a){this.filename=a}; -Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(b,e){var d=a.getSelectionCellsForChanges(e.getProperty("edit").changes);a.getModel();for(var k=[],u=0;u<d.length;u++)null!=a.view.getState(d[u])&&k.push(d[u]);a.setSelectionCells(k)}; +Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(b,e){var c=a.getSelectionCellsForChanges(e.getProperty("edit").changes);a.getModel();for(var l=[],u=0;u<c.length;u++)null!=a.view.getState(c[u])&&l.push(c[u]);a.setSelectionCells(l)}; b.addListener(mxEvent.UNDO,e);b.addListener(mxEvent.REDO,e);return b};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()};OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)}; OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)}; -function Dialog(a,b,e,d,k,m,p,u,y,B,c){var f=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(f=80);e+=f;d+=f;var g=e,q=d,n=mxUtils.getDocumentSize(),l=n.height,A=Math.max(1,Math.round((n.width-e-64)/2)),x=Math.max(1,Math.round((l-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=null!=document.body?Math.min(e,document.body.scrollWidth-64):e;d=Math.min(d,l-64);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=l+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));n=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=n.x+"px";this.bg.style.top=n.y+"px";A+=n.x;x+=n.y;k&&document.body.appendChild(this.bg);var t=a.createDiv(y?"geTransDialog":"geDialog");k=this.getPosition(A,x,e,d);A=k.x;x=k.y;t.style.width= -e+"px";t.style.height=d+"px";t.style.left=A+"px";t.style.top=x+"px";t.style.zIndex=this.zIndex;t.appendChild(b);document.body.appendChild(t);!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");if(m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=x+14+"px",m.style.left=A+e+38-f+"px",m.style.zIndex=this.zIndex,mxEvent.addListener(m,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})), -document.body.appendChild(m),this.dialogImg=m,!c)){var F=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){F=!0}),null,mxUtils.bind(this,function(c){F&&(a.hideDialog(!0),F=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=B){var c=B();null!=c&&(g=e=c.w,q=d=c.h)}c=mxUtils.getDocumentSize();l=c.height;this.bg.style.height=l+"px";A=Math.max(1,Math.round((c.width-e-64)/2));x=Math.max(1,Math.round((l-d-a.footerHeight)/3));e=null!=document.body?Math.min(g,document.body.scrollWidth- -64):g;d=Math.min(q,l-64);c=this.getPosition(A,x,e,d);A=c.x;x=c.y;t.style.left=A+"px";t.style.top=x+"px";t.style.width=e+"px";t.style.height=d+"px";!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=x+14+"px",this.dialogImg.style.left=A+e+38-f+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=t;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; +function Dialog(a,b,e,c,l,m,p,u,z,B,d){var f=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(f=80);e+=f;c+=f;var k=e,q=c,n=mxUtils.getDocumentSize(),g=n.height,A=Math.max(1,Math.round((n.width-e-64)/2)),x=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=null!=document.body?Math.min(e,document.body.scrollWidth-64):e;c=Math.min(c,g-64);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=g+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));n=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=n.x+"px";this.bg.style.top=n.y+"px";A+=n.x;x+=n.y;l&&document.body.appendChild(this.bg);var t=a.createDiv(z?"geTransDialog":"geDialog");l=this.getPosition(A,x,e,c);A=l.x;x=l.y;t.style.width= +e+"px";t.style.height=c+"px";t.style.left=A+"px";t.style.top=x+"px";t.style.zIndex=this.zIndex;t.appendChild(b);document.body.appendChild(t);!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");if(m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=x+14+"px",m.style.left=A+e+38-f+"px",m.style.zIndex=this.zIndex,mxEvent.addListener(m,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})), +document.body.appendChild(m),this.dialogImg=m,!d)){var E=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){E=!0}),null,mxUtils.bind(this,function(d){E&&(a.hideDialog(!0),E=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=B){var d=B();null!=d&&(k=e=d.w,q=c=d.h)}d=mxUtils.getDocumentSize();g=d.height;this.bg.style.height=g+"px";A=Math.max(1,Math.round((d.width-e-64)/2));x=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=null!=document.body?Math.min(k,document.body.scrollWidth- +64):k;c=Math.min(q,g-64);d=this.getPosition(A,x,e,c);A=d.x;x=d.y;t.style.left=A+"px";t.style.top=x+"px";t.style.width=e+"px";t.style.height=c+"px";!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=x+14+"px",this.dialogImg.style.left=A+e+38-f+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=t;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -2045,159 +2045,159 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA "/locked.png"; Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,b))return!1;this.onDialogClose=null}null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; -var ErrorDialog=function(a,b,e,d,k,m,p,u,y,B,c){y=null!=y?y:!0;var f=document.createElement("div");f.style.textAlign="center";if(null!=b){var g=document.createElement("div");g.style.padding="0px";g.style.margin="0px";g.style.fontSize="18px";g.style.paddingBottom="16px";g.style.marginBottom="10px";g.style.borderBottom="1px solid #c0c0c0";g.style.color="gray";g.style.whiteSpace="nowrap";g.style.textOverflow="ellipsis";g.style.overflow="hidden";mxUtils.write(g,b);g.setAttribute("title",b);f.appendChild(g)}b= -document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=e;f.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=m&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();m()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=B&&(B=mxUtils.button(B,function(){null!=c&&c()}),B.className="geBtn",e.appendChild(B));var q=mxUtils.button(d,function(){y&&a.hideDialog();null!=k&&k()}); -q.className="geBtn";e.appendChild(q);null!=p&&(d=mxUtils.button(p,function(){y&&a.hideDialog();null!=u&&u()}),d.className="geBtn gePrimaryBtn",e.appendChild(d));this.init=function(){q.focus()};f.appendChild(e);this.container=f},PrintDialog=function(a,b){this.create(a,b)}; -PrintDialog.prototype.create=function(a){function b(a){var b=u.checked||B.checked,d=parseInt(f.value)/100;isNaN(d)&&(d=1,f.value="100%");var d=.75*d,g=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,q=1/e.pageScale;if(b){var t=u.checked?1:parseInt(c.value);isNaN(t)||(q=mxUtils.getScaleForPageCount(t,e,g))}e.getGraphBounds();var k=t=0,g=mxRectangle.fromRectangle(g);g.width=Math.ceil(g.width*d);g.height=Math.ceil(g.height*d);q*=d;!b&&e.pageVisible?(d=e.getPageLayout(),t-=d.x*g.width,k-=d.y*g.height): -b=!0;b=PrintDialog.createPrintPreview(e,q,g,0,t,k,b);b.open();a&&PrintDialog.printPreview(b)}var e=a.editor.graph,d,k,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var p=document.createElement("tbody");d=document.createElement("tr");var u=document.createElement("input");u.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(u);var y=document.createElement("span");mxUtils.write(y," "+mxResources.get("fitPage")); -k.appendChild(y);mxEvent.addListener(y,"click",function(a){u.checked=!u.checked;B.checked=!u.checked;mxEvent.consume(a)});mxEvent.addListener(u,"change",function(){B.checked=!u.checked});d.appendChild(k);p.appendChild(d);d=d.cloneNode(!1);var B=document.createElement("input");B.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(B);y=document.createElement("span");mxUtils.write(y," "+mxResources.get("posterPrint")+":");k.appendChild(y);mxEvent.addListener(y, -"click",function(a){B.checked=!B.checked;u.checked=!B.checked;mxEvent.consume(a)});d.appendChild(k);var c=document.createElement("input");c.setAttribute("value","1");c.setAttribute("type","number");c.setAttribute("min","1");c.setAttribute("size","4");c.setAttribute("disabled","disabled");c.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(c);mxUtils.write(k," "+mxResources.get("pages")+" (max)");d.appendChild(k);p.appendChild(d);mxEvent.addListener(B,"change", -function(){B.checked?c.removeAttribute("disabled"):c.setAttribute("disabled","disabled");u.checked=!B.checked});d=d.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");d.appendChild(k);k=document.createElement("td");var f=document.createElement("input");f.setAttribute("value","100 %");f.setAttribute("size","5");f.style.width="50px";k.appendChild(f);d.appendChild(k);p.appendChild(d);d=document.createElement("tr");k=document.createElement("td");k.colSpan=2; -k.style.paddingTop="20px";k.setAttribute("align","right");y=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});y.className="geBtn";a.editor.cancelFirst&&k.appendChild(y);if(PrintDialog.previewEnabled){var g=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});g.className="geBtn";k.appendChild(g)}g=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});g.className="geBtn gePrimaryBtn";k.appendChild(g);a.editor.cancelFirst|| -k.appendChild(y);d.appendChild(k);p.appendChild(d);m.appendChild(p);this.container=m};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}catch(e){}}; -PrintDialog.createPrintPreview=function(a,b,e,d,k,m,p){b=new mxPrintPreview(a,b,e,d,k,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var u=b.writeHead;b.writeHead=function(a){u.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b}; +var ErrorDialog=function(a,b,e,c,l,m,p,u,z,B,d){z=null!=z?z:!0;var f=document.createElement("div");f.style.textAlign="center";if(null!=b){var k=document.createElement("div");k.style.padding="0px";k.style.margin="0px";k.style.fontSize="18px";k.style.paddingBottom="16px";k.style.marginBottom="10px";k.style.borderBottom="1px solid #c0c0c0";k.style.color="gray";k.style.whiteSpace="nowrap";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxUtils.write(k,b);k.setAttribute("title",b);f.appendChild(k)}b= +document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=e;f.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=m&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();m()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=B&&(B=mxUtils.button(B,function(){null!=d&&d()}),B.className="geBtn",e.appendChild(B));var q=mxUtils.button(c,function(){z&&a.hideDialog();null!=l&&l()}); +q.className="geBtn";e.appendChild(q);null!=p&&(c=mxUtils.button(p,function(){z&&a.hideDialog();null!=u&&u()}),c.className="geBtn gePrimaryBtn",e.appendChild(c));this.init=function(){q.focus()};f.appendChild(e);this.container=f},PrintDialog=function(a,b){this.create(a,b)}; +PrintDialog.prototype.create=function(a){function b(a){var b=u.checked||B.checked,c=parseInt(f.value)/100;isNaN(c)&&(c=1,f.value="100%");var c=.75*c,k=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,q=1/e.pageScale;if(b){var t=u.checked?1:parseInt(d.value);isNaN(t)||(q=mxUtils.getScaleForPageCount(t,e,k))}e.getGraphBounds();var l=t=0,k=mxRectangle.fromRectangle(k);k.width=Math.ceil(k.width*c);k.height=Math.ceil(k.height*c);q*=c;!b&&e.pageVisible?(c=e.getPageLayout(),t-=c.x*k.width,l-=c.y*k.height): +b=!0;b=PrintDialog.createPrintPreview(e,q,k,0,t,l,b);b.open();a&&PrintDialog.printPreview(b)}var e=a.editor.graph,c,l,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var p=document.createElement("tbody");c=document.createElement("tr");var u=document.createElement("input");u.setAttribute("type","checkbox");l=document.createElement("td");l.setAttribute("colspan","2");l.style.fontSize="10pt";l.appendChild(u);var z=document.createElement("span");mxUtils.write(z," "+mxResources.get("fitPage")); +l.appendChild(z);mxEvent.addListener(z,"click",function(a){u.checked=!u.checked;B.checked=!u.checked;mxEvent.consume(a)});mxEvent.addListener(u,"change",function(){B.checked=!u.checked});c.appendChild(l);p.appendChild(c);c=c.cloneNode(!1);var B=document.createElement("input");B.setAttribute("type","checkbox");l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(B);z=document.createElement("span");mxUtils.write(z," "+mxResources.get("posterPrint")+":");l.appendChild(z);mxEvent.addListener(z, +"click",function(a){B.checked=!B.checked;u.checked=!B.checked;mxEvent.consume(a)});c.appendChild(l);var d=document.createElement("input");d.setAttribute("value","1");d.setAttribute("type","number");d.setAttribute("min","1");d.setAttribute("size","4");d.setAttribute("disabled","disabled");d.style.width="50px";l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(d);mxUtils.write(l," "+mxResources.get("pages")+" (max)");c.appendChild(l);p.appendChild(c);mxEvent.addListener(B,"change", +function(){B.checked?d.removeAttribute("disabled"):d.setAttribute("disabled","disabled");u.checked=!B.checked});c=c.cloneNode(!1);l=document.createElement("td");mxUtils.write(l,mxResources.get("pageScale")+":");c.appendChild(l);l=document.createElement("td");var f=document.createElement("input");f.setAttribute("value","100 %");f.setAttribute("size","5");f.style.width="50px";l.appendChild(f);c.appendChild(l);p.appendChild(c);c=document.createElement("tr");l=document.createElement("td");l.colSpan=2; +l.style.paddingTop="20px";l.setAttribute("align","right");z=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});z.className="geBtn";a.editor.cancelFirst&&l.appendChild(z);if(PrintDialog.previewEnabled){var k=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});k.className="geBtn";l.appendChild(k)}k=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});k.className="geBtn gePrimaryBtn";l.appendChild(k);a.editor.cancelFirst|| +l.appendChild(z);c.appendChild(l);p.appendChild(c);m.appendChild(p);this.container=m};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}catch(e){}}; +PrintDialog.createPrintPreview=function(a,b,e,c,l,m,p){b=new mxPrintPreview(a,b,e,c,l,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var u=b.writeHead;b.writeHead=function(a){u.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function b(){null==c||c==mxConstants.NONE?(B.style.backgroundColor="",B.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(B.style.backgroundColor=c,B.style.backgroundImage="")}function e(){null==q?(g.removeAttribute("title"),g.style.fontSize="",g.innerHTML=mxResources.get("change")+"..."):(g.setAttribute("title",q.src),g.style.fontSize="11px",g.innerHTML=q.src.substring(0,42)+"...")}var d=a.editor.graph,k,m,p=document.createElement("table");p.style.width= -"100%";p.style.height="100%";var u=document.createElement("tbody");k=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");k.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var y=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",d.pageFormat);k.appendChild(m);u.appendChild(k);k=document.createElement("tr");m=document.createElement("td"); -mxUtils.write(m,mxResources.get("background")+":");k.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var B=document.createElement("button");B.style.width="18px";B.style.height="18px";B.style.marginRight="20px";B.style.backgroundPosition="center center";B.style.backgroundRepeat="no-repeat";var c=d.background;b();mxEvent.addListener(B,"click",function(f){a.pickColor(c||"none",function(a){c=a;b()});mxEvent.consume(f)}); -m.appendChild(B);mxUtils.write(m,mxResources.get("gridSize")+":");var f=document.createElement("input");f.setAttribute("type","number");f.setAttribute("min","0");f.style.width="40px";f.style.marginLeft="6px";f.value=d.getGridSize();m.appendChild(f);mxEvent.addListener(f,"change",function(){var a=parseInt(f.value);f.value=Math.max(1,isNaN(a)?d.getGridSize():a)});k.appendChild(m);u.appendChild(k);k=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+ -":");k.appendChild(m);m=document.createElement("td");var g=document.createElement("a");g.style.textDecoration="underline";g.style.cursor="pointer";g.style.color="#a0a0a0";var q=d.backgroundImage;mxEvent.addListener(g,"click",function(c){a.showBackgroundImageDialog(function(a){q=a;e()});mxEvent.consume(c)});e();m.appendChild(g);k.appendChild(m);u.appendChild(k);k=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var n= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var l=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.gridSize!==f.value&&d.setGridSize(parseInt(f.value));var b=new ChangePageSetup(a,c,q,y.get());b.ignoreColor=d.background==c;b.ignoreImage=(null!=d.backgroundImage?d.backgroundImage.src:null)===(null!=q?q.src:null);d.pageFormat.width==b.previousFormat.width&&d.pageFormat.height==b.previousFormat.height&& -b.ignoreColor&&b.ignoreImage||d.model.execute(b)});l.className="geBtn gePrimaryBtn";m.appendChild(l);a.editor.cancelFirst||m.appendChild(n);k.appendChild(m);u.appendChild(k);p.appendChild(u);this.container=p}; -PageSetupDialog.addPageFormatPanel=function(a,b,e,d){function k(a,b,d){if(d||f!=document.activeElement&&g!=document.activeElement){a=!1;for(b=0;b<n.length;b++)d=n[b],t?"custom"==d.key&&(u.value=d.key,t=!1):null!=d.format&&("a4"==d.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==d.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==d.format.width&& -e.height==d.format.height?(u.value=d.key,m.setAttribute("checked","checked"),m.defaultChecked=!0,m.checked=!0,p.removeAttribute("checked"),p.defaultChecked=!1,p.checked=!1,a=!0):e.width==d.format.height&&e.height==d.format.width&&(u.value=d.key,m.removeAttribute("checked"),m.defaultChecked=!1,m.checked=!1,p.setAttribute("checked","checked"),p.defaultChecked=!0,a=p.checked=!0));a?(y.style.display="",c.style.display="none"):(f.value=e.width/100,g.value=e.height/100,m.setAttribute("checked","checked"), -u.value="custom",y.style.display="none",c.style.display="")}}b="format-"+b;var m=document.createElement("input");m.setAttribute("name",b);m.setAttribute("type","radio");m.setAttribute("value","portrait");var p=document.createElement("input");p.setAttribute("name",b);p.setAttribute("type","radio");p.setAttribute("value","landscape");var u=document.createElement("select");u.style.marginBottom="8px";u.style.width="202px";var y=document.createElement("div");y.style.marginLeft="4px";y.style.width="210px"; -y.style.height="24px";m.style.marginRight="6px";y.appendChild(m);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));y.appendChild(b);p.style.marginLeft="10px";p.style.marginRight="6px";y.appendChild(p);var B=document.createElement("span");B.style.width="100px";mxUtils.write(B,mxResources.get("landscape"));y.appendChild(B);var c=document.createElement("div");c.style.marginLeft="4px";c.style.width="210px";c.style.height="24px";var f=document.createElement("input"); -f.setAttribute("size","7");f.style.textAlign="right";c.appendChild(f);mxUtils.write(c," in x ");var g=document.createElement("input");g.setAttribute("size","7");g.style.textAlign="right";c.appendChild(g);mxUtils.write(c," in");y.style.display="none";c.style.display="none";for(var q={},n=PageSetupDialog.getFormats(),l=0;l<n.length;l++){var A=n[l];q[A.key]=A;var x=document.createElement("option");x.setAttribute("value",A.key);mxUtils.write(x,A.title);u.appendChild(x)}var t=!1;k();a.appendChild(u);mxUtils.br(a); -a.appendChild(y);a.appendChild(c);var F=e,z=function(a,b){var l=q[u.value];null!=l.format?(f.value=l.format.width/100,g.value=l.format.height/100,c.style.display="none",y.style.display=""):(y.style.display="none",c.style.display="");l=parseFloat(f.value);if(isNaN(l)||0>=l)f.value=e.width/100;l=parseFloat(g.value);if(isNaN(l)||0>=l)g.value=e.height/100;l=new mxRectangle(0,0,Math.floor(100*parseFloat(f.value)),Math.floor(100*parseFloat(g.value)));"custom"!=u.value&&p.checked&&(l=new mxRectangle(0,0, -l.height,l.width));b&&t||l.width==F.width&&l.height==F.height||(F=l,null!=d&&d(F))};mxEvent.addListener(b,"click",function(a){m.checked=!0;z(a);mxEvent.consume(a)});mxEvent.addListener(B,"click",function(a){p.checked=!0;z(a);mxEvent.consume(a)});mxEvent.addListener(f,"blur",z);mxEvent.addListener(f,"click",z);mxEvent.addListener(g,"blur",z);mxEvent.addListener(g,"click",z);mxEvent.addListener(p,"change",z);mxEvent.addListener(m,"change",z);mxEvent.addListener(u,"change",function(a){t="custom"==u.value; -z(a,!0)});z();return{set:function(a){e=a;k(null,null,!0)},get:function(){return F},widthInput:f,heightInput:g}}; +var PageSetupDialog=function(a){function b(){null==d||d==mxConstants.NONE?(B.style.backgroundColor="",B.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(B.style.backgroundColor=d,B.style.backgroundImage="")}function e(){null==q?(k.removeAttribute("title"),k.style.fontSize="",k.innerHTML=mxResources.get("change")+"..."):(k.setAttribute("title",q.src),k.style.fontSize="11px",k.innerHTML=q.src.substring(0,42)+"...")}var c=a.editor.graph,l,m,p=document.createElement("table");p.style.width= +"100%";p.style.height="100%";var u=document.createElement("tbody");l=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");l.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var z=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",c.pageFormat);l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td"); +mxUtils.write(m,mxResources.get("background")+":");l.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var B=document.createElement("button");B.style.width="18px";B.style.height="18px";B.style.marginRight="20px";B.style.backgroundPosition="center center";B.style.backgroundRepeat="no-repeat";var d=c.background;b();mxEvent.addListener(B,"click",function(f){a.pickColor(d||"none",function(a){d=a;b()});mxEvent.consume(f)}); +m.appendChild(B);mxUtils.write(m,mxResources.get("gridSize")+":");var f=document.createElement("input");f.setAttribute("type","number");f.setAttribute("min","0");f.style.width="40px";f.style.marginLeft="6px";f.value=c.getGridSize();m.appendChild(f);mxEvent.addListener(f,"change",function(){var a=parseInt(f.value);f.value=Math.max(1,isNaN(a)?c.getGridSize():a)});l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+ +":");l.appendChild(m);m=document.createElement("td");var k=document.createElement("a");k.style.textDecoration="underline";k.style.cursor="pointer";k.style.color="#a0a0a0";var q=c.backgroundImage;mxEvent.addListener(k,"click",function(d){a.showBackgroundImageDialog(function(a){q=a;e()});mxEvent.consume(d)});e();m.appendChild(k);l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var n= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var g=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==f.value&&c.setGridSize(parseInt(f.value));var b=new ChangePageSetup(a,d,q,z.get());b.ignoreColor=c.background==d;b.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=q?q.src:null);c.pageFormat.width==b.previousFormat.width&&c.pageFormat.height==b.previousFormat.height&& +b.ignoreColor&&b.ignoreImage||c.model.execute(b)});g.className="geBtn gePrimaryBtn";m.appendChild(g);a.editor.cancelFirst||m.appendChild(n);l.appendChild(m);u.appendChild(l);p.appendChild(u);this.container=p}; +PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function l(a,b,c){if(c||f!=document.activeElement&&k!=document.activeElement){a=!1;for(b=0;b<n.length;b++)c=n[b],t?"custom"==c.key&&(u.value=c.key,t=!1):null!=c.format&&("a4"==c.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==c.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==c.format.width&& +e.height==c.format.height?(u.value=c.key,m.setAttribute("checked","checked"),m.defaultChecked=!0,m.checked=!0,p.removeAttribute("checked"),p.defaultChecked=!1,p.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(u.value=c.key,m.removeAttribute("checked"),m.defaultChecked=!1,m.checked=!1,p.setAttribute("checked","checked"),p.defaultChecked=!0,a=p.checked=!0));a?(z.style.display="",d.style.display="none"):(f.value=e.width/100,k.value=e.height/100,m.setAttribute("checked","checked"), +u.value="custom",z.style.display="none",d.style.display="")}}b="format-"+b;var m=document.createElement("input");m.setAttribute("name",b);m.setAttribute("type","radio");m.setAttribute("value","portrait");var p=document.createElement("input");p.setAttribute("name",b);p.setAttribute("type","radio");p.setAttribute("value","landscape");var u=document.createElement("select");u.style.marginBottom="8px";u.style.width="202px";var z=document.createElement("div");z.style.marginLeft="4px";z.style.width="210px"; +z.style.height="24px";m.style.marginRight="6px";z.appendChild(m);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));z.appendChild(b);p.style.marginLeft="10px";p.style.marginRight="6px";z.appendChild(p);var B=document.createElement("span");B.style.width="100px";mxUtils.write(B,mxResources.get("landscape"));z.appendChild(B);var d=document.createElement("div");d.style.marginLeft="4px";d.style.width="210px";d.style.height="24px";var f=document.createElement("input"); +f.setAttribute("size","7");f.style.textAlign="right";d.appendChild(f);mxUtils.write(d," in x ");var k=document.createElement("input");k.setAttribute("size","7");k.style.textAlign="right";d.appendChild(k);mxUtils.write(d," in");z.style.display="none";d.style.display="none";for(var q={},n=PageSetupDialog.getFormats(),g=0;g<n.length;g++){var A=n[g];q[A.key]=A;var x=document.createElement("option");x.setAttribute("value",A.key);mxUtils.write(x,A.title);u.appendChild(x)}var t=!1;l();a.appendChild(u);mxUtils.br(a); +a.appendChild(z);a.appendChild(d);var E=e,y=function(a,b){var g=q[u.value];null!=g.format?(f.value=g.format.width/100,k.value=g.format.height/100,d.style.display="none",z.style.display=""):(z.style.display="none",d.style.display="");g=parseFloat(f.value);if(isNaN(g)||0>=g)f.value=e.width/100;g=parseFloat(k.value);if(isNaN(g)||0>=g)k.value=e.height/100;g=new mxRectangle(0,0,Math.floor(100*parseFloat(f.value)),Math.floor(100*parseFloat(k.value)));"custom"!=u.value&&p.checked&&(g=new mxRectangle(0,0, +g.height,g.width));b&&t||g.width==E.width&&g.height==E.height||(E=g,null!=c&&c(E))};mxEvent.addListener(b,"click",function(a){m.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(B,"click",function(a){p.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(f,"blur",y);mxEvent.addListener(f,"click",y);mxEvent.addListener(k,"blur",y);mxEvent.addListener(k,"click",y);mxEvent.addListener(p,"change",y);mxEvent.addListener(m,"change",y);mxEvent.addListener(u,"change",function(a){t="custom"==u.value; +y(a,!0)});y();return{set:function(a){e=a;l(null,null,!0)},get:function(){return E},widthInput:f,heightInput:k}}; 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,1600,900)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1920,1200)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1600,1200)},{key:"custom",title:mxResources.get("custom"),format:null}]}; -(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var b=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var d=a.container.firstChild;null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.nextSibling;null!=d&&(this.backgroundPageShape=this.createBackgroundPageShape(b),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= -mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),d.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,d),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(c){a.dblClick(c)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c))}), -mxUtils.bind(this,function(c){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(c)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(c))}),mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(c))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=b,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= -null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,b=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,d=null!=b&&this.gridColor!=b.toLowerCase()?this.gridColor:"#ffffff",c="none",f="";if(a.isGridEnabled()){f=10;mxClient.IS_SVG?(c=unescape(encodeURIComponent(this.createSvgGrid(d))),c=window.btoa?btoa(c):Base64.encode(c,!0),c="url(data:image/svg+xml;base64,"+c+")",f=a.gridSize*this.scale*this.gridSteps): -c="url("+this.gridImage+")";var g=d=0;null!=a.view.backgroundPageShape&&(g=this.getBackgroundPageBounds(),d=1+g.x,g=1+g.y);f=-Math.round(f-mxUtils.mod(this.translate.x*this.scale-d,f))+"px "+-Math.round(f-mxUtils.mod(this.translate.y*this.scale-g,f))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=f,a.view.backgroundPageShape.node.style.backgroundImage=c,a.view.backgroundPageShape.node.style.backgroundColor= -b,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=f,d.style.backgroundColor=b,d.style.backgroundImage=c)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b<this.minGridSize;)b*=2;for(var d=this.gridSteps*b,c=[],f=1;f<this.gridSteps;f++){var g=f*b;c.push("M 0 "+g+" L "+d+" "+g+" M "+g+" 0 L "+g+" "+d)}return'<svg width="'+ -d+'" height="'+d+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+d+'" height="'+d+'" patternUnits="userSpaceOnUse"><path d="'+c.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+d+" 0 L 0 0 0 "+d+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,d){a.apply(this,arguments);if(null!=this.shiftPreview1){var e= -this.view.canvas;null!=e.ownerSVGElement&&(e=e.ownerSVGElement);var c=this.gridSize*this.view.scale*this.view.gridSteps,c=-Math.round(c-mxUtils.mod(this.view.translate.x*this.view.scale+b,c))+"px "+-Math.round(c-mxUtils.mod(this.view.translate.y*this.view.scale+d,c))+"px";e.style.backgroundPosition=c}};mxGraph.prototype.updatePageBreaks=function(a,b,d){var c=this.view.scale,f=this.view.translate,g=this.pageFormat,e=c*this.pageScale,n=this.view.getBackgroundPageBounds();b=n.width;d=n.height;var l= -new mxRectangle(c*f.x,c*f.y,g.width*e,g.height*e),A=(a=a&&Math.min(l.width,l.height)>this.minPageBreakDist)?Math.ceil(d/l.height)-1:0,x=a?Math.ceil(b/l.width)-1:0,t=n.x+b,k=n.y+d;null==this.horizontalPageBreaks&&0<A&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<x&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var c=a==this.horizontalPageBreaks?A:x,b=0;b<=c;b++){var f=a==this.horizontalPageBreaks?[new mxPoint(Math.round(n.x),Math.round(n.y+(b+1)*l.height)), -new mxPoint(Math.round(t),Math.round(n.y+(b+1)*l.height))]:[new mxPoint(Math.round(n.x+(b+1)*l.width),Math.round(n.y)),new mxPoint(Math.round(n.x+(b+1)*l.width),Math.round(k))];null!=a[b]?(a[b].points=f,a[b].redraw()):(f=new mxPolyline(f,this.pageBreakColor),f.dialect=this.dialect,f.isDashed=this.pageBreakDashed,f.pointerEvents=!1,f.init(this.view.backgroundPane),f.redraw(),a[b]=f)}for(b=c;b<a.length;b++)a[b].destroy();a.splice(c,a.length-c)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; -var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,d,e){for(var c=0;c<d.length;c++)if(this.graph.getModel().isVertex(d[c])){var f=this.graph.getCellGeometry(d[c]);if(null!=f&&f.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,d){return this.isConnecting()? -!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,d=0<a.height?a.y/this.scale-this.translate.y:0,c=this.graph.pageFormat,f=this.graph.pageScale,g=c.width*f,c=c.height*f,f=Math.floor(Math.min(0,b)/g),e=Math.floor(Math.min(0, -d)/c);return new mxRectangle(this.scale*(this.translate.x+f*g),this.scale*(this.translate.y+e*c),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/g)-f)*g,this.scale*(Math.ceil(Math.max(1,d+a.height/this.scale)/c)-e)*c)};var d=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){d.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= -a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var k=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,d,c,f,g){var e=k.apply(this,arguments);null==g||g||mxEvent.addListener(e,"mousedown",function(a){mxEvent.consume(a)});return e};var m=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),d=b.getParent(this.graph.getSelectionCell()),c=m.apply(this,arguments),f=b.getParent(c); -if(null==d||d!=c&&d!=f)for(;!this.graph.isCellSelected(c)&&!this.graph.isCellSelected(f)&&b.isVertex(f)&&!this.graph.isContainer(f);)c=f,f=this.graph.getModel().getParent(c);return c};var p=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var d=p.apply(this,arguments);if(!d)for(var c=this.graph.getModel(),f=c.getParent(a);null!=f;){if(this.graph.isCellSelected(f)&&c.isVertex(f)){d=!0;break}f=c.getParent(f)}return d};mxGraphHandler.prototype.selectDelayed= -function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var b=a.getCell();null==b&&(b=this.cell);var d=this.graph.view.getState(b);if(null==d||!a.isSource(d.control))for(var d=this.graph.getModel(),c=d.getParent(b);!this.graph.isCellSelected(c)&&d.isVertex(c);)b=c,c=d.getParent(b);this.graph.selectCellForEvent(b,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var b=this.graph.getModel(),d=b.getParent(a);b.isVertex(d)&&!this.graph.isContainer(d);)this.graph.isCellSelected(d)&& -(a=d),d=b.getParent(d);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var d=this.editor.graph;d.lightbox=e;d.useCssTransforms&&(this.lazyZoomDelay=0);mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); -this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,d.isEnabled=function(){return!1},d.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();if(!d.standalone){this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(a){null==a&&(a=window.event);return d.isEditing()||null!=a&&this.isSelectionAllowed(a)});this.container==document.body&&(this.menubarContainer.onselectstart= -k,this.menubarContainer.onmousedown=k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k));!this.editor.chromeless||this.editor.editable? -(b=function(a){if(null!=a){var c=mxEvent.getSource(a);if("A"==c.nodeName)for(;null!=c;){if("geHint"==c.className)return!0;c=c.parentNode}}return k(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):d.panningHandler.usePopupTrigger=!1;d.init(this.diagramContainer);mxClient.IS_SVG&&null!=d.view.getDrawPane()&&(b=d.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position= -"absolute"));this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var c=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-c.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-c.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var m=!1,p=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent= -function(a,c){return m||p.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32!=a.which||d.isEditing()?mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog(null,!0):(m=!0,this.hoverIcons.reset(),d.container.style.cursor="move",d.isEditing()||mxEvent.getSource(a)!=d.container||mxEvent.consume(a))});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){d.container.style.cursor="";m=!1});mxEvent.addListener(document,"keyup", -this.keyupHandler);var u=d.panningHandler.isForcePanningEvent;d.panningHandler.isForcePanningEvent=function(a){return u.apply(this,arguments)||m||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var y=d.cellEditor.isStopEditingEvent;d.cellEditor.isStopEditingEvent=function(a){return y.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 B=!1,c=null,f=null,g=null,q=mxUtils.bind(this,function(){if(null!=this.toolbar&&B!=d.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var l=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=l}a=this.toolbar.fontMenu;l=this.toolbar.sizeMenu;if(null==g)this.toolbar.createTextToolbar();else{for(var e= -0;e<g.length;e++)this.toolbar.container.appendChild(g[e]);this.toolbar.fontMenu=c;this.toolbar.sizeMenu=f}B=d.cellEditor.isContentEditing();c=a;f=l;g=b}}),n=this,l=d.cellEditor.startEditing;d.cellEditor.startEditing=function(){l.apply(this,arguments);q();if(d.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=d.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&& -null!=n.toolbar)){var b=c.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1));n.toolbar.setFontName(b);n.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",c);mxEvent.addListener(d.cellEditor.textarea,"touchend",c);mxEvent.addListener(d.cellEditor.textarea,"mouseup",c);mxEvent.addListener(d.cellEditor.textarea,"keyup",c);c()}};var A=d.cellEditor.stopEditing;d.cellEditor.stopEditing=function(a, -c){A.apply(this,arguments);q()};d.container.setAttribute("tabindex","0");d.container.style.cursor="default";if(window.self===window.top&&null!=d.container.parentNode)try{d.container.focus()}catch(J){}var x=d.fireMouseEvent;d.fireMouseEvent=function(a,c,b){a==mxEvent.MOUSE_DOWN&&this.container.focus();x.apply(this,arguments)};d.popupMenuHandler.autoExpand=!0;null!=this.menus&&(d.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,c,b){this.menus.createPopupMenu(a,c,b)}));mxEvent.addGestureListeners(document, -mxUtils.bind(this,function(a){d.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};var t="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),F="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){try{var c=d.view.getState(a);if(null!=c){var b=a.clone();b.style="";var f=d.getCellStyle(b);a=[];var b=[],g;for(g in c.style)f[g]!=c.style[g]&&(a.push(c.style[g]), -b.push(g));for(var l=d.getModel().getStyle(c.cell),e=null!=l?l.split(";"):[],l=0;l<e.length;l++){var n=e[l],v=n.indexOf("=");if(0<=v){g=n.substring(0,v);var q=n.substring(v+1);null!=f[g]&&"none"==q&&(a.push(q),b.push(g))}}d.getModel().isEdge(c.cell)?d.currentEdgeStyle={}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",b,"values",a,"cells",[c.cell]))}}catch(H){this.handleError(H)}};this.clearDefaultStyle=function(){d.currentEdgeStyle=mxUtils.clone(d.defaultEdgeStyle); -d.currentVertexStyle=mxUtils.clone(d.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var z=["fontFamily","fontSize","fontColor"],E="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),C=["startArrow startFill startSize sourcePerimeterSpacing endArrow endFill endSize targetPerimeterSpacing".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],z,["opacity"],["align"],["html"]];for(a=0;a<C.length;a++)for(b= -0;b<C[a].length;b++)t.push(C[a][b]);for(a=0;a<F.length;a++)0>mxUtils.indexOf(t,F[a])&&t.push(F[a]);var v=function(a,c){var b=d.getModel();b.beginUpdate();try{if(c)for(var f=b.isEdge(n),g=f?d.currentEdgeStyle:d.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],l=0;l<f.length;l++){var e=g[f[l]];null!=e&&d.setCellStyles(f[l],e,a)}else for(e=0;e<a.length;e++){for(var n=a[e],v=b.getStyle(n),q=null!=v?v.split(";"):[],A=t.slice(),l=0;l<q.length;l++){var x=q[l],k=x.indexOf("=");if(0<=k){var L=x.substring(0, -k),Q=mxUtils.indexOf(A,L);0<=Q&&A.splice(Q,1);for(var z=0;z<C.length;z++){var J=C[z];if(0<=mxUtils.indexOf(J,L))for(var m=0;m<J.length;m++){var u=mxUtils.indexOf(A,J[m]);0<=u&&A.splice(u,1)}}}}for(var g=(f=b.isEdge(n))?d.currentEdgeStyle:d.currentVertexStyle,p=b.getStyle(n),l=0;l<A.length;l++){var L=A[l],E=g[L];null==E||"shape"==L&&!f||f&&!(0>mxUtils.indexOf(F,L))||(p=mxUtils.setStyle(p,L,E))}b.setStyle(n,p)}}finally{b.endUpdate()}};d.addListener("cellsInserted",function(a,c){v(c.getProperty("cells"))}); -d.addListener("textInserted",function(a,c){v(c.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(a,c){var b=[c.getProperty("cell")];c.getProperty("terminalInserted")&&b.push(c.getProperty("terminal"));v(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var b=c.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var l=0;l<b.length&&(f=d.getModel().isVertex(b[l])||f,!(g=d.getModel().isEdge(b[l])||g)||!f);l++);else g=f=!0;for(var b=c.getProperty("keys"), -e=c.getProperty("values"),l=0;l<b.length;l++){var n=0<=mxUtils.indexOf(z,b[l]);if("strokeColor"!=b[l]||null!=e[l]&&"none"!=e[l])if(0<=mxUtils.indexOf(F,b[l]))g||0<=mxUtils.indexOf(E,b[l])?null==e[l]?delete d.currentEdgeStyle[b[l]]:d.currentEdgeStyle[b[l]]=e[l]:f&&0<=mxUtils.indexOf(t,b[l])&&(null==e[l]?delete d.currentVertexStyle[b[l]]:d.currentVertexStyle[b[l]]=e[l]);else if(0<=mxUtils.indexOf(t,b[l])){if(f||n)null==e[l]?delete d.currentVertexStyle[b[l]]:d.currentVertexStyle[b[l]]=e[l];if(g||n|| -0<=mxUtils.indexOf(E,b[l]))null==e[l]?delete d.currentEdgeStyle[b[l]]:d.currentEdgeStyle[b[l]]=e[l]}}null!=this.toolbar&&(this.toolbar.setFontName(d.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(d.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==d.currentEdgeStyle.edgeStyle&&"1"==d.currentEdgeStyle.curved?"geSprite geSprite-curved": -"straight"==d.currentEdgeStyle.edgeStyle||"none"==d.currentEdgeStyle.edgeStyle||null==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"): -"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==d.currentEdgeStyle.shape?"geSprite geSprite-linkedge":"flexArrow"==d.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==d.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",d.currentEdgeStyle.shape, -d.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(d.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("end",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(d.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=d.currentVertexStyle.fontFamily||"Helvetica",c=String(d.currentVertexStyle.fontSize|| -"12"),b=d.getView().getState(d.getSelectionCell());null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,c=b.style[mxConstants.STYLE_FONTSIZE]||c,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a);this.toolbar.setFontSize(c)}),d.getSelectionModel().addListener(mxEvent.CHANGE,a),d.getModel().addListener(mxEvent.CHANGE,a));d.addListener(mxEvent.CELLS_ADDED,function(a,c){var b=c.getProperty("cells"),f=c.getProperty("parent");d.getModel().isLayer(f)&&!d.isCellVisible(f)&&null!=b&&0<b.length&& -d.getModel().setVisible(f,!0)});this.gestureHandler=mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document,this.gestureHandler);this.resizeHandler=mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){null!=this.editor.graph&&this.refresh()}),0)});mxEvent.addListener(window,"resize",this.resizeHandler);this.orientationChangeHandler=mxUtils.bind(this,function(){this.refresh()}); -mxEvent.addListener(window,"orientationchange",this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window,"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this, -function(){d.view.validateBackground()}));d.addListener("gridSizeChanged",mxUtils.bind(this,function(){d.isGridEnabled()&&d.view.validateBackground()}));this.editor.resetGraph()}this.init();d.standalone||this.open()};mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=38; +(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var b=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var c=a.container.firstChild;null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.nextSibling;null!=c&&(this.backgroundPageShape=this.createBackgroundPageShape(b),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= +mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),c.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,c),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(d){a.dblClick(d)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d))}), +mxUtils.bind(this,function(d){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(d)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d))}),mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=b,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= +null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,b=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,c=null!=b&&this.gridColor!=b.toLowerCase()?this.gridColor:"#ffffff",d="none",f="";if(a.isGridEnabled()){f=10;mxClient.IS_SVG?(d=unescape(encodeURIComponent(this.createSvgGrid(c))),d=window.btoa?btoa(d):Base64.encode(d,!0),d="url(data:image/svg+xml;base64,"+d+")",f=a.gridSize*this.scale*this.gridSteps): +d="url("+this.gridImage+")";var k=c=0;null!=a.view.backgroundPageShape&&(k=this.getBackgroundPageBounds(),c=1+k.x,k=1+k.y);f=-Math.round(f-mxUtils.mod(this.translate.x*this.scale-c,f))+"px "+-Math.round(f-mxUtils.mod(this.translate.y*this.scale-k,f))+"px"}c=a.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=f,a.view.backgroundPageShape.node.style.backgroundImage=d,a.view.backgroundPageShape.node.style.backgroundColor= +b,a.container.className="geDiagramContainer geDiagramBackdrop",c.style.backgroundImage="none",c.style.backgroundColor=""):(a.container.className="geDiagramContainer",c.style.backgroundPosition=f,c.style.backgroundColor=b,c.style.backgroundImage=d)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b<this.minGridSize;)b*=2;for(var c=this.gridSteps*b,d=[],f=1;f<this.gridSteps;f++){var k=f*b;d.push("M 0 "+k+" L "+c+" "+k+" M "+k+" 0 L "+k+" "+c)}return'<svg width="'+ +c+'" height="'+c+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+c+'" height="'+c+'" patternUnits="userSpaceOnUse"><path d="'+d.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+c+" 0 L 0 0 0 "+c+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,c){a.apply(this,arguments);if(null!=this.shiftPreview1){var e= +this.view.canvas;null!=e.ownerSVGElement&&(e=e.ownerSVGElement);var d=this.gridSize*this.view.scale*this.view.gridSteps,d=-Math.round(d-mxUtils.mod(this.view.translate.x*this.view.scale+b,d))+"px "+-Math.round(d-mxUtils.mod(this.view.translate.y*this.view.scale+c,d))+"px";e.style.backgroundPosition=d}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,f=this.view.translate,k=this.pageFormat,e=d*this.pageScale,n=this.view.getBackgroundPageBounds();b=n.width;c=n.height;var g= +new mxRectangle(d*f.x,d*f.y,k.width*e,k.height*e),A=(a=a&&Math.min(g.width,g.height)>this.minPageBreakDist)?Math.ceil(c/g.height)-1:0,x=a?Math.ceil(b/g.width)-1:0,t=n.x+b,l=n.y+c;null==this.horizontalPageBreaks&&0<A&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<x&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?A:x,b=0;b<=d;b++){var f=a==this.horizontalPageBreaks?[new mxPoint(Math.round(n.x),Math.round(n.y+(b+1)*g.height)), +new mxPoint(Math.round(t),Math.round(n.y+(b+1)*g.height))]:[new mxPoint(Math.round(n.x+(b+1)*g.width),Math.round(n.y)),new mxPoint(Math.round(n.x+(b+1)*g.width),Math.round(l))];null!=a[b]?(a[b].points=f,a[b].redraw()):(f=new mxPolyline(f,this.pageBreakColor),f.dialect=this.dialect,f.isDashed=this.pageBreakDashed,f.pointerEvents=!1,f.init(this.view.backgroundPane),f.redraw(),a[b]=f)}for(b=d;b<a.length;b++)a[b].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; +var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,e){for(var d=0;d<c.length;d++)if(this.graph.getModel().isVertex(c[d])){var f=this.graph.getCellGeometry(c[d]);if(null!=f&&f.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,c){return this.isConnecting()? +!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,d=this.graph.pageFormat,f=this.graph.pageScale,k=d.width*f,d=d.height*f,f=Math.floor(Math.min(0,b)/k),e=Math.floor(Math.min(0, +c)/d);return new mxRectangle(this.scale*(this.translate.x+f*k),this.scale*(this.translate.y+e*d),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/k)-f)*k,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/d)-e)*d)};var c=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){c.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= +a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var l=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,c,d,f,k){var e=l.apply(this,arguments);null==k||k||mxEvent.addListener(e,"mousedown",function(a){mxEvent.consume(a)});return e};var m=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),c=b.getParent(this.graph.getSelectionCell()),d=m.apply(this,arguments),f=b.getParent(d); +if(null==c||c!=d&&c!=f)for(;!this.graph.isCellSelected(d)&&!this.graph.isCellSelected(f)&&b.isVertex(f)&&!this.graph.isContainer(f);)d=f,f=this.graph.getModel().getParent(d);return d};var p=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var c=p.apply(this,arguments);if(!c)for(var d=this.graph.getModel(),f=d.getParent(a);null!=f;){if(this.graph.isCellSelected(f)&&d.isVertex(f)){c=!0;break}f=d.getParent(f)}return c};mxGraphHandler.prototype.selectDelayed= +function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var b=a.getCell();null==b&&(b=this.cell);var c=this.graph.view.getState(b);if(null==c||!a.isSource(c.control))for(var c=this.graph.getModel(),d=c.getParent(b);!this.graph.isCellSelected(d)&&c.isVertex(d);)b=d,d=c.getParent(b);this.graph.selectCellForEvent(b,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var b=this.graph.getModel(),c=b.getParent(a);b.isVertex(c)&&!this.graph.isContainer(c);)this.graph.isCellSelected(c)&& +(a=c),c=b.getParent(c);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var c=this.editor.graph;c.lightbox=e;c.useCssTransforms&&(this.lazyZoomDelay=0);mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); +this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,c.isEnabled=function(){return!1},c.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();if(!c.standalone){this.createDivs();this.createUi();this.refresh();var l=mxUtils.bind(this,function(a){null==a&&(a=window.event);return c.isEditing()||null!=a&&this.isSelectionAllowed(a)});this.container==document.body&&(this.menubarContainer.onselectstart= +l,this.menubarContainer.onmousedown=l,this.toolbarContainer.onselectstart=l,this.toolbarContainer.onmousedown=l,this.diagramContainer.onselectstart=l,this.diagramContainer.onmousedown=l,this.sidebarContainer.onselectstart=l,this.sidebarContainer.onmousedown=l,this.formatContainer.onselectstart=l,this.formatContainer.onmousedown=l,this.footerContainer.onselectstart=l,this.footerContainer.onmousedown=l,null!=this.tabContainer&&(this.tabContainer.onselectstart=l));!this.editor.chromeless||this.editor.editable? +(b=function(a){if(null!=a){var d=mxEvent.getSource(a);if("A"==d.nodeName)for(;null!=d;){if("geHint"==d.className)return!0;d=d.parentNode}}return l(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):c.panningHandler.usePopupTrigger=!1;c.init(this.diagramContainer);mxClient.IS_SVG&&null!=c.view.getDrawPane()&&(b=c.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position= +"absolute"));this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var d=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-d.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-d.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var m=!1,p=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent= +function(a,d){return m||p.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32!=a.which||c.isEditing()?mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog(null,!0):(m=!0,this.hoverIcons.reset(),c.container.style.cursor="move",c.isEditing()||mxEvent.getSource(a)!=c.container||mxEvent.consume(a))});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){c.container.style.cursor="";m=!1});mxEvent.addListener(document,"keyup", +this.keyupHandler);var u=c.panningHandler.isForcePanningEvent;c.panningHandler.isForcePanningEvent=function(a){return u.apply(this,arguments)||m||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var z=c.cellEditor.isStopEditingEvent;c.cellEditor.isStopEditingEvent=function(a){return z.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 B=!1,d=null,f=null,k=null,q=mxUtils.bind(this,function(){if(null!=this.toolbar&&B!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var g=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=g}a=this.toolbar.fontMenu;g=this.toolbar.sizeMenu;if(null==k)this.toolbar.createTextToolbar();else{for(var e= +0;e<k.length;e++)this.toolbar.container.appendChild(k[e]);this.toolbar.fontMenu=d;this.toolbar.sizeMenu=f}B=c.cellEditor.isContentEditing();d=a;f=g;k=b}}),n=this,g=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){g.apply(this,arguments);q();if(c.cellEditor.isContentEditing()){var a=!1,d=function(){a||(a=!0,window.setTimeout(function(){for(var d=c.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode;if(null!=d&&(d=mxUtils.getCurrentStyle(d),null!=d&& +null!=n.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1));n.toolbar.setFontName(b);n.toolbar.setFontSize(parseInt(d.fontSize))}a=!1},0))};mxEvent.addListener(c.cellEditor.textarea,"input",d);mxEvent.addListener(c.cellEditor.textarea,"touchend",d);mxEvent.addListener(c.cellEditor.textarea,"mouseup",d);mxEvent.addListener(c.cellEditor.textarea,"keyup",d);d()}};var A=c.cellEditor.stopEditing;c.cellEditor.stopEditing=function(a, +d){A.apply(this,arguments);q()};c.container.setAttribute("tabindex","0");c.container.style.cursor="default";if(window.self===window.top&&null!=c.container.parentNode)try{c.container.focus()}catch(J){}var x=c.fireMouseEvent;c.fireMouseEvent=function(a,d,b){a==mxEvent.MOUSE_DOWN&&this.container.focus();x.apply(this,arguments)};c.popupMenuHandler.autoExpand=!0;null!=this.menus&&(c.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,d,b){this.menus.createPopupMenu(a,d,b)}));mxEvent.addGestureListeners(document, +mxUtils.bind(this,function(a){c.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};var t="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),E="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){try{var d=c.view.getState(a);if(null!=d){var b=a.clone();b.style="";var f=c.getCellStyle(b);a=[];var b=[],k;for(k in d.style)f[k]!=d.style[k]&&(a.push(d.style[k]), +b.push(k));for(var g=c.getModel().getStyle(d.cell),e=null!=g?g.split(";"):[],g=0;g<e.length;g++){var n=e[g],v=n.indexOf("=");if(0<=v){k=n.substring(0,v);var q=n.substring(v+1);null!=f[k]&&"none"==q&&(a.push(q),b.push(k))}}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",b,"values",a,"cells",[d.cell]))}}catch(H){this.handleError(H)}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle); +c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var y=["fontFamily","fontSize","fontColor"],D="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),C=["startArrow startFill startSize sourcePerimeterSpacing endArrow endFill endSize targetPerimeterSpacing".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],y,["opacity"],["align"],["html"]];for(a=0;a<C.length;a++)for(b= +0;b<C[a].length;b++)t.push(C[a][b]);for(a=0;a<E.length;a++)0>mxUtils.indexOf(t,E[a])&&t.push(E[a]);var v=function(a,d){var b=c.getModel();b.beginUpdate();try{if(d)for(var f=b.isEdge(n),k=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],g=0;g<f.length;g++){var e=k[f[g]];null!=e&&c.setCellStyles(f[g],e,a)}else for(e=0;e<a.length;e++){for(var n=a[e],v=b.getStyle(n),q=null!=v?v.split(";"):[],A=t.slice(),g=0;g<q.length;g++){var x=q[g],l=x.indexOf("=");if(0<=l){var L=x.substring(0, +l),Q=mxUtils.indexOf(A,L);0<=Q&&A.splice(Q,1);for(var y=0;y<C.length;y++){var J=C[y];if(0<=mxUtils.indexOf(J,L))for(var m=0;m<J.length;m++){var u=mxUtils.indexOf(A,J[m]);0<=u&&A.splice(u,1)}}}}for(var k=(f=b.isEdge(n))?c.currentEdgeStyle:c.currentVertexStyle,p=b.getStyle(n),g=0;g<A.length;g++){var L=A[g],D=k[L];null==D||"shape"==L&&!f||f&&!(0>mxUtils.indexOf(E,L))||(p=mxUtils.setStyle(p,L,D))}b.setStyle(n,p)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){v(d.getProperty("cells"))}); +c.addListener("textInserted",function(a,d){v(d.getProperty("cells"),!0)});c.connectionHandler.addListener(mxEvent.CONNECT,function(a,d){var b=[d.getProperty("cell")];d.getProperty("terminalInserted")&&b.push(d.getProperty("terminal"));v(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,k=!1;if(0<b.length)for(var g=0;g<b.length&&(f=c.getModel().isVertex(b[g])||f,!(k=c.getModel().isEdge(b[g])||k)||!f);g++);else k=f=!0;for(var b=d.getProperty("keys"), +e=d.getProperty("values"),g=0;g<b.length;g++){var n=0<=mxUtils.indexOf(y,b[g]);if("strokeColor"!=b[g]||null!=e[g]&&"none"!=e[g])if(0<=mxUtils.indexOf(E,b[g]))k||0<=mxUtils.indexOf(D,b[g])?null==e[g]?delete c.currentEdgeStyle[b[g]]:c.currentEdgeStyle[b[g]]=e[g]:f&&0<=mxUtils.indexOf(t,b[g])&&(null==e[g]?delete c.currentVertexStyle[b[g]]:c.currentVertexStyle[b[g]]=e[g]);else if(0<=mxUtils.indexOf(t,b[g])){if(f||n)null==e[g]?delete c.currentVertexStyle[b[g]]:c.currentVertexStyle[b[g]]=e[g];if(k||n|| +0<=mxUtils.indexOf(D,b[g]))null==e[g]?delete c.currentEdgeStyle[b[g]]:c.currentEdgeStyle[b[g]]=e[g]}}null!=this.toolbar&&(this.toolbar.setFontName(c.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(c.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==c.currentEdgeStyle.edgeStyle&&"1"==c.currentEdgeStyle.curved?"geSprite geSprite-curved": +"straight"==c.currentEdgeStyle.edgeStyle||"none"==c.currentEdgeStyle.edgeStyle||null==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"): +"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==c.currentEdgeStyle.shape?"geSprite geSprite-linkedge":"flexArrow"==c.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==c.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",c.currentEdgeStyle.shape, +c.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(c.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("end",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(c.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=c.currentVertexStyle.fontFamily||"Helvetica",d=String(c.currentVertexStyle.fontSize|| +"12"),b=c.getView().getState(c.getSelectionCell());null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,d=b.style[mxConstants.STYLE_FONTSIZE]||d,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a);this.toolbar.setFontSize(d)}),c.getSelectionModel().addListener(mxEvent.CHANGE,a),c.getModel().addListener(mxEvent.CHANGE,a));c.addListener(mxEvent.CELLS_ADDED,function(a,d){var b=d.getProperty("cells"),f=d.getProperty("parent");c.getModel().isLayer(f)&&!c.isCellVisible(f)&&null!=b&&0<b.length&& +c.getModel().setVisible(f,!0)});this.gestureHandler=mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document,this.gestureHandler);this.resizeHandler=mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){null!=this.editor.graph&&this.refresh()}),0)});mxEvent.addListener(window,"resize",this.resizeHandler);this.orientationChangeHandler=mxUtils.bind(this,function(){this.refresh()}); +mxEvent.addListener(window,"orientationchange",this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window,"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this, +function(){c.view.validateBackground()}));c.addListener("gridSizeChanged",mxUtils.bind(this,function(){c.isGridEnabled()&&c.view.validateBackground()}));this.editor.resetGraph()}this.init();c.standalone||this.open()};mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=38; EditorUi.prototype.footerHeight=28;EditorUi.prototype.sidebarFooterHeight=34;EditorUi.prototype.hsplitPosition=640>=screen.width?118:"large"!=urlParams["sidebar-entries"]?212:240;EditorUi.prototype.allowAnimation=!0;EditorUi.prototype.lightboxMaxFitScale=2;EditorUi.prototype.lightboxVerticalDivider=4;EditorUi.prototype.hsplitClickEnabled=!1; -EditorUi.prototype.init=function(){var a=this.editor.graph;if(!a.standalone){mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container,"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()})); -var b=a.setDefaultParent,e=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);e.updateActionStates()};a.editLink=e.actions.get("editLink").funct;this.updateActionStates();this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()}};EditorUi.prototype.onKeyDown=function(a){var b=this.editor.graph;9==a.which&&b.isEnabled()&&!mxEvent.isAltDown(a)&&(b.isEditing()?b.stopEditing(!1):b.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; +EditorUi.prototype.init=function(){var a=this.editor.graph;if(!a.standalone){mxEvent.addListener(a.container,"scroll",mxUtils.bind(this,function(){a.tooltipHandler.hide();null!=a.connectionHandler&&null!=a.connectionHandler.constraintHandler&&a.connectionHandler.constraintHandler.reset()}));a.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){a.tooltipHandler.hide()}));mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container, +"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));var b=a.setDefaultParent,e=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);e.updateActionStates()};a.editLink=e.actions.get("editLink").funct;this.updateActionStates(); +this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()}};EditorUi.prototype.onKeyDown=function(a){var b=this.editor.graph;9==a.which&&b.isEnabled()&&!mxEvent.isAltDown(a)&&(b.isEditing()?b.stopEditing(!1):b.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; EditorUi.prototype.onKeyPress=function(a){var b=this.editor.graph;!this.isImmediateEditingEvent(a)||b.isEditing()||b.isSelectionEmpty()||0===a.which||27===a.which||mxEvent.isAltDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)||(b.escape(),b.startEditing(),mxClient.IS_FF&&(b=b.cellEditor,b.textarea.innerHTML=String.fromCharCode(a.which),a=document.createRange(),a.selectNodeContents(b.textarea),a.collapse(!1),b=window.getSelection(),b.removeAllRanges(),b.addRange(a)))}; EditorUi.prototype.isImmediateEditingEvent=function(a){return!0}; -EditorUi.prototype.getCssClassForMarker=function(a,b,e,d){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==d?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==d?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ -a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==d?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==d?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==d?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==d?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==d?"geSprite geSprite-"+a+"thindiamond": -"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==d?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==d||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+ +EditorUi.prototype.getCssClassForMarker=function(a,b,e,c){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==c?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==c?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ +a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==c?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==c?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==c?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==c?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==c?"geSprite geSprite-"+a+"thindiamond": +"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==c?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==c||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+ a+"ermany":"ERoneToMany"==e?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==e?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==e?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null}; EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=this.actions.get("paste"),e=this.actions.get("pasteHere");b.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));e.setEnabled(b.isEnabled())}; -EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(d){d.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};mxClipboard.copy=function(b){var d=null;if(b.cellEditor.isContentEditing())document.execCommand("copy",!1,null);else{for(var d=d||b.getSelectionCells(),d=b.getExportableCells(b.model.getTopmostCells(d)),e={},k=b.createCellLookup(d),m=b.cloneCells(d,null,e),c=new mxGraphModel,f=c.getChildAt(c.getRoot(), -0),g=0;g<m.length;g++)c.add(f,m[g]);b.updateCustomLinks(b.createCellMapping(e,k),m);mxClipboard.insertCount=1;mxClipboard.setCells(m)}a.updatePasteActionStates();return d};var e=mxClipboard.paste;mxClipboard.paste=function(b){var d=null;b.cellEditor.isContentEditing()?document.execCommand("paste",!1,null):d=e.apply(this,arguments);a.updatePasteActionStates();return d};var d=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){d.apply(this,arguments);a.updatePasteActionStates()}; -var k=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,d){k.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20;EditorUi.prototype.wheelZoomDelay=400;EditorUi.prototype.buttonZoomDelay=600; -EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),c=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*c.width),this.scale*(this.translate.y+a.y*c.height),this.scale*a.width*c.width, -this.scale*a.height*c.height)};a.getPreferredPageSize=function(a,c,b){a=this.getPageLayout();c=this.getPageSize();return new mxRectangle(0,0,a.width*c.width,a.height*c.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(c,b,f,d){if(null!=a.container&&!a.isViewer()){f=null!=f?f:0;d=null!=d?d:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),l=mxUtils.hasScrollbars(a.container),e=a.view.translate,n=a.view.scale,v=mxRectangle.fromRectangle(g); -v.x=v.x/n-e.x;v.y=v.y/n-e.y;v.width/=n;v.height/=n;var e=a.container.scrollTop,q=a.container.scrollLeft,Q=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)Q+=3;var t=a.container.offsetWidth-Q,Q=a.container.offsetHeight-Q;c=c?Math.max(.3,Math.min(b||1,t/v.width)):n;b=(t-c*v.width)/2/c;var A=0==this.lightboxVerticalDivider?0:(Q-c*v.height)/this.lightboxVerticalDivider/c;l&&(b=Math.max(b,0),A=Math.max(A,0));if(l||g.width<t||g.height<Q)a.view.scaleAndTranslate(c, -Math.floor(b-v.x),Math.floor(A-v.y)),a.container.scrollTop=e*c/n,a.container.scrollLeft=q*c/n;else if(0!=f||0!=d)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+f/n),Math.floor(g.y+d/n))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var d=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",d);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",d)});this.editor.addListener("resetGraphView", -mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(c){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(c){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){var k=JSON.parse(decodeURIComponent(urlParams["toolbar-config"]||"{}"));this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden"; -this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace="nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left=a.isViewer()?"0":"50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var m=mxUtils.bind(this,function(){var c= -mxUtils.getCurrentStyle(a.container);a.isViewer()?this.chromelessToolbar.style.top="0":this.chromelessToolbar.style.bottom=(null!=c?parseInt(c["margin-bottom"]||0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",m);m();var p=0,m=mxUtils.bind(this,function(a,c,b){p++;var f=document.createElement("span");f.style.paddingLeft="8px";f.style.paddingRight="8px";f.style.cursor="pointer";mxEvent.addListener(f,"click",a);null!=b&&f.setAttribute("title", -b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",c);f.appendChild(a);this.chromelessToolbar.appendChild(f);return f});null!=k.backBtn&&m(mxUtils.bind(this,function(a){window.location.href=k.backBtn.url;mxEvent.consume(a)}),Editor.backLargeImage,mxResources.get("back",null,"Back"));var u=m(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),y=document.createElement("div"); -y.style.display="inline-block";y.style.verticalAlign="top";y.style.fontFamily="Helvetica,Arial";y.style.marginTop="8px";y.style.fontSize="14px";y.style.color="#ffffff";this.chromelessToolbar.appendChild(y);var B=m(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")),c=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(y.innerHTML="",mxUtils.write(y,mxUtils.indexOf(this.pages, -this.currentPage)+1+" / "+this.pages.length))});u.style.paddingLeft="0px";u.style.paddingRight="4px";B.style.paddingLeft="4px";B.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(B.style.display="",u.style.display="",y.style.display="inline-block"):(B.style.display="none",u.style.display="none",y.style.display="none");c()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",c);m(mxUtils.bind(this, -function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(c){a.isLightboxView()?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(c)}),Editor.actualSizeLargeImage, -mxResources.get("fit"));var g=null,q=null,n=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=q&&(window.clearTimeout(q),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;q=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";q=null}),600)}),a||200)}),l=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=q&&(window.clearTimeout(q), -fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var A=m(mxUtils.bind(this,function(c){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog= +EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(c){c.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};mxClipboard.copy=function(b){var c=null;if(b.cellEditor.isContentEditing())document.execCommand("copy",!1,null);else{for(var c=c||b.getSelectionCells(),c=b.getExportableCells(b.model.getTopmostCells(c)),e={},l=b.createCellLookup(c),m=b.cloneCells(c,null,e),d=new mxGraphModel,f=d.getChildAt(d.getRoot(), +0),k=0;k<m.length;k++)d.add(f,m[k]);b.updateCustomLinks(b.createCellMapping(e,l),m);mxClipboard.insertCount=1;mxClipboard.setCells(m)}a.updatePasteActionStates();return c};var e=mxClipboard.paste;mxClipboard.paste=function(b){var c=null;b.cellEditor.isContentEditing()?document.execCommand("paste",!1,null):c=e.apply(this,arguments);a.updatePasteActionStates();return c};var c=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){c.apply(this,arguments);a.updatePasteActionStates()}; +var l=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){l.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20;EditorUi.prototype.wheelZoomDelay=400;EditorUi.prototype.buttonZoomDelay=600; +EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),d=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*d.width),this.scale*(this.translate.y+a.y*d.height),this.scale*a.width*d.width, +this.scale*a.height*d.height)};a.getPreferredPageSize=function(a,d,b){a=this.getPageLayout();d=this.getPageSize();return new mxRectangle(0,0,a.width*d.width,a.height*d.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(d,b,f,c){if(null!=a.container&&!a.isViewer()){f=null!=f?f:0;c=null!=c?c:0;var k=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),e=a.view.translate,n=a.view.scale,v=mxRectangle.fromRectangle(k); +v.x=v.x/n-e.x;v.y=v.y/n-e.y;v.width/=n;v.height/=n;var e=a.container.scrollTop,q=a.container.scrollLeft,Q=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)Q+=3;var t=a.container.offsetWidth-Q,Q=a.container.offsetHeight-Q;d=d?Math.max(.3,Math.min(b||1,t/v.width)):n;b=(t-d*v.width)/2/d;var A=0==this.lightboxVerticalDivider?0:(Q-d*v.height)/this.lightboxVerticalDivider/d;g&&(b=Math.max(b,0),A=Math.max(A,0));if(g||k.width<t||k.height<Q)a.view.scaleAndTranslate(d, +Math.floor(b-v.x),Math.floor(A-v.y)),a.container.scrollTop=e*d/n,a.container.scrollLeft=q*d/n;else if(0!=f||0!=c)k=a.view.translate,a.view.setTranslate(Math.floor(k.x+f/n),Math.floor(k.y+c/n))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var c=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",c);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",c)});this.editor.addListener("resetGraphView", +mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(d){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(d){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){var l=JSON.parse(decodeURIComponent(urlParams["toolbar-config"]||"{}"));this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden"; +this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace="nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left=a.isViewer()?"0":"50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var m=mxUtils.bind(this,function(){var d= +mxUtils.getCurrentStyle(a.container);a.isViewer()?this.chromelessToolbar.style.top="0":this.chromelessToolbar.style.bottom=(null!=d?parseInt(d["margin-bottom"]||0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",m);m();var p=0,m=mxUtils.bind(this,function(a,d,b){p++;var f=document.createElement("span");f.style.paddingLeft="8px";f.style.paddingRight="8px";f.style.cursor="pointer";mxEvent.addListener(f,"click",a);null!=b&&f.setAttribute("title", +b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);f.appendChild(a);this.chromelessToolbar.appendChild(f);return f});null!=l.backBtn&&m(mxUtils.bind(this,function(a){window.location.href=l.backBtn.url;mxEvent.consume(a)}),Editor.backLargeImage,mxResources.get("back",null,"Back"));var u=m(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),z=document.createElement("div"); +z.style.display="inline-block";z.style.verticalAlign="top";z.style.fontFamily="Helvetica,Arial";z.style.marginTop="8px";z.style.fontSize="14px";z.style.color="#ffffff";this.chromelessToolbar.appendChild(z);var B=m(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")),d=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(z.innerHTML="",mxUtils.write(z,mxUtils.indexOf(this.pages, +this.currentPage)+1+" / "+this.pages.length))});u.style.paddingLeft="0px";u.style.paddingRight="4px";B.style.paddingLeft="4px";B.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(B.style.display="",u.style.display="",z.style.display="inline-block"):(B.style.display="none",u.style.display="none",z.style.display="none");d()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",d);m(mxUtils.bind(this, +function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(d){a.isLightboxView()?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(d)}),Editor.actualSizeLargeImage, +mxResources.get("fit"));var k=null,q=null,n=mxUtils.bind(this,function(a){null!=k&&(window.clearTimeout(k),fadeThead=null);null!=q&&(window.clearTimeout(q),fadeThead2=null);k=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);k=null;q=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";q=null}),600)}),a||200)}),g=mxUtils.bind(this,function(a){null!=k&&(window.clearTimeout(k),fadeThead=null);null!=q&&(window.clearTimeout(q), +fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var A=m(mxUtils.bind(this,function(d){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog= null}));var b=A.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff";mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=b.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+ -this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(c)}),Editor.layersLargeImage,mxResources.get("layers")),x=a.getModel();x.addListener(mxEvent.CHANGE,function(){A.style.display=1<x.getChildCount(x.root)?"":"none"})}this.addChromelessToolbarItems(m);null==this.editor.editButtonLink&&null==this.editor.editButtonFunc||m(mxUtils.bind(this,function(c){null!= -this.editor.editButtonFunc?this.editor.editButtonFunc():"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(c)}),Editor.editLargeImage,mxResources.get("edit"));if(null!=this.lightboxToolbarActions)for(f=0;f<this.lightboxToolbarActions.length;f++){var t=this.lightboxToolbarActions[f];m(t.fn,t.icon,t.tooltip)}null!=k.refreshBtn&&m(mxUtils.bind(this,function(a){k.refreshBtn.url?window.location.href=k.refreshBtn.url: -window.location.reload();mxEvent.consume(a)}),Editor.refreshLargeImage,mxResources.get("refresh",null,"Refresh"));null!=k.fullscreenBtn&&window.self!==window.top&&m(mxUtils.bind(this,function(c){k.fullscreenBtn.url?a.openLink(k.fullscreenBtn.url):a.openLink(window.location.href);mxEvent.consume(c)}),Editor.fullscreenLargeImage,mxResources.get("openInNewWindow",null,"Open in New Window"));(k.closeBtn&&window.self===window.top||a.lightbox&&("1"==urlParams.close||this.container!=document.body))&&m(mxUtils.bind(this, -function(a){"1"==urlParams.close||k.closeBtn?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,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)|| -l(30),n())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?n():l(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?n():l(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)|| -l(30)}));var F=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(c,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,c){},mouseUp:function(c,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<F&&Math.abs(this.scrollTop-a.container.scrollTop)<F&&Math.abs(this.startX-b.getGraphX())<F&&Math.abs(this.startY-b.getGraphY())< -F&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?n():l(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var z=a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),c=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*c.width;this.translate.y=a.y-(this.y0||0)*c.height}z.apply(this,arguments)};if(!a.isViewer()){var E=a.sizeDidChange;a.sizeDidChange= -function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var c=this.getPageLayout(),b=this.getPagePadding(),f=this.getPageSize(),d=Math.ceil(2*b.x+c.width*f.width),g=Math.ceil(2*b.y+c.height*f.height),l=a.minimumGraphSize;if(null==l||l.width!=d||l.height!=g)a.minimumGraphSize=new mxRectangle(0,0,d,g);d=b.x-c.x*f.width;b=b.y-c.y*f.height;this.autoTranslate||this.view.translate.x==d&&this.view.translate.y==b?E.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=c.x,this.view.y0= -c.y,c=a.view.translate.x,f=a.view.translate.y,a.view.setTranslate(d,b),a.container.scrollLeft+=Math.round((d-c)*a.view.scale),a.container.scrollTop+=Math.round((b-f)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var C=a.view.getBackgroundPane(),v=a.view.getDrawPane();a.cumulativeZoomFactor=1;var J=null,L=null,I=null,N=function(c){null!=J&&window.clearTimeout(J);window.setTimeout(function(){a.isMouseDown||(J=window.setTimeout(mxUtils.bind(this, +this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(d)}),Editor.layersLargeImage,mxResources.get("layers")),x=a.getModel();x.addListener(mxEvent.CHANGE,function(){A.style.display=1<x.getChildCount(x.root)?"":"none"})}this.addChromelessToolbarItems(m);null==this.editor.editButtonLink&&null==this.editor.editButtonFunc||m(mxUtils.bind(this,function(d){null!= +this.editor.editButtonFunc?this.editor.editButtonFunc():"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(d)}),Editor.editLargeImage,mxResources.get("edit"));if(null!=this.lightboxToolbarActions)for(f=0;f<this.lightboxToolbarActions.length;f++){var t=this.lightboxToolbarActions[f];m(t.fn,t.icon,t.tooltip)}null!=l.refreshBtn&&m(mxUtils.bind(this,function(a){l.refreshBtn.url?window.location.href=l.refreshBtn.url: +window.location.reload();mxEvent.consume(a)}),Editor.refreshLargeImage,mxResources.get("refresh",null,"Refresh"));null!=l.fullscreenBtn&&window.self!==window.top&&m(mxUtils.bind(this,function(d){l.fullscreenBtn.url?a.openLink(l.fullscreenBtn.url):a.openLink(window.location.href);mxEvent.consume(d)}),Editor.fullscreenLargeImage,mxResources.get("openInNewWindow",null,"Open in New Window"));(l.closeBtn&&window.self===window.top||a.lightbox&&("1"==urlParams.close||this.container!=document.body))&&m(mxUtils.bind(this, +function(a){"1"==urlParams.close||l.closeBtn?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,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)|| +g(30),n())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?n():g(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?n():g(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)|| +g(30)}));var E=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(d,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,d){},mouseUp:function(d,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<E&&Math.abs(this.scrollTop-a.container.scrollTop)<E&&Math.abs(this.startX-b.getGraphX())<E&&Math.abs(this.startY-b.getGraphY())< +E&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?n():g(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var y=a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),d=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*d.width;this.translate.y=a.y-(this.y0||0)*d.height}y.apply(this,arguments)};if(!a.isViewer()){var D=a.sizeDidChange;a.sizeDidChange= +function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var d=this.getPageLayout(),b=this.getPagePadding(),f=this.getPageSize(),c=Math.ceil(2*b.x+d.width*f.width),k=Math.ceil(2*b.y+d.height*f.height),g=a.minimumGraphSize;if(null==g||g.width!=c||g.height!=k)a.minimumGraphSize=new mxRectangle(0,0,c,k);c=b.x-d.x*f.width;b=b.y-d.y*f.height;this.autoTranslate||this.view.translate.x==c&&this.view.translate.y==b?D.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=d.x,this.view.y0= +d.y,d=a.view.translate.x,f=a.view.translate.y,a.view.setTranslate(c,b),a.container.scrollLeft+=Math.round((c-d)*a.view.scale),a.container.scrollTop+=Math.round((b-f)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var C=a.view.getBackgroundPane(),v=a.view.getDrawPane();a.cumulativeZoomFactor=1;var J=null,L=null,I=null,N=function(d){null!=J&&window.clearTimeout(J);window.setTimeout(function(){a.isMouseDown||(J=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)),v.style.transformOrigin="",C.style.transformOrigin="",mxClient.IS_SF?(v.style.transform="scale(1)",C.style.transform="scale(1)",window.setTimeout(function(){v.style.transform="";C.style.transform=""},0)):(v.style.transform= -"",C.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var c=new mxPoint(a.container.scrollLeft,a.container.scrollTop),f=a.view.scale;a.zoom(a.cumulativeZoomFactor);if(a.view.scale!=f){var f=mxUtils.getOffset(a.container),d=0,g=0;null!=L&&(d=a.container.offsetWidth/2-L.x+f.x,g=a.container.offsetHeight/2-L.y+f.y);null!=I&&(d+=c.x-I.x,g+=c.y-I.y);null!=b&&e.chromelessResize(!1,null,d*(a.cumulativeZoomFactor-1),g*(a.cumulativeZoomFactor-1));!mxUtils.hasScrollbars(a.container)|| -0==d&&0==g||(a.container.scrollLeft-=d*(a.cumulativeZoomFactor-1),a.container.scrollTop-=g*(a.cumulativeZoomFactor-1))}a.cumulativeZoomFactor=1;L=I=J=null}),null!=c?c:a.isFastZoomEnabled()?e.wheelZoomDelay:e.lazyZoomDelay))},0)};a.lazyZoom=function(c,b,f){b&&(L=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));c?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:(this.cumulativeZoomFactor*= -this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/this.view.scale;if(a.isFastZoomEnabled()){I= -new mxPoint(a.container.scrollLeft,a.container.scrollTop);c=b?a.container.scrollLeft+a.container.clientWidth/2:L.x+a.container.scrollLeft-a.container.offsetLeft;var d=b?a.container.scrollTop+a.container.clientHeight/2:L.y+a.container.scrollTop-a.container.offsetTop;v.style.transformOrigin=c+"px "+d+"px";v.style.transform="scale("+this.cumulativeZoomFactor+")";C.style.transformOrigin=c+"px "+d+"px";C.style.transform="scale("+this.cumulativeZoomFactor+")";null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&& -(c=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(c.style,"transform-origin",(b?a.container.clientWidth/2+a.container.scrollLeft-c.offsetLeft+"px":L.x+a.container.scrollLeft-c.offsetLeft-a.container.offsetLeft+"px")+" "+(b?a.container.clientHeight/2+a.container.scrollTop-c.offsetTop+"px":L.y+a.container.scrollTop-c.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(c.style,"transform","scale("+this.cumulativeZoomFactor+")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity= -"0";null!=e.hoverIcons&&e.hoverIcons.reset()}N(f)};mxEvent.addGestureListeners(a.container,function(a){null!=J&&window.clearTimeout(J)},null,function(c){1!=a.cumulativeZoomFactor&&N(0)});mxEvent.addListener(a.container,"scroll",function(){J&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&N(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(c,b,f){if((null==this.dialogs||0==this.dialogs.length)&&(f||a.isZoomWheelEvent(c)))for(f=mxEvent.getSource(c);null!=f;){if(f==a.container)return L=new mxPoint(mxEvent.getClientX(c), -mxEvent.getClientY(c)),a.lazyZoom(b),mxEvent.consume(c),!1;f=f.parentNode}}),a.container)};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; +"",C.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var d=new mxPoint(a.container.scrollLeft,a.container.scrollTop),f=mxUtils.getOffset(a.container),c=a.view.scale,k=0,g=0;null!=L&&(k=a.container.offsetWidth/2-L.x+f.x,g=a.container.offsetHeight/2-L.y+f.y);a.zoom(a.cumulativeZoomFactor);a.view.scale!=c&&(null!=I&&(k+=d.x-I.x,g+=d.y-I.y),null!=b&&e.chromelessResize(!1,null,k*(a.cumulativeZoomFactor-1),g*(a.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)|| +0==k&&0==g||(a.container.scrollLeft-=k*(a.cumulativeZoomFactor-1),a.container.scrollTop-=g*(a.cumulativeZoomFactor-1)));a.cumulativeZoomFactor=1;L=I=J=null}),null!=d?d:a.isFastZoomEnabled()?e.wheelZoomDelay:e.lazyZoomDelay))},0)};a.lazyZoom=function(d,b,f){(b=b||!a.scrollbars)&&(L=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));d?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale: +(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/ +this.view.scale;if(a.isFastZoomEnabled()){I=new mxPoint(a.container.scrollLeft,a.container.scrollTop);d=b?a.container.scrollLeft+a.container.clientWidth/2:L.x+a.container.scrollLeft-a.container.offsetLeft;var c=b?a.container.scrollTop+a.container.clientHeight/2:L.y+a.container.scrollTop-a.container.offsetTop;v.style.transformOrigin=d+"px "+c+"px";v.style.transform="scale("+this.cumulativeZoomFactor+")";C.style.transformOrigin=d+"px "+c+"px";C.style.transform="scale("+this.cumulativeZoomFactor+")"; +null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(d=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(d.style,"transform-origin",(b?a.container.clientWidth/2+a.container.scrollLeft-d.offsetLeft+"px":L.x+a.container.scrollLeft-d.offsetLeft-a.container.offsetLeft+"px")+" "+(b?a.container.clientHeight/2+a.container.scrollTop-d.offsetTop+"px":L.y+a.container.scrollTop-d.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(d.style,"transform","scale("+this.cumulativeZoomFactor+ +")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=e.hoverIcons&&e.hoverIcons.reset()}N(f)};mxEvent.addGestureListeners(a.container,function(a){null!=J&&window.clearTimeout(J)},null,function(d){1!=a.cumulativeZoomFactor&&N(0)});mxEvent.addListener(a.container,"scroll",function(){J&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&N(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(d,b,f){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&& +!a.isZoomWheelEvent(d)){f=a.view.getTranslate();var c=40/a.view.scale;mxEvent.isShiftDown(d)?a.view.setTranslate(f.x+(b?-c:c),f.y):a.view.setTranslate(f.x,f.y+(b?c:-c))}else if(f||a.isZoomWheelEvent(d))for(f=mxEvent.getSource(d);null!=f;){if(f==a.container)return L=new mxPoint(mxEvent.getClientX(d),mxEvent.getClientY(d)),a.lazyZoom(b),mxEvent.consume(d),!1;f=f.parentNode}}),a.container);a.panningHandler.zoomGraph=function(d){a.cumulativeZoomFactor=d.scale;a.lazyZoom(0<d.scale,!0);mxEvent.consume(d)}}; +EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return 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){null!=this.format&&(this.formatWidth=a||0<this.formatWidth?0:240,this.formatContainer.style.display=a||0<this.formatWidth?"":"none",this.refresh(),this.format.refresh(),this.fireEvent(new mxEventObject("formatWidthChanged")))}; EditorUi.prototype.lightboxFit=function(a){if(this.isDiagramEmpty())this.editor.graph.view.setScale(1);else{var b=urlParams.border,e=60;null!=b&&(e=parseInt(b));this.editor.graph.maxFitScale=this.lightboxMaxFitScale;this.editor.graph.fit(e,null,null,null,null,null,a);this.editor.graph.maxFitScale=null}};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))}; EditorUi.prototype.isSelectionAllowed=function(a){return"SELECT"==mxEvent.getSource(a).nodeName||"INPUT"==mxEvent.getSource(a).nodeName&&mxUtils.isAncestorNode(this.formatContainer,mxEvent.getSource(a))};EditorUi.prototype.addBeforeUnloadListener=function(){window.onbeforeunload=mxUtils.bind(this,function(){if(!this.editor.isChromelessView())return this.onBeforeUnload()})};EditorUi.prototype.onBeforeUnload=function(){if(this.editor.modified)return mxResources.get("allChangesLost")}; -EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(d){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+d.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange(); +EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(c){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+c.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange(); this.editor.fireEvent(new mxEventObject("resetGraphView"))};EditorUi.prototype.setCurrentMenu=function(a,b){this.currentMenuElt=b;this.currentMenu=a};EditorUi.prototype.resetCurrentMenu=function(){this.currentMenu=this.currentMenuElt=null};EditorUi.prototype.hideCurrentMenu=function(){null!=this.currentMenu&&(this.currentMenu.hideMenu(),this.resetCurrentMenu())}; EditorUi.prototype.updateDocumentTitle=function(){var a=this.editor.getOrCreateFilename();null!=this.editor.appName&&(a+=" - "+this.editor.appName);document.title=a};EditorUi.prototype.createHoverIcons=function(){return new HoverIcons(this.editor.graph)};EditorUi.prototype.redo=function(){try{this.editor.graph.isEditing()?document.execCommand("redo",!1,null):this.editor.undoManager.redo()}catch(a){}}; EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var b=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);b==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(e){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()}; EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.editor.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0,e;for(e in urlParams)a=0==b?a+"?":a+"&",a+=e+"="+urlParams[e],b++;return a}; -EditorUi.prototype.setScrollbars=function(a){var b=this.editor.graph,e=b.container.style.overflow;b.scrollbars=a;this.editor.updateGraphComponents();e!=b.container.style.overflow&&("hidden"==b.container.style.overflow?(a=b.view.translate,b.view.setTranslate(a.x-b.container.scrollLeft/b.view.scale,a.y-b.container.scrollTop/b.view.scale),b.container.scrollLeft=0,b.container.scrollTop=0,b.minimumGraphSize=null,b.sizeDidChange()):(a=b.view.translate.x,e=b.view.translate.y,b.view.translate.x=0,b.view.translate.y= -0,b.sizeDidChange(),b.container.scrollLeft-=Math.round(a*b.view.scale),b.container.scrollTop-=Math.round(e*b.view.scale)));this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars}; +EditorUi.prototype.setScrollbars=function(a){var b=this.editor.graph,e=b.container.style.overflow;b.scrollbars=a;this.editor.updateGraphComponents();e!=b.container.style.overflow&&(b.container.scrollTop=0,b.container.scrollLeft=0,b.view.scaleAndTranslate(1,0,0),this.resetScrollbars());this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars}; EditorUi.prototype.resetScrollbars=function(){var a=this.editor.graph;if(!this.editor.extendCanvas)a.container.scrollTop=0,a.container.scrollLeft=0,mxUtils.hasScrollbars(a.container)||a.view.setTranslate(0,0);else if(!this.editor.isChromelessView())if(mxUtils.hasScrollbars(a.container))if(a.pageVisible){var b=a.getPagePadding();a.container.scrollTop=Math.floor(b.y-this.editor.initialTopSpacing)-1;a.container.scrollLeft=Math.floor(Math.min(b.x,(a.container.scrollWidth-a.container.clientWidth)/2))- 1;b=a.getGraphBounds();0<b.width&&0<b.height&&(b.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(b.x+b.width-a.container.clientWidth,b.x-10)),b.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(b.y+b.height-a.container.clientHeight,b.y-10)))}else{var b=a.getGraphBounds(),e=Math.max(b.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,b.y-Math.max(20,(a.container.clientHeight-Math.max(b.height, -a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-e)/2)))}else a.pageVisible?(b=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x),Math.floor(Math.max(0,(a.container.clientHeight-b.height)/2)-b.y))):(b=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-b.width)/2)-b.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight- -b.height)/4))-b.y)))}; -EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),d=0,k=0;e&&(d=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-d,b.container.scrollTop=b.view.translate.y* -b.view.scale-k);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,d){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=d;this.ignoreImage=this.ignoreColor=!1} +a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-e)/2)))}else{var b=mxRectangle.fromRectangle(a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds()),e=a.view.translate,c=a.view.scale;b.x=b.x/c-e.x;b.y=b.y/c-e.y;b.width/=c;b.height/=c;a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x+2),Math.floor((a.pageVisible?0:Math.max(0,(a.container.clientHeight-b.height)/4))-b.y+1))}}; +EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),c=0,l=0;e&&(c=b.view.translate.x*b.view.scale-b.container.scrollLeft,l=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-c,b.container.scrollTop=b.view.translate.y* +b.view.scale-l);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,c){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=c;this.ignoreImage=this.ignoreColor=!1} ChangePageSetup.prototype.execute=function(){var a=this.ui.editor.graph;if(!this.ignoreColor){this.color=this.previousColor;var b=a.background;this.ui.setBackgroundColor(this.previousColor);this.previousColor=b}this.ignoreImage||(this.image=this.previousImage,b=a.backgroundImage,this.ui.setBackgroundImage(this.previousImage),this.previousImage=b);null!=this.previousFormat&&(this.format=this.previousFormat,b=a.pageFormat,this.previousFormat.width!=b.width||this.previousFormat.height!=b.height)&&(this.ui.setPageFormat(this.previousFormat), -this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);return d};mxCodecRegistry.register(a)})(); +this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);return c};mxCodecRegistry.register(a)})(); EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};EditorUi.prototype.setFoldingEnabled=function(a){this.editor.graph.foldingEnabled=a;this.editor.graph.view.revalidate();this.fireEvent(new mxEventObject("foldingEnabledChanged"))}; EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageFormatChanged"))};EditorUi.prototype.setPageScale=function(a){this.editor.graph.pageScale=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageScaleChanged"))}; EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))}; -EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,d=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,d);e.addListener(mxEvent.UNDO,d);e.addListener(mxEvent.REDO,d);e.addListener(mxEvent.CLEAR,d);var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);d()};var m=this.editor.graph.cellEditor.stopEditing; -this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);d()};d()}; -EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,d=!1,k=a.getSelectionCells();if(null!=k)for(var m=0;m<k.length;m++){var p=k[m];a.getModel().isEdge(p)&&(d=!0);a.getModel().isVertex(p)&&(e=!0);if(d&&e)break}k="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(m= -0;m<k.length;m++)this.actions.get(k[m]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(d);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);d=e&&1== -a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||d&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||d&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(d&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot); +EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,c=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,c);e.addListener(mxEvent.UNDO,c);e.addListener(mxEvent.REDO,c);e.addListener(mxEvent.CLEAR,c);var l=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){l.apply(this,arguments);c()};var m=this.editor.graph.cellEditor.stopEditing; +this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);c()};c()}; +EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,c=!1,l=a.getSelectionCells();if(null!=l)for(var m=0;m<l.length;m++){var p=l[m];a.getModel().isEdge(p)&&(c=!0);a.getModel().isVertex(p)&&(e=!0);if(c&&e)break}l="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(m= +0;m<l.length;m++)this.actions.get(l[m]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(c);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);c=e&&1== +a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||c&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||c&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(c&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot); this.actions.get("collapsible").setEnabled(e&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b); this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&e);this.menus.get("align").setEnabled(b&& e&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&e&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()};EditorUi.prototype.zeroOffset=new mxPoint(0,0);EditorUi.prototype.getDiagramContainerOffset=function(){return this.zeroOffset}; -EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,d=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,d=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var k=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& -(k=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var m=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),p=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",p+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",p+=this.toolbarHeight);0<p&&!mxClient.IS_QUIRKS&&(p+=1);var u=0;if(null!=this.sidebarFooterContainer){var y= -this.footerHeight+k,u=Math.max(0,Math.min(d-p-y,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=m+"px";this.sidebarFooterContainer.style.height=u+"px";this.sidebarFooterContainer.style.bottom=y+"px"}y=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=p+"px";this.sidebarContainer.style.width=m+"px";this.formatContainer.style.top=p+"px";this.formatContainer.style.width=y+"px";this.formatContainer.style.display=null!=this.format?"":"none";var B=this.getDiagramContainerOffset(), -c=null!=this.hsplit.parentNode?m+this.splitSize:0;this.diagramContainer.style.left=c+B.x+"px";this.diagramContainer.style.top=p+B.y+"px";this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+k+"px";this.hsplit.style.left=m+"px";this.footerContainer.style.display=0==this.footerHeight?"none":"";null!=this.tabContainer&&(this.tabContainer.style.left=c+"px");b?(this.menubarContainer.style.width=e+"px", -this.toolbarContainer.style.width=this.menubarContainer.style.width,b=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-u+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-m-this.splitSize-y)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,u=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width= -this.diagramContainer.style.width,this.tabContainer.style.bottom=this.footerHeight+k+"px",u-=this.tabContainer.clientHeight),this.diagramContainer.style.height=u+"px",this.hsplit.style.height=u+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=k+"px"),this.diagramContainer.style.right=y+"px",e=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+k+"px",this.tabContainer.style.right=this.diagramContainer.style.right,e=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom= -this.footerHeight+u+k+"px",this.formatContainer.style.bottom=this.footerHeight+k+"px",this.diagramContainer.style.bottom=this.footerHeight+k+e+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null}; +EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,c=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,c=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var l=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& +(l=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var m=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),p=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",p+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",p+=this.toolbarHeight);0<p&&!mxClient.IS_QUIRKS&&(p+=1);var u=0;if(null!=this.sidebarFooterContainer){var z= +this.footerHeight+l,u=Math.max(0,Math.min(c-p-z,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=m+"px";this.sidebarFooterContainer.style.height=u+"px";this.sidebarFooterContainer.style.bottom=z+"px"}z=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=p+"px";this.sidebarContainer.style.width=m+"px";this.formatContainer.style.top=p+"px";this.formatContainer.style.width=z+"px";this.formatContainer.style.display=null!=this.format?"":"none";var B=this.getDiagramContainerOffset(), +d=null!=this.hsplit.parentNode?m+this.splitSize:0;this.diagramContainer.style.left=d+B.x+"px";this.diagramContainer.style.top=p+B.y+"px";this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+l+"px";this.hsplit.style.left=m+"px";this.footerContainer.style.display=0==this.footerHeight?"none":"";null!=this.tabContainer&&(this.tabContainer.style.left=d+"px");b?(this.menubarContainer.style.width=e+"px", +this.toolbarContainer.style.width=this.menubarContainer.style.width,b=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-u+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-m-this.splitSize-z)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,u=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width= +this.diagramContainer.style.width,this.tabContainer.style.bottom=this.footerHeight+l+"px",u-=this.tabContainer.clientHeight),this.diagramContainer.style.height=u+"px",this.hsplit.style.height=u+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=l+"px"),this.diagramContainer.style.right=z+"px",e=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+l+"px",this.tabContainer.style.right=this.diagramContainer.style.right,e=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom= +this.footerHeight+u+l+"px",this.formatContainer.style.bottom=this.footerHeight+l+"px",this.diagramContainer.style.bottom=this.footerHeight+l+e+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null}; EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer geFormatContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand")); this.menubarContainer.style.top="0px";this.menubarContainer.style.left="0px";this.menubarContainer.style.right="0px";this.toolbarContainer.style.left="0px";this.toolbarContainer.style.right="0px";this.sidebarContainer.style.left="0px";this.formatContainer.style.right="0px";this.formatContainer.style.zIndex="1";this.diagramContainer.style.right=(null!=this.format?this.formatWidth:0)+"px";this.footerContainer.style.left="0px";this.footerContainer.style.right="0px";this.footerContainer.style.bottom= "0px";this.footerContainer.style.zIndex=mxPopupMenu.prototype.zIndex-2;this.hsplit.style.width=this.splitSize+"px";if(this.sidebarFooterContainer=this.createSidebarFooterContainer())this.sidebarFooterContainer.style.left="0px";this.editor.chromeless?this.diagramContainer.style.border="none":this.tabContainer=this.createTabContainer()};EditorUi.prototype.createSidebarFooterContainer=function(){return null}; @@ -2206,82 +2206,82 @@ this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContaine this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit, !0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";420>screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var b=document.createElement("div");b.className=a;return b}; -EditorUi.prototype.addSplitHandler=function(a,b,e,d){function k(a){if(null!=p){var f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));d(Math.max(0,u+(b?f.x-p.x:p.y-f.y)-e));mxEvent.consume(a);u!=c()&&(y=!0,B=null)}}function m(a){k(a);p=u=null}var p=null,u=null,y=!0,B=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var c=mxUtils.bind(this,function(){var c=parseInt(b?a.style.left:a.style.bottom);b||(c=c+e-this.footerHeight);return c});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));u=c();y=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){if(!y&&this.hsplitClickEnabled){var b=null!=B?B-e:0;B=c();d(b);mxEvent.consume(a)}}));mxEvent.addGestureListeners(document,null,k,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,k,m)})}; -EditorUi.prototype.handleError=function(a,b,e,d,k){a=null!=a&&null!=a.error?a.error:a;if(null!=a||null!=b){k=mxUtils.htmlEntities(mxResources.get("unknownError"));var m=mxResources.get("ok");b=null!=b?b:mxResources.get("error");null!=a&&null!=a.message&&(k=mxUtils.htmlEntities(a.message));this.showError(b,k,m,e,null,null,null,null,null,null,null,null,d?e:null)}else null!=e&&e()}; -EditorUi.prototype.showError=function(a,b,e,d,k,m,p,u,y,B,c,f,g){a=new ErrorDialog(this,a,b,e||mxResources.get("ok"),d,k,m,p,f,u,y);b=Math.ceil(null!=b?b.length/50:1);this.showDialog(a.container,B||340,c||100+20*b,!0,!1,g);a.init()};EditorUi.prototype.showDialog=function(a,b,e,d,k,m,p,u,y,B){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,d,k,m,p,u,y,B);this.dialogs.push(this.dialog)}; +EditorUi.prototype.addSplitHandler=function(a,b,e,c){function l(a){if(null!=p){var f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));c(Math.max(0,u+(b?f.x-p.x:p.y-f.y)-e));mxEvent.consume(a);u!=d()&&(z=!0,B=null)}}function m(a){l(a);p=u=null}var p=null,u=null,z=!0,B=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var d=mxUtils.bind(this,function(){var d=parseInt(b?a.style.left:a.style.bottom);b||(d=d+e-this.footerHeight);return d});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), +mxEvent.getClientY(a));u=d();z=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){if(!z&&this.hsplitClickEnabled){var b=null!=B?B-e:0;B=d();c(b);mxEvent.consume(a)}}));mxEvent.addGestureListeners(document,null,l,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,l,m)})}; +EditorUi.prototype.handleError=function(a,b,e,c,l){a=null!=a&&null!=a.error?a.error:a;if(null!=a||null!=b){l=mxUtils.htmlEntities(mxResources.get("unknownError"));var m=mxResources.get("ok");b=null!=b?b:mxResources.get("error");null!=a&&null!=a.message&&(l=mxUtils.htmlEntities(a.message));this.showError(b,l,m,e,null,null,null,null,null,null,null,null,c?e:null)}else null!=e&&e()}; +EditorUi.prototype.showError=function(a,b,e,c,l,m,p,u,z,B,d,f,k){a=new ErrorDialog(this,a,b,e||mxResources.get("ok"),c,l,m,p,f,u,z);b=Math.ceil(null!=b?b.length/50:1);this.showDialog(a.container,B||340,d||100+20*b,!0,!1,k);a.init()};EditorUi.prototype.showDialog=function(a,b,e,c,l,m,p,u,z,B){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,c,l,m,p,u,z,B);this.dialogs.push(this.dialog)}; EditorUi.prototype.hideDialog=function(a,b){if(null!=this.dialogs&&0<this.dialogs.length){var e=this.dialogs.pop();0==e.close(a,b)?this.dialogs.push(e):(this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,this.editor.fireEvent(new mxEventObject("hideDialog")),null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&window.setTimeout(mxUtils.bind(this,function(){this.editor.graph.isEditing()&&null!=this.editor.graph.cellEditor.textarea?this.editor.graph.cellEditor.textarea.focus(): -(mxUtils.clearSelection(),this.editor.graph.container.focus())}),0))}};EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,d=e.cellEditor.saveSelection(),k=226+17*(Math.ceil(ColorDialog.prototype.presetColors.length/12)+Math.ceil(ColorDialog.prototype.defaultColors.length/12)),m=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(d);b(a)},function(){e.cellEditor.restoreSelection(d)});this.showDialog(m.container,230,k,!0,!1);m.init()}; +(mxUtils.clearSelection(),this.editor.graph.container.focus())}),0))}};EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,c=e.cellEditor.saveSelection(),l=226+17*(Math.ceil(ColorDialog.prototype.presetColors.length/12)+Math.ceil(ColorDialog.prototype.defaultColors.length/12)),m=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(c);b(a)},function(){e.cellEditor.restoreSelection(c)});this.showDialog(m.container,230,l,!0,!1);m.init()}; EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})}; -EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var d=a.lastIndexOf("</mxGraphModel>");d>e&&(b=a.substring(e,d+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(k){}return b}; +EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var c=a.lastIndexOf("</mxGraphModel>");c>e&&(b=a.substring(e,c+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(l){}return b}; EditorUi.prototype.extractGraphModelFromEvent=function(a){var b=null,e=null;null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a&&(10==document.documentMode||11==document.documentMode?e=a.getData("Text"):(e=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==e||0==e.length)&&(e=a.getData("text/plain"))),null!=e&&(e=Graph.zapGremlins(mxUtils.trim(e)),a=this.extractGraphModelFromHtml(e),null!=a&&(e=a))));null!=e&&this.isCompatibleString(e)&& (b=e);return b};EditorUi.prototype.isCompatibleString=function(a){return!1};EditorUi.prototype.saveFile=function(a){a||null==this.editor.filename?(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0<a.length)return!0;mxUtils.confirm(mxResources.get("invalidName"));return!1})),this.showDialog(a.container,300,100,!0,!0),a.init()):this.save(this.editor.getOrCreateFilename())}; EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var b=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,b);this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saved"))+" "+new Date)}else if(b.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&xml="+encodeURIComponent(b))).simulate(document, "_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(b);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(e){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}}; -EditorUi.prototype.executeLayout=function(a,b,e){var d=this.editor.graph;if(d.isEnabled()){d.getModel().beginUpdate();try{a()}catch(k){throw k;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(d),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){d.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(d.getModel().endUpdate(),null!=e&&e())}}}; -EditorUi.prototype.showImageDialog=function(a,b,e,d){d=this.editor.graph.cellEditor;var k=d.saveSelection(),m=mxUtils.prompt(a,b);d.restoreSelection(k);if(null!=m&&0<m.length){var p=new Image;p.onload=function(){e(m,p.width,p.height)};p.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};p.src=m}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.executeLayout=function(a,b,e){var c=this.editor.graph;if(c.isEnabled()){c.getModel().beginUpdate();try{a()}catch(l){throw l;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(c),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){c.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(c.getModel().endUpdate(),null!=e&&e())}}}; +EditorUi.prototype.showImageDialog=function(a,b,e,c){c=this.editor.graph.cellEditor;var l=c.saveSelection(),m=mxUtils.prompt(a,b);c.restoreSelection(l);if(null!=m&&0<m.length){var p=new Image;p.onload=function(){e(m,p.width,p.height)};p.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};p.src=m}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()}; EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(this,a),this.showDialog(a.container,480,420,!0,!1,null,!1),a.init())}; EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var b=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=b&&0<b.length){var e=new Image;e.onload=function(){a(new mxImage(b,e.width,e.height))};e.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};e.src=b}else a(null)}; EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,b,e){mxUtils.confirm(a)?null!=b&&b():null!=e&&e()}; EditorUi.prototype.createOutline=function(a){var b=new mxOutline(this.editor.graph);b.border=20;mxEvent.addListener(window,"resize",function(){b.update()});this.addListener("pageFormatChanged",function(){b.update()});return b};EditorUi.prototype.altShiftActions={67:"clearWaypoints",65:"connectionArrows",76:"editLink",80:"connectionPoints",84:"editTooltip",86:"pasteSize",88:"copySize"}; -EditorUi.prototype.createKeyHandler=function(a){function b(a,c,b){p.push(function(){if(!d.isSelectionEmpty()&&d.isEnabled())if(c=null!=c?c:1,b){d.getModel().beginUpdate();try{for(var f=d.getSelectionCells(),g=0;g<f.length;g++)if(d.getModel().isVertex(f[g])&&d.isCellResizable(f[g])){var e=d.getCellGeometry(f[g]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-c):38==a?e.height=Math.max(0,e.height-c):39==a?e.width+=c:40==a&&(e.height+=c),d.getModel().setGeometry(f[g],e))}}finally{d.getModel().endUpdate()}}else f= -d.getSelectionCell(),g=d.model.getParent(f),e=null,1==d.getSelectionCount()&&d.model.isVertex(f)&&null!=d.layoutManager&&!d.isCellLocked(f)&&(e=d.layoutManager.getLayout(g)),null!=e&&e.constructor==mxStackLayout?(e=g.getIndex(f),37==a||38==a?d.model.add(g,f,Math.max(0,e-1)):39!=a&&40!=a||d.model.add(g,f,Math.min(d.model.getChildCount(g),e+1))):(g=f=0,37==a?f=-c:38==a?g=-c:39==a?f=c:40==a&&(g=c),d.moveCells(d.getMovableCells(d.getSelectionCells()),f,g))});null!=u&&window.clearTimeout(u);u=window.setTimeout(function(){if(0< -p.length){d.getModel().beginUpdate();try{for(var a=0;a<p.length;a++)p[a]();p=[]}finally{d.getModel().endUpdate()}d.scrollCellToVisible(d.getSelectionCell())}},200)}var e=this,d=this.editor.graph,k=new mxKeyHandler(d),m=k.isEventIgnored;k.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& -!mxClient.IS_SF)&&m.apply(this,arguments)};k.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};k.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var p=[],u=null,y={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},B=k.getFunction;mxKeyHandler.prototype.getFunction=function(a){if(d.isEnabled()){if(mxEvent.isShiftDown(a)&& -mxEvent.isAltDown(a)){var c=e.actions.get(e.altShiftActions[a.keyCode]);if(null!=c)return c.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){d.selectParentCell()}:function(){d.selectChildCell()};if(null!=y[a.keyCode]&&!d.isSelectionEmpty())if(!this.isControlDown(a)&&mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(d.model.isVertex(d.getSelectionCell()))return function(){var c=d.connectVertex(d.getSelectionCell(),y[a.keyCode],d.defaultEdgeLength,a,!0);null!=c&&0< -c.length&&(1==c.length&&d.model.isEdge(c[0])?d.setSelectionCell(d.model.getTerminal(c[0],!1)):d.setSelectionCell(c[c.length-1]),d.scrollCellToVisible(d.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(d.view.getState(d.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)?d.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?d.gridSize:null)}}return B.apply(this,arguments)};k.bindAction=mxUtils.bind(this,function(a,c,b,f){var d= -this.actions.get(b);null!=d&&(b=function(){d.isEnabled()&&d.funct()},c?f?k.bindControlShiftKey(a,b):k.bindControlKey(a,b):f?k.bindShiftKey(a,b):k.bindKey(a,b))});var c=this,f=k.escape;k.escape=function(a){f.apply(this,arguments)};k.enter=function(){};k.bindControlShiftKey(36,function(){d.exitGroup()});k.bindControlShiftKey(35,function(){d.enterGroup()});k.bindKey(36,function(){d.home()});k.bindKey(35,function(){d.refresh()});k.bindAction(107,!0,"zoomIn");k.bindAction(109,!0,"zoomOut");k.bindAction(80, -!0,"print");k.bindAction(79,!0,"outline",!0);k.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)k.bindControlKey(36,function(){d.isEnabled()&&d.foldCells(!0)}),k.bindControlKey(35,function(){d.isEnabled()&&d.foldCells(!1)}),k.bindControlKey(13,function(){if(d.isEnabled())try{d.setSelectionCells(d.duplicateCells(d.getSelectionCells(),!1))}catch(g){c.handleError(g)}}),k.bindAction(8,!1,"delete"),k.bindAction(8,!0,"deleteAll"),k.bindAction(46,!1,"delete"),k.bindAction(46,!0, -"deleteAll"),k.bindAction(72,!0,"resetView"),k.bindAction(72,!0,"fitWindow",!0),k.bindAction(74,!0,"fitPage"),k.bindAction(74,!0,"fitTwoPages",!0),k.bindAction(48,!0,"customZoom"),k.bindAction(82,!0,"turn"),k.bindAction(82,!0,"clearDefaultStyle",!0),k.bindAction(83,!0,"save"),k.bindAction(83,!0,"saveAs",!0),k.bindAction(65,!0,"selectAll"),k.bindAction(65,!0,"selectNone",!0),k.bindAction(73,!0,"selectVertices",!0),k.bindAction(69,!0,"selectEdges",!0),k.bindAction(69,!0,"editStyle"),k.bindAction(66, -!0,"bold"),k.bindAction(66,!0,"toBack",!0),k.bindAction(70,!0,"toFront",!0),k.bindAction(68,!0,"duplicate"),k.bindAction(68,!0,"setAsDefaultStyle",!0),k.bindAction(90,!0,"undo"),k.bindAction(89,!0,"autosize",!0),k.bindAction(88,!0,"cut"),k.bindAction(67,!0,"copy"),k.bindAction(86,!0,"paste"),k.bindAction(71,!0,"group"),k.bindAction(77,!0,"editData"),k.bindAction(71,!0,"grid",!0),k.bindAction(73,!0,"italic"),k.bindAction(76,!0,"lockUnlock"),k.bindAction(76,!0,"layers",!0),k.bindAction(80,!0,"formatPanel", -!0),k.bindAction(85,!0,"underline"),k.bindAction(85,!0,"ungroup",!0),k.bindAction(190,!0,"superscript"),k.bindAction(188,!0,"subscript"),k.bindKey(13,function(){d.isEnabled()&&d.startEditingAtCell()}),k.bindKey(113,function(){d.isEnabled()&&d.startEditingAtCell()});mxClient.IS_WIN?k.bindAction(89,!0,"redo"):k.bindAction(90,!0,"redo",!0);return k}; +EditorUi.prototype.createKeyHandler=function(a){function b(a,d,b){p.push(function(){if(!c.isSelectionEmpty()&&c.isEnabled())if(d=null!=d?d:1,b){c.getModel().beginUpdate();try{for(var f=c.getSelectionCells(),k=0;k<f.length;k++)if(c.getModel().isVertex(f[k])&&c.isCellResizable(f[k])){var e=c.getCellGeometry(f[k]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-d):38==a?e.height=Math.max(0,e.height-d):39==a?e.width+=d:40==a&&(e.height+=d),c.getModel().setGeometry(f[k],e))}}finally{c.getModel().endUpdate()}}else f= +c.getSelectionCell(),k=c.model.getParent(f),e=null,1==c.getSelectionCount()&&c.model.isVertex(f)&&null!=c.layoutManager&&!c.isCellLocked(f)&&(e=c.layoutManager.getLayout(k)),null!=e&&e.constructor==mxStackLayout?(e=k.getIndex(f),37==a||38==a?c.model.add(k,f,Math.max(0,e-1)):39!=a&&40!=a||c.model.add(k,f,Math.min(c.model.getChildCount(k),e+1))):(k=f=0,37==a?f=-d:38==a?k=-d:39==a?f=d:40==a&&(k=d),c.moveCells(c.getMovableCells(c.getSelectionCells()),f,k))});null!=u&&window.clearTimeout(u);u=window.setTimeout(function(){if(0< +p.length){c.getModel().beginUpdate();try{for(var a=0;a<p.length;a++)p[a]();p=[]}finally{c.getModel().endUpdate()}c.scrollCellToVisible(c.getSelectionCell())}},200)}var e=this,c=this.editor.graph,l=new mxKeyHandler(c),m=l.isEventIgnored;l.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& +!mxClient.IS_SF)&&m.apply(this,arguments)};l.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};l.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var p=[],u=null,z={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},B=l.getFunction;mxKeyHandler.prototype.getFunction=function(a){if(c.isEnabled()){if(mxEvent.isShiftDown(a)&& +mxEvent.isAltDown(a)){var d=e.actions.get(e.altShiftActions[a.keyCode]);if(null!=d)return d.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){c.selectParentCell()}:function(){c.selectChildCell()};if(null!=z[a.keyCode]&&!c.isSelectionEmpty())if(!this.isControlDown(a)&&mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(c.model.isVertex(c.getSelectionCell()))return function(){var d=c.connectVertex(c.getSelectionCell(),z[a.keyCode],c.defaultEdgeLength,a,!0);null!=d&&0< +d.length&&(1==d.length&&c.model.isEdge(d[0])?c.setSelectionCell(c.model.getTerminal(d[0],!1)):c.setSelectionCell(d[d.length-1]),c.scrollCellToVisible(c.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(c.view.getState(c.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null)}}return B.apply(this,arguments)};l.bindAction=mxUtils.bind(this,function(a,d,b,f){var c= +this.actions.get(b);null!=c&&(b=function(){c.isEnabled()&&c.funct()},d?f?l.bindControlShiftKey(a,b):l.bindControlKey(a,b):f?l.bindShiftKey(a,b):l.bindKey(a,b))});var d=this,f=l.escape;l.escape=function(a){f.apply(this,arguments)};l.enter=function(){};l.bindControlShiftKey(36,function(){c.exitGroup()});l.bindControlShiftKey(35,function(){c.enterGroup()});l.bindKey(36,function(){c.home()});l.bindKey(35,function(){c.refresh()});l.bindAction(107,!0,"zoomIn");l.bindAction(109,!0,"zoomOut");l.bindAction(80, +!0,"print");l.bindAction(79,!0,"outline",!0);l.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)l.bindControlKey(36,function(){c.isEnabled()&&c.foldCells(!0)}),l.bindControlKey(35,function(){c.isEnabled()&&c.foldCells(!1)}),l.bindControlKey(13,function(){if(c.isEnabled())try{c.setSelectionCells(c.duplicateCells(c.getSelectionCells(),!1))}catch(k){d.handleError(k)}}),l.bindAction(8,!1,"delete"),l.bindAction(8,!0,"deleteAll"),l.bindAction(46,!1,"delete"),l.bindAction(46,!0, +"deleteAll"),l.bindAction(72,!0,"resetView"),l.bindAction(72,!0,"fitWindow",!0),l.bindAction(74,!0,"fitPage"),l.bindAction(74,!0,"fitTwoPages",!0),l.bindAction(48,!0,"customZoom"),l.bindAction(82,!0,"turn"),l.bindAction(82,!0,"clearDefaultStyle",!0),l.bindAction(83,!0,"save"),l.bindAction(83,!0,"saveAs",!0),l.bindAction(65,!0,"selectAll"),l.bindAction(65,!0,"selectNone",!0),l.bindAction(73,!0,"selectVertices",!0),l.bindAction(69,!0,"selectEdges",!0),l.bindAction(69,!0,"editStyle"),l.bindAction(66, +!0,"bold"),l.bindAction(66,!0,"toBack",!0),l.bindAction(70,!0,"toFront",!0),l.bindAction(68,!0,"duplicate"),l.bindAction(68,!0,"setAsDefaultStyle",!0),l.bindAction(90,!0,"undo"),l.bindAction(89,!0,"autosize",!0),l.bindAction(88,!0,"cut"),l.bindAction(67,!0,"copy"),l.bindAction(86,!0,"paste"),l.bindAction(71,!0,"group"),l.bindAction(77,!0,"editData"),l.bindAction(71,!0,"grid",!0),l.bindAction(73,!0,"italic"),l.bindAction(76,!0,"lockUnlock"),l.bindAction(76,!0,"layers",!0),l.bindAction(80,!0,"formatPanel", +!0),l.bindAction(85,!0,"underline"),l.bindAction(85,!0,"ungroup",!0),l.bindAction(190,!0,"superscript"),l.bindAction(188,!0,"subscript"),l.bindKey(13,function(){c.isEnabled()&&c.startEditingAtCell()}),l.bindKey(113,function(){c.isEnabled()&&c.startEditingAtCell()});mxClient.IS_WIN?l.bindAction(89,!0,"redo"):l.bindAction(90,!0,"redo",!0);return l}; EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&& (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window, -"scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var b=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<b.length;a++)null!=b[a]&&null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a])};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);(function(){var a=[["nbsp","160"],["shy","173"]],b=mxUtils.parseXml;mxUtils.parseXml=function(e){for(var d=0;d<a.length;d++)e=e.replace(new RegExp("&"+a[d][0]+";","g"),"&#"+a[d][1]+";");return b(e)}})(); +"scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var b=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<b.length;a++)null!=b[a]&&null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a])};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);(function(){var a=[["nbsp","160"],["shy","173"]],b=mxUtils.parseXml;mxUtils.parseXml=function(e){for(var c=0;c<a.length;c++)e=e.replace(new RegExp("&"+a[c][0]+";","g"),"&#"+a[c][1]+";");return b(e)}})(); Date.prototype.toISOString||function(){function a(a){a=String(a);1===a.length&&(a="0"+a);return a}Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1E3).toFixed(3)).slice(2,5)+"Z"}}();Date.now||(Date.now=function(){return(new Date).getTime()});mxConstants.POINTS=1;mxConstants.MILLIMETERS=2;mxConstants.INCHES=3; mxConstants.PIXELS_PER_MM=3.937;mxConstants.PIXELS_PER_INCH=100;mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1;(function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(b){}})(); mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1;mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.defaultGridColor="#d0d0d0";mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultGridColor; mxGraphView.prototype.unit=mxConstants.POINTS;mxGraphView.prototype.setUnit=function(a){this.unit!=a&&(this.unit=a,this.fireEvent(new mxEventObject("unitChanged","unit",a)))};mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]";mxShape.prototype.getConstraints=function(a,b,e){return null}; -Graph=function(a,b,e,d,k,m){mxGraph.call(this,a,b,e,d);this.themes=k||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);this.standalone=null!=m?m:!1;a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var c=this.view.getState(a);a= -null!=c?c.style:this.getCellStyle(a);return null!=a?"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]:!1};if(this.edgeMode){var p=null,u=null,y=null,B=null,c=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var f=b.getProperty("event");if(!mxEvent.isControlDown(f.getEvent())&&!mxEvent.isShiftDown(f.getEvent())){var d=f.getState();null!=d&&this.model.isEdge(d.cell)&&(p=new mxPoint(f.getGraphX(),f.getGraphY()), -c=this.isCellSelected(d.cell),y=d,u=f,null!=d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,f.getGraphX(),f.getGraphY())?B=mxEvent.LABEL_HANDLE:(d=this.selectionCellsHandler.getHandler(d.cell),null!=d&&null!=d.bends&&0<d.bends.length&&(B=d.getHandleForEvent(f))))}}}));this.addMouseListener({mouseDown:function(a,c){},mouseMove:mxUtils.bind(this,function(a,b){var f=this.selectionCellsHandler.handlers.map,d;for(d in f)if(null!=f[d].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&& -!mxEvent.isControlDown(b.getEvent())&&!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(d=this.tolerance,null!=p&&null!=y&&null!=u){if(f=y,Math.abs(p.x-b.getGraphX())>d||Math.abs(p.y-b.getGraphY())>d){this.isCellSelected(f.cell)||this.setSelectionCell(f.cell);var g=this.selectionCellsHandler.getHandler(f.cell);if(null!=g&&null!=g.bends&&0<g.bends.length){var e=g.getHandleForEvent(u),l=this.view.getEdgeStyle(f);d=l==mxEdgeStyle.EntityRelation;c||B!=mxEvent.LABEL_HANDLE||(e=B); -if(d&&0!=e&&e!=g.bends.length-1&&e!=mxEvent.LABEL_HANDLE)!d||null==f.visibleSourceState&&null==f.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(e==mxEvent.LABEL_HANDLE||0==e||null!=f.visibleSourceState||e==g.bends.length-1||null!=f.visibleTargetState)d||e==mxEvent.LABEL_HANDLE||(d=f.absolutePoints,null!=d&&(null==l&&null==e||l==mxEdgeStyle.OrthConnector)&&(e=B,null==e&&(e=new mxRectangle(p.x,p.y),e.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(e,d[0].x,d[0].y)? -e=0:mxUtils.contains(e,d[d.length-1].x,d[d.length-1].y)?e=g.bends.length-1:null!=l&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?e=2:(e=mxUtils.findNearestSegment(f,p.x,p.y),e=null==l?mxEvent.VIRTUAL_HANDLE-e:e+1))),null==e&&(e=mxEvent.VIRTUAL_HANDLE)),g.start(b.getGraphX(),b.getGraphX(),e),B=p=u=y=null,c=!1,b.consume(),this.graphHandler.reset()}}}else if(f=b.getState(),null!=f&&this.model.isEdge(f.cell)){g= -null;d=f.absolutePoints;if(null!=d)if(e=new mxRectangle(b.getGraphX(),b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,d[0].x,d[0].y)||mxUtils.contains(e,d[d.length-1].x,d[d.length-1].y))g="pointer";else if(null!=f.visibleSourceState||null!=f.visibleTargetState)l=this.view.getEdgeStyle(f),g="crosshair",l!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(f)&& -(l=mxUtils.findNearestSegment(f,b.getGraphX(),b.getGraphY()),l<d.length-1&&0<=l&&(g=0==Math.round(d[l].x-d[l+1].x)?"col-resize":"row-resize"));null!=g&&f.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,c){B=p=u=y=null})})}this.cellRenderer.getLabelValue=function(a){var c=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(c=1!=a.style.html?mxUtils.htmlEntities(c,!1):a.view.graph.sanitizeHtml(c));return c};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0); -this.setDropEnabled(!0);this.setPanning(!0);this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,c){return!1};this.alternateEdgeStyle="vertical";null==d&&this.loadStylesheet();var f=this.graphHandler.getGuideStates; -this.graphHandler.getGuideStates=function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var c=[],b=this.graph.pageFormat,d=this.graph.pageScale,g=b.width*d,b=b.height*d,d=this.graph.view.translate,e=this.graph.view.scale,l=this.graph.getPageLayout(),n=0;n<l.width;n++)c.push(new mxRectangle(((l.x+n)*g+d.x)*e,(l.y*b+d.y)*e,g*e,b*e));for(n=0;n<l.height;n++)c.push(new mxRectangle((l.x*g+d.x)*e,((l.y+n)*b+d.y)*e,g*e,b*e));a=c.concat(a)}return a};mxDragSource.prototype.dragElementZIndex= -mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(a,c){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)};this.graphHandler.getCells=function(a){for(var c=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],f=0;f<c.length;f++){var d=this.graph.view.getState(c[f]), -d=null!=d?d.style:this.graph.getCellStyle(c[f]);"1"==mxUtils.getValue(d,"part","0")?(d=this.graph.model.getParent(c[f]),this.graph.model.isVertex(d)&&0>mxUtils.indexOf(c,d)&&b.push(d)):b.push(c[f])}return b};this.connectionHandler.createTargetVertex=function(a,c){var b=this.graph.view.getState(c),b=null!=b?b.style:this.graph.getCellStyle(c);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(c),this.graph.model.isVertex(b)&&(c=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this, -arguments)};var g=new mxRubberband(this);this.getRubberband=function(){return g};var q=(new Date).getTime(),n=0,l=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;l.apply(this,arguments);a!=this.currentState?(q=(new Date).getTime(),n=0):n=(new Date).getTime()-q};var A=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<n||(null== -this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&A.apply(this,arguments)};var x=this.isToggleEvent;this.isToggleEvent=function(a){return x.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var t=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return t.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 F=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(F=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=F)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())}; -var z=this.click;this.click=function(a){var c=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!c||a.isConsumed())return z.apply(this,arguments);var b=c?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)));this.isEnabled()&&c&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var c= -null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(c?a.sourceState.cell:a.getCell())};var E=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return E.apply(this,arguments)};this.selectRegion=function(a,c){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,c);return b};this.getAllCells= -function(a,c,b,f,d,g){g=null!=g?g:[];if(0<b||0<f){var e=this.getModel(),l=a+b,n=c+f;null==d&&(d=this.getCurrentRoot(),null==d&&(d=e.getRoot()));if(null!=d)for(var v=e.getChildCount(d),q=0;q<v;q++){var t=e.getChildAt(d,q),A=this.view.getState(t);if(null!=A&&this.isCellVisible(t)&&"1"!=mxUtils.getValue(A.style,"locked","0")){var Q=mxUtils.getValue(A.style,mxConstants.STYLE_ROTATION)||0;0!=Q&&(A=mxUtils.getBoundingBox(A,Q));(e.isEdge(t)||e.isVertex(t))&&A.x>=a&&A.y+A.height<=n&&A.y>=c&&A.x+A.width<= -l&&g.push(t);this.getAllCells(a,c,b,f,t,g)}}}return g};var C=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,c,b){return this.graph.isCellSelected(a)?!1:C.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var v=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,c){if("mouseDown"== -c.getProperty("eventName")){var b=c.getProperty("event").getState();v=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,c){if(!mxEvent.isMultiTouchEvent(c)){var b=c.getProperty("event"),f=c.getProperty("cell");null==f?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=v?this.addSelectionCells(v):1<this.getSelectionCount()&&this.isCellSelected(f)&& -this.removeSelectionCell(f);v=null;c.consume()}}));this.connectionHandler.selectCells=function(a,c){this.graph.setSelectionCell(c||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,c){return c&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()})); +Graph=function(a,b,e,c,l,m){mxGraph.call(this,a,b,e,c);this.themes=l||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);this.standalone=null!=m?m:!1;a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var d=this.view.getState(a);a= +null!=d?d.style:this.getCellStyle(a);return null!=a?"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]:!1};if(this.edgeMode){var p=null,u=null,z=null,B=null,d=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var f=b.getProperty("event");if(!mxEvent.isControlDown(f.getEvent())&&!mxEvent.isShiftDown(f.getEvent())){var c=f.getState();null!=c&&this.model.isEdge(c.cell)&&(p=new mxPoint(f.getGraphX(),f.getGraphY()), +d=this.isCellSelected(c.cell),z=c,u=f,null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,f.getGraphX(),f.getGraphY())?B=mxEvent.LABEL_HANDLE:(c=this.selectionCellsHandler.getHandler(c.cell),null!=c&&null!=c.bends&&0<c.bends.length&&(B=c.getHandleForEvent(f))))}}}));this.addMouseListener({mouseDown:function(a,d){},mouseMove:mxUtils.bind(this,function(a,b){var f=this.selectionCellsHandler.handlers.map,c;for(c in f)if(null!=f[c].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&& +!mxEvent.isControlDown(b.getEvent())&&!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(c=this.tolerance,null!=p&&null!=z&&null!=u){if(f=z,Math.abs(p.x-b.getGraphX())>c||Math.abs(p.y-b.getGraphY())>c){this.isCellSelected(f.cell)||this.setSelectionCell(f.cell);var k=this.selectionCellsHandler.getHandler(f.cell);if(null!=k&&null!=k.bends&&0<k.bends.length){var g=k.getHandleForEvent(u),e=this.view.getEdgeStyle(f);c=e==mxEdgeStyle.EntityRelation;d||B!=mxEvent.LABEL_HANDLE||(g=B); +if(c&&0!=g&&g!=k.bends.length-1&&g!=mxEvent.LABEL_HANDLE)!c||null==f.visibleSourceState&&null==f.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(g==mxEvent.LABEL_HANDLE||0==g||null!=f.visibleSourceState||g==k.bends.length-1||null!=f.visibleTargetState)c||g==mxEvent.LABEL_HANDLE||(c=f.absolutePoints,null!=c&&(null==e&&null==g||e==mxEdgeStyle.OrthConnector)&&(g=B,null==g&&(g=new mxRectangle(p.x,p.y),g.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(g,c[0].x,c[0].y)? +g=0:mxUtils.contains(g,c[c.length-1].x,c[c.length-1].y)?g=k.bends.length-1:null!=e&&(2==c.length||3==c.length&&(0==Math.round(c[0].x-c[1].x)&&0==Math.round(c[1].x-c[2].x)||0==Math.round(c[0].y-c[1].y)&&0==Math.round(c[1].y-c[2].y)))?g=2:(g=mxUtils.findNearestSegment(f,p.x,p.y),g=null==e?mxEvent.VIRTUAL_HANDLE-g:g+1))),null==g&&(g=mxEvent.VIRTUAL_HANDLE)),k.start(b.getGraphX(),b.getGraphX(),g),B=p=u=z=null,d=!1,b.consume(),this.graphHandler.reset()}}}else if(f=b.getState(),null!=f&&this.model.isEdge(f.cell)){k= +null;c=f.absolutePoints;if(null!=c)if(g=new mxRectangle(b.getGraphX(),b.getGraphY()),g.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,b.getGraphX(),b.getGraphY()))k="move";else if(mxUtils.contains(g,c[0].x,c[0].y)||mxUtils.contains(g,c[c.length-1].x,c[c.length-1].y))k="pointer";else if(null!=f.visibleSourceState||null!=f.visibleTargetState)e=this.view.getEdgeStyle(f),k="crosshair",e!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(f)&& +(e=mxUtils.findNearestSegment(f,b.getGraphX(),b.getGraphY()),e<c.length-1&&0<=e&&(k=0==Math.round(c[e].x-c[e+1].x)?"col-resize":"row-resize"));null!=k&&f.setCursor(k)}}),mouseUp:mxUtils.bind(this,function(a,d){B=p=u=z=null})})}this.cellRenderer.getLabelValue=function(a){var d=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(d=1!=a.style.html?mxUtils.htmlEntities(d,!1):a.view.graph.sanitizeHtml(d));return d};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0); +this.setDropEnabled(!0);this.setPanning(!0);this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,d){return!1};this.alternateEdgeStyle="vertical";null==c&&this.loadStylesheet();var f=this.graphHandler.getGuideStates; +this.graphHandler.getGuideStates=function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,k=b.width*c,b=b.height*c,c=this.graph.view.translate,g=this.graph.view.scale,e=this.graph.getPageLayout(),n=0;n<e.width;n++)d.push(new mxRectangle(((e.x+n)*k+c.x)*g,(e.y*b+c.y)*g,k*g,b*g));for(n=0;n<e.height;n++)d.push(new mxRectangle((e.x*k+c.x)*g,((e.y+n)*b+c.y)*g,k*g,b*g));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex= +mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(a,d){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)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],f=0;f<d.length;f++){var c=this.graph.view.getState(d[f]), +c=null!=c?c.style:this.graph.getCellStyle(d[f]);"1"==mxUtils.getValue(c,"part","0")?(c=this.graph.model.getParent(d[f]),this.graph.model.isVertex(c)&&0>mxUtils.indexOf(d,c)&&b.push(c)):b.push(d[f])}return b};this.connectionHandler.createTargetVertex=function(a,d){var b=this.graph.view.getState(d),b=null!=b?b.style:this.graph.getCellStyle(d);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(d),this.graph.model.isVertex(b)&&(d=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this, +arguments)};var k=new mxRubberband(this);this.getRubberband=function(){return k};var q=(new Date).getTime(),n=0,g=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;g.apply(this,arguments);a!=this.currentState?(q=(new Date).getTime(),n=0):n=(new Date).getTime()-q};var A=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<n||(null== +this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&A.apply(this,arguments)};var x=this.isToggleEvent;this.isToggleEvent=function(a){return x.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var t=k.isForceRubberbandEvent;k.isForceRubberbandEvent=function(a){return t.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 E=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(E=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=E)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())}; +var y=this.click;this.click=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!d||a.isConsumed())return y.apply(this,arguments);var b=d?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)));this.isEnabled()&&d&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var d= +null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(d?a.sourceState.cell:a.getCell())};var D=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return D.apply(this,arguments)};this.selectRegion=function(a,d){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,d);return b};this.getAllCells= +function(a,d,b,f,c,k){k=null!=k?k:[];if(0<b||0<f){var g=this.getModel(),e=a+b,n=d+f;null==c&&(c=this.getCurrentRoot(),null==c&&(c=g.getRoot()));if(null!=c)for(var v=g.getChildCount(c),q=0;q<v;q++){var t=g.getChildAt(c,q),A=this.view.getState(t);if(null!=A&&this.isCellVisible(t)&&"1"!=mxUtils.getValue(A.style,"locked","0")){var Q=mxUtils.getValue(A.style,mxConstants.STYLE_ROTATION)||0;0!=Q&&(A=mxUtils.getBoundingBox(A,Q));(g.isEdge(t)||g.isVertex(t))&&A.x>=a&&A.y+A.height<=n&&A.y>=d&&A.x+A.width<= +e&&k.push(t);this.getAllCells(a,d,b,f,t,k)}}}return k};var C=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:C.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var v=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"== +d.getProperty("eventName")){var b=d.getProperty("event").getState();v=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var b=d.getProperty("event"),f=d.getProperty("cell");null==f?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),k.start(b.x,b.y)):null!=v?this.addSelectionCells(v):1<this.getSelectionCount()&&this.isCellSelected(f)&& +this.removeSelectionCell(f);v=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()})); Graph.touchStyle&&this.initTouch();var J=this.updateMouseEvent;this.updateMouseEvent=function(a){a=J.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch; Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; -Graph.createSvgImage=function(a,b,e,d,k){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" '+(null!=d&&null!=k?'viewBox="0 0 '+d+" "+k+'" ':"")+'version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,b)}; -Graph.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var d=a.charCodeAt(e);(32<=d||9==d||10==d||13==d)&&65535!=d&&65534!=d&&b.push(a.charAt(e))}return b.join("")};Graph.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))}; +Graph.createSvgImage=function(a,b,e,c,l){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" '+(null!=c&&null!=l?'viewBox="0 0 '+c+" "+l+'" ':"")+'version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,b)}; +Graph.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var c=a.charCodeAt(e);(32<=c||9==c||10==c||13==c)&&65535!=c&&65534!=c&&b.push(a.charAt(e))}return b.join("")};Graph.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))}; Graph.compress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var e=b?pako.deflate(encodeURIComponent(a),{to:"string"}):pako.deflateRaw(encodeURIComponent(a),{to:"string"});return window.btoa?btoa(e):Base64.encode(e,!0)};Graph.decompress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var e=window.atob?atob(a):Base64.decode(a,!0),e=b?pako.inflate(e,{to:"string"}):pako.inflateRaw(e,{to:"string"});return Graph.zapGremlins(decodeURIComponent(e))}; mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.linkRelation="nofollow noopener noreferrer";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff"; Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);Graph.prototype.transparentBackground=!0;Graph.prototype.selectParentAfterDelete=!1;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default"; Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=null!=urlParams.base?decodeURIComponent(urlParams.base):(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1;Graph.prototype.builtInProperties=["label","tooltip","placeholders","placeholder"];Graph.prototype.standalone=!1; -Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,k=!0,m=null,p=mxUtils.bind(this,function(a){k=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),u=mxUtils.bind(this,function(a){k=k&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),y=mxUtils.bind(this,function(b){if(k)for(var c=mxEvent.getSource(b);null!= -c&&c!=e.node;){if("a"==c.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,c,b);break}c=c.parentNode}});mxEvent.addGestureListeners(e.node,p,u,y);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()}; -(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isFastZoomEnabled=function(){return this.scrollbars&&"nocss"!=urlParams.zoom&&!this.mathEnabled&&!mxClient.NO_FO&&!this.useCssTransforms};Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO};Graph.prototype.getCellAt=function(a,b,e,p,u,y){this.useCssTransforms&&(a=a/this.currentScale-this.currentTranslate.x, -b=b/this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,b,e,p,u,y){p=null!=p?p:!0;u=null!=u?u:!0;null==e&&(e=this.getCurrentRoot(),null==e&&(e=this.getModel().getRoot()));if(null!=e)for(var d=this.model.getChildCount(e)-1;0<=d;d--){var c=this.model.getChildAt(e,d),f=this.getScaledCellAt(a,b,c,p,u,y);if(null!=f)return f;if(this.isCellVisible(c)&&(u&&this.model.isEdge(c)||p&&this.model.isVertex(c))&&(f=this.view.getState(c), -null!=f&&(null==y||!y(f,a,b))&&this.intersects(f,a,b)))return c}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var b=this.graph.currentTranslate,e=this.graph.currentScale,a=new mxRectangle((a.x+b.x)*e,(a.y+b.y)*e,a.width*e,a.height*e);return a};mxGraphView.prototype.viewStateChanged=function(){this.graph.useCssTransforms? +Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,l=!0,m=null,p=mxUtils.bind(this,function(a){l=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),u=mxUtils.bind(this,function(a){l=l&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),z=mxUtils.bind(this,function(b){if(l)for(var d=mxEvent.getSource(b);null!= +d&&d!=e.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(e.node,p,u,z);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()}; +(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isFastZoomEnabled=function(){return"nocss"!=urlParams.zoom&&!this.mathEnabled&&!mxClient.NO_FO&&!this.useCssTransforms};Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO};Graph.prototype.getCellAt=function(a,b,e,p,u,z){this.useCssTransforms&&(a=a/this.currentScale-this.currentTranslate.x,b=b/ +this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,b,e,p,u,z){p=null!=p?p:!0;u=null!=u?u:!0;null==e&&(e=this.getCurrentRoot(),null==e&&(e=this.getModel().getRoot()));if(null!=e)for(var c=this.model.getChildCount(e)-1;0<=c;c--){var d=this.model.getChildAt(e,c),f=this.getScaledCellAt(a,b,d,p,u,z);if(null!=f)return f;if(this.isCellVisible(d)&&(u&&this.model.isEdge(d)||p&&this.model.isVertex(d))&&(f=this.view.getState(d), +null!=f&&(null==z||!z(f,a,b))&&this.intersects(f,a,b)))return d}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var b=this.graph.currentTranslate,e=this.graph.currentScale,a=new mxRectangle((a.x+b.x)*e,(a.y+b.y)*e,a.width*e,a.height*e);return a};mxGraphView.prototype.viewStateChanged=function(){this.graph.useCssTransforms? this.validate():this.revalidate();this.graph.sizeDidChange()};var a=mxGraphView.prototype.validate;mxGraphView.prototype.validate=function(b){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x, this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();if(null!=a)if(a=a.parentNode,this.useCssTransforms){var b=a.getAttribute("transform");a.setAttribute("transformOrigin","0 0");var e=Math.round(100*this.currentScale)/100;a.setAttribute("transform","scale("+e+","+e+")translate("+Math.round(100*this.currentTranslate.x)/100+","+Math.round(100*this.currentTranslate.y)/100+")");if(b!=a.getAttribute("transform"))try{if(mxClient.IS_EDGE){var p= a.style.display;a.style.display="none";a.getBBox();a.style.display=p}}catch(u){}}else a.removeAttribute("transformOrigin"),a.removeAttribute("transform")};var b=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph.useCssTransforms,e=this.scale,m=this.translate;a&&(this.scale=this.graph.currentScale,this.translate=this.graph.currentTranslate);b.apply(this,arguments);a&&(this.scale=e,this.translate=m)};var e=mxGraph.prototype.updatePageBreaks; -mxGraph.prototype.updatePageBreaks=function(a,b,m){var d=this.useCssTransforms,k=this.view.scale,y=this.view.translate;d&&(this.view.scale=1,this.view.translate=new mxPoint(0,0),this.useCssTransforms=!1);e.apply(this,arguments);d&&(this.view.scale=k,this.view.translate=y,this.useCssTransforms=!0)}})();Graph.prototype.isLightboxView=function(){return this.lightbox};Graph.prototype.isViewer=function(){return!1}; +mxGraph.prototype.updatePageBreaks=function(a,b,m){var c=this.useCssTransforms,l=this.view.scale,z=this.view.translate;c&&(this.view.scale=1,this.view.translate=new mxPoint(0,0),this.useCssTransforms=!1);e.apply(this,arguments);c&&(this.view.scale=l,this.view.translate=z,this.useCssTransforms=!0)}})();Graph.prototype.isLightboxView=function(){return this.lightbox};Graph.prototype.isViewer=function(){return!1}; Graph.prototype.labelLinkClicked=function(a,b,e){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(e)&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(e)}}; -Graph.prototype.openLink=function(a,b,e){var d=window;try{if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var k=a.split("#")[1];window.location.hash=="#"+k&&(window.location.hash="");window.location.hash=k}else d=window.open(a,b),null==d||e||(d.opener=null)}catch(m){}return d};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; +Graph.prototype.openLink=function(a,b,e){var c=window;try{if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var l=a.split("#")[1];window.location.hash=="#"+l&&(window.location.hash="");window.location.hash=l}else c=window.open(a,b),null==c||e||(c.opener=null)}catch(m){}return c};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){return!1};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){a=this.graph.getCellStyle(a);if(null!=a){if("stackLayout"==a.childLayout){var b=new mxStackLayout(this.graph,!0);b.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1");b.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1");b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1");b.resizeLast="1"==mxUtils.getValue(a,"resizeLast","0");b.spacing=a.stackSpacing|| @@ -2289,43 +2289,43 @@ b.spacing;b.border=a.stackBorder||b.border;b.marginLeft=a.marginLeft||0;b.margin !0,b.edgeRouting=!1,b.resetEdges=!1,b;if("flowLayout"==a.childLayout)return b=new mxHierarchicalLayout(this.graph,mxUtils.getValue(a,"flowOrientation",mxConstants.DIRECTION_EAST)),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.parentBorder=mxUtils.getValue(a,"parentPadding",20),b.maintainParentLocation=!0,b.intraCellSpacing=mxUtils.getValue(a,"intraCellSpacing",mxHierarchicalLayout.prototype.intraCellSpacing),b.interRankCellSpacing=mxUtils.getValue(a,"interRankCellSpacing",mxHierarchicalLayout.prototype.interRankCellSpacing), b.interHierarchySpacing=mxUtils.getValue(a,"interHierarchySpacing",mxHierarchicalLayout.prototype.interHierarchySpacing),b.parallelEdgeSpacing=mxUtils.getValue(a,"parallelEdgeSpacing",mxHierarchicalLayout.prototype.parallelEdgeSpacing),b;if("circleLayout"==a.childLayout)return new mxCircleLayout(this.graph);if("organicLayout"==a.childLayout)return new mxFastOrganicLayout(this.graph)}return null}}; Graph.prototype.getPageSize=function(){return this.pageVisible?new mxRectangle(0,0,this.pageFormat.width*this.pageScale,this.pageFormat.height*this.pageScale):this.scrollTileSize}; -Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),d=Math.ceil(b.y/this.view.scale-this.view.translate.y),k=Math.floor(e/a.width),m=Math.floor(d/a.height);return new mxRectangle(k,m,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-k,Math.ceil((d+Math.floor(b.height/this.view.scale))/a.height)-m)}; +Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),c=Math.ceil(b.y/this.view.scale-this.view.translate.y),l=Math.floor(e/a.width),m=Math.floor(c/a.height);return new mxRectangle(l,m,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-l,Math.ceil((c+Math.floor(b.height/this.view.scale))/a.height)-m)}; Graph.prototype.sanitizeHtml=function(a,b){return html_sanitize(a,function(a){return null!=a&&"javascript:"!==a.toString().toLowerCase().substring(0,11)?a:null},function(a){return a})};Graph.prototype.updatePlaceholders=function(){var a=!1,b;for(b in this.model.cells){var e=this.model.cells[b];this.isReplacePlaceholders(e)&&(this.view.invalidate(e,!1,!1),a=!0)}a&&this.view.validate()};Graph.prototype.isReplacePlaceholders=function(a){return null!=a.value&&"object"==typeof a.value&&"1"==a.value.getAttribute("placeholders")}; Graph.prototype.isZoomWheelEvent=function(a){return mxEvent.isAltDown(a)||mxEvent.isMetaDown(a)&&mxClient.IS_MAC||mxEvent.isControlDown(a)};Graph.prototype.isTransparentClickEvent=function(a){return mxEvent.isAltDown(a)||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};Graph.prototype.isIgnoreTerminalEvent=function(a){return mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)}; Graph.prototype.isSplitTarget=function(a,b,e){return!this.model.isEdge(b[0])&&!mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)&&mxGraph.prototype.isSplitTarget.apply(this,arguments)};Graph.prototype.getLabel=function(a){var b=mxGraph.prototype.getLabel.apply(this,arguments);null!=b&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(b=this.replacePlaceholders(a,b));return b}; Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(b,"labelMovable","0")))};Graph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))}; Graph.prototype.getGlobalVariable=function(a){var b=null;"date"==a?b=(new Date).toLocaleDateString():"time"==a?b=(new Date).toLocaleTimeString():"timestamp"==a?b=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),b=this.formatDate(new Date,a));return b}; Graph.prototype.formatDate=function(a,b,e){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy", -shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var d=this.dateFormatCache,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g,p=function(a,c){a=String(a);for(c=c||2;a.length<c;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| -/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(d.masks[b]||b||d.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var u=e?"getUTC":"get",y=a[u+"Date"](),B=a[u+"Day"](),c=a[u+"Month"](),f=a[u+"FullYear"](),g=a[u+"Hours"](),q=a[u+"Minutes"](),n=a[u+"Seconds"](),u=a[u+"Milliseconds"](),l=e?0:a.getTimezoneOffset(),A={d:y,dd:p(y),ddd:d.i18n.dayNames[B],dddd:d.i18n.dayNames[B+7],m:c+1,mm:p(c+1),mmm:d.i18n.monthNames[c],mmmm:d.i18n.monthNames[c+ -12],yy:String(f).slice(2),yyyy:f,h:g%12||12,hh:p(g%12||12),H:g,HH:p(g),M:q,MM:p(q),s:n,ss:p(n),l:p(u,3),L:p(99<u?Math.round(u/10):u),t:12>g?"a":"p",tt:12>g?"am":"pm",T:12>g?"A":"P",TT:12>g?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(m,""),o:(0<l?"-":"+")+p(100*Math.floor(Math.abs(l)/60)+Math.abs(l)%60,4),S:["th","st","nd","rd"][3<y%10?0:(10!=y%100-y%10)*y%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in A?A[a]:a.slice(1, +shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var c=this.dateFormatCache,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g,p=function(a,d){a=String(a);for(d=d||2;a.length<d;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| +/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(c.masks[b]||b||c.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var u=e?"getUTC":"get",z=a[u+"Date"](),B=a[u+"Day"](),d=a[u+"Month"](),f=a[u+"FullYear"](),k=a[u+"Hours"](),q=a[u+"Minutes"](),n=a[u+"Seconds"](),u=a[u+"Milliseconds"](),g=e?0:a.getTimezoneOffset(),A={d:z,dd:p(z),ddd:c.i18n.dayNames[B],dddd:c.i18n.dayNames[B+7],m:d+1,mm:p(d+1),mmm:c.i18n.monthNames[d],mmmm:c.i18n.monthNames[d+ +12],yy:String(f).slice(2),yyyy:f,h:k%12||12,hh:p(k%12||12),H:k,HH:p(k),M:q,MM:p(q),s:n,ss:p(n),l:p(u,3),L:p(99<u?Math.round(u/10):u),t:12>k?"a":"p",tt:12>k?"am":"pm",T:12>k?"A":"P",TT:12>k?"AM":"PM",Z:e?"UTC":(String(a).match(l)||[""]).pop().replace(m,""),o:(0<g?"-":"+")+p(100*Math.floor(Math.abs(g)/60)+Math.abs(g)%60,4),S:["th","st","nd","rd"][3<z%10?0:(10!=z%100-z%10)*z%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in A?A[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),d=0;d<e;d++)mxUtils.bind(this,function(d){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(d)&&(k.setAttribute("checked","checked"), -k.defaultChecked=!0);e.appendChild(k);var u=this.convertValueToString(d)||mxResources.get("background")||"Background";e.setAttribute("title",u);mxUtils.write(e,u);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(d,k.checked)})})(b.getChildAt(b.root,d));return a}; -Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var d=0;match=this.placeholderPattern.exec(b);){var k=match[0];if(2<k.length&&"%label%"!=k&&"%tooltip%"!=k){var m=null;if(match.index>d&&"%"==b.charAt(match.index-1))m=k.substring(1);else{var p=k.substring(1,k.length-1);if(0>p.indexOf("{"))for(var u=a;null==m&&null!=u;)null!=u.value&&"object"==typeof u.value&&(m=u.hasAttribute(p)?null!=u.getAttribute(p)?u.getAttribute(p):"":null),u=this.model.getParent(u);null==m&&(m=this.getGlobalVariable(p))}e.push(b.substring(d, -match.index)+(null!=m?m:k));d=match.index+k.length}}e.push(b.substring(d))}return e.join("")};Graph.prototype.restoreSelection=function(a){if(null!=a&&0<a.length){for(var b=[],e=0;e<a.length;e++){var d=this.model.getCell(a[e].id);null!=d&&b.push(d)}this.setSelectionCells(b)}else this.clearSelection()}; +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),c=0;c<e;c++)mxUtils.bind(this,function(c){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var l=document.createElement("input");l.style.display="inline-block";l.setAttribute("type","checkbox");b.isVisible(c)&&(l.setAttribute("checked","checked"), +l.defaultChecked=!0);e.appendChild(l);var u=this.convertValueToString(c)||mxResources.get("background")||"Background";e.setAttribute("title",u);mxUtils.write(e,u);a.appendChild(e);mxEvent.addListener(l,"click",function(){null!=l.getAttribute("checked")?l.removeAttribute("checked"):l.setAttribute("checked","checked");b.setVisible(c,l.checked)})})(b.getChildAt(b.root,c));return a}; +Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var c=0;match=this.placeholderPattern.exec(b);){var l=match[0];if(2<l.length&&"%label%"!=l&&"%tooltip%"!=l){var m=null;if(match.index>c&&"%"==b.charAt(match.index-1))m=l.substring(1);else{var p=l.substring(1,l.length-1);if(0>p.indexOf("{"))for(var u=a;null==m&&null!=u;)null!=u.value&&"object"==typeof u.value&&(m=u.hasAttribute(p)?null!=u.getAttribute(p)?u.getAttribute(p):"":null),u=this.model.getParent(u);null==m&&(m=this.getGlobalVariable(p))}e.push(b.substring(c, +match.index)+(null!=m?m:l));c=match.index+l.length}}e.push(b.substring(c))}return e.join("")};Graph.prototype.restoreSelection=function(a){if(null!=a&&0<a.length){for(var b=[],e=0;e<a.length;e++){var c=this.model.getCell(a[e].id);null!=c&&b.push(c)}this.setSelectionCells(b)}else this.clearSelection()}; Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; -Graph.prototype.connectVertex=function(a,b,e,d,k,m){if(a.geometry.relative&&this.model.isEdge(a.parent))return[];m=m?m:!1;var p=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(p.x+=a.geometry.width/2,p.y-=e):b==mxConstants.DIRECTION_SOUTH?(p.x+=a.geometry.width/2,p.y+=a.geometry.height+e):(p.x=b==mxConstants.DIRECTION_WEST?p.x-e:p.x+(a.geometry.width+ -e),p.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a));var u=this.view.scale,y=this.view.translate,B=y.x*u,y=y.y*u;null!=e&&this.model.isVertex(e.cell)&&(B=e.x,y=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(p.x+=a.parent.geometry.x,p.y+=a.parent.geometry.y);m=m||mxEvent.isControlDown(d)&&!k?null:this.getCellAt(B+p.x*u,y+p.y*u);this.model.isAncestor(m,a)&&(m=null);for(e=m;null!=e;){if(this.isCellLocked(e)){m=null;break}e=this.model.getParent(e)}null!=m&&(e=this.view.getState(a), -u=this.view.getState(m),null!=e&&null!=u&&mxUtils.intersects(e,u)&&(m=null));if(k=!mxEvent.isShiftDown(d)||k)b==mxConstants.DIRECTION_NORTH?p.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?p.y+=a.geometry.height/2:p.x=b==mxConstants.DIRECTION_WEST?p.x-a.geometry.width/2:p.x+a.geometry.width/2;null==m||this.isCellConnectable(m)||(e=this.getModel().getParent(m),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(m=e));if(m==a||this.model.isEdge(m)||!this.isCellConnectable(m))m=null;e=[]; -this.model.beginUpdate();try{var c=null!=m&&this.isSwimlane(m),u=c?null:m;if(null==u&&k){for(var B=a,f=this.getCellGeometry(a);null!=f&&f.relative;)B=this.getModel().getParent(B),f=this.getCellGeometry(B);var g=this.view.getState(B),q=null!=g?g.style:this.getCellStyle(B);if(mxUtils.getValue(q,"part",!1)){var n=this.model.getParent(B);this.model.isVertex(n)&&(B=n)}u=this.duplicateCells([B],!1)[0];f=this.getCellGeometry(u);null!=f&&(f.x=p.x-f.width/2,f.y=p.y-f.height/2);c&&(this.addCells([u],m,null, -null,null,!0),m=null)}c=null;null!=this.layoutManager&&(c=this.layoutManager.getLayout(this.model.getParent(a)));var l=mxEvent.isControlDown(d)&&k||null==m&&null!=c&&c.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),null,"",a,u,this.createCurrentEdgeStyle());if(null!=l&&this.connectionHandler.insertBeforeSource){var A=null;for(d=a;null!=d.parent&&null!=d.geometry&&d.geometry.relative&&d.parent!=l.parent;)d=this.model.getParent(d);null!=d&&null!=d.parent&&d.parent==l.parent&& -(A=d.parent.getIndex(d),this.model.add(d.parent,l,A))}null==m&&null!=u&&null!=c&&null!=a.parent&&c.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(A=a.parent.getIndex(a),this.model.add(a.parent,u,A));null!=l&&e.push(l);null==m&&null!=u&&e.push(u);null==u&&null!=l&&l.geometry.setTerminalPoint(p,!1);null!=l&&this.fireEvent(new mxEventObject("cellsInserted","cells",[l]))}finally{this.model.endUpdate()}return e}; -Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,d;for(d in this.model.cells)if(e=this.model.cells[d],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")}; -Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,d=null;null==d&&null!=e;)null!=e.value&&"object"==typeof e.value&&(d=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return d||""}return a.value.getAttribute("label")||""}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; +Graph.prototype.connectVertex=function(a,b,e,c,l,m){if(a.geometry.relative&&this.model.isEdge(a.parent))return[];m=m?m:!1;var p=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(p.x+=a.geometry.width/2,p.y-=e):b==mxConstants.DIRECTION_SOUTH?(p.x+=a.geometry.width/2,p.y+=a.geometry.height+e):(p.x=b==mxConstants.DIRECTION_WEST?p.x-e:p.x+(a.geometry.width+ +e),p.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a));var u=this.view.scale,z=this.view.translate,B=z.x*u,z=z.y*u;null!=e&&this.model.isVertex(e.cell)&&(B=e.x,z=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(p.x+=a.parent.geometry.x,p.y+=a.parent.geometry.y);m=m||mxEvent.isControlDown(c)&&!l?null:this.getCellAt(B+p.x*u,z+p.y*u);this.model.isAncestor(m,a)&&(m=null);for(e=m;null!=e;){if(this.isCellLocked(e)){m=null;break}e=this.model.getParent(e)}null!=m&&(e=this.view.getState(a), +u=this.view.getState(m),null!=e&&null!=u&&mxUtils.intersects(e,u)&&(m=null));if(l=!mxEvent.isShiftDown(c)||l)b==mxConstants.DIRECTION_NORTH?p.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?p.y+=a.geometry.height/2:p.x=b==mxConstants.DIRECTION_WEST?p.x-a.geometry.width/2:p.x+a.geometry.width/2;null==m||this.isCellConnectable(m)||(e=this.getModel().getParent(m),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(m=e));if(m==a||this.model.isEdge(m)||!this.isCellConnectable(m))m=null;e=[]; +this.model.beginUpdate();try{var d=null!=m&&this.isSwimlane(m),u=d?null:m;if(null==u&&l){for(var B=a,f=this.getCellGeometry(a);null!=f&&f.relative;)B=this.getModel().getParent(B),f=this.getCellGeometry(B);var k=this.view.getState(B),q=null!=k?k.style:this.getCellStyle(B);if(mxUtils.getValue(q,"part",!1)){var n=this.model.getParent(B);this.model.isVertex(n)&&(B=n)}u=this.duplicateCells([B],!1)[0];f=this.getCellGeometry(u);null!=f&&(f.x=p.x-f.width/2,f.y=p.y-f.height/2);d&&(this.addCells([u],m,null, +null,null,!0),m=null)}d=null;null!=this.layoutManager&&(d=this.layoutManager.getLayout(this.model.getParent(a)));var g=mxEvent.isControlDown(c)&&l||null==m&&null!=d&&d.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),null,"",a,u,this.createCurrentEdgeStyle());if(null!=g&&this.connectionHandler.insertBeforeSource){var A=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=g.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==g.parent&& +(A=c.parent.getIndex(c),this.model.add(c.parent,g,A))}null==m&&null!=u&&null!=d&&null!=a.parent&&d.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(A=a.parent.getIndex(a),this.model.add(a.parent,u,A));null!=g&&e.push(g);null==m&&null!=u&&e.push(u);null==u&&null!=g&&g.geometry.setTerminalPoint(p,!1);null!=g&&this.fireEvent(new mxEventObject("cellsInserted","cells",[g]))}finally{this.model.endUpdate()}return e}; +Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,c;for(c in this.model.cells)if(e=this.model.cells[c],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")}; +Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,c=null;null==c&&null!=e;)null!=e.value&&"object"==typeof e.value&&(c=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return c||""}return a.value.getAttribute("label")||""}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null}; Graph.prototype.getCellStyle=function(a){var b=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var e=this.model.getParent(a);this.model.isVertex(e)&&this.isCellCollapsed(a)&&(e=this.layoutManager.getLayout(e),null!=e&&e.constructor==mxStackLayout&&(b[mxConstants.STYLE_HORIZONTAL]=!e.horizontal))}return b}; -Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var d=this.layoutManager.getLayout(this.model.getParent(a));null!=d&&d.constructor==mxStackLayout&&(d.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a,b){return mxEvent.isShiftDown(a)||"1"==mxUtils.getValue(b.style,"moveCells","0")}; -Graph.prototype.foldCells=function(a,b,e,d,k){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var m=0;m<e.length;m++){var p=this.view.getState(e[m]),u=this.getCellGeometry(e[m]);if(null!=p&&null!=u){var y=Math.round(u.width-p.width/this.view.scale),B=Math.round(u.height-p.height/this.view.scale);if(0!=B||0!=y){var c=this.model.getParent(e[m]),f=this.layoutManager.getLayout(c); -null==f?null!=k&&this.isMoveCellsEvent(k,p)&&this.moveSiblings(p,c,y,B):null!=k&&mxEvent.isAltDown(k)||f.constructor!=mxStackLayout||f.resizeLast||this.resizeParentStacks(c,f,y,B)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}}; -Graph.prototype.moveSiblings=function(a,b,e,d){this.model.beginUpdate();try{var k=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<k.length;b++)if(k[b]!=a.cell){var m=this.view.getState(k[b]),p=this.getCellGeometry(k[b]);null!=m&&null!=p&&(p=p.clone(),p.translate(Math.round(e*Math.max(0,Math.min(1,(m.x-a.x)/a.width))),Math.round(d*Math.max(0,Math.min(1,(m.y-a.y)/a.height)))),this.model.setGeometry(k[b],p))}}finally{this.model.endUpdate()}}; -Graph.prototype.resizeParentStacks=function(a,b,e,d){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var k=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==k&&!b.resizeLast;){var m=this.getCellGeometry(a),p=this.view.getState(a);null!=p&&null!=m&&(m=m.clone(),b.horizontal?m.width+=e+Math.min(0,p.width/this.view.scale-m.width):m.height+=d+Math.min(0,p.height/this.view.scale-m.height),this.model.setGeometry(a, +Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var c=this.layoutManager.getLayout(this.model.getParent(a));null!=c&&c.constructor==mxStackLayout&&(c.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a,b){return mxEvent.isShiftDown(a)||"1"==mxUtils.getValue(b.style,"moveCells","0")}; +Graph.prototype.foldCells=function(a,b,e,c,l){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var m=0;m<e.length;m++){var p=this.view.getState(e[m]),u=this.getCellGeometry(e[m]);if(null!=p&&null!=u){var z=Math.round(u.width-p.width/this.view.scale),B=Math.round(u.height-p.height/this.view.scale);if(0!=B||0!=z){var d=this.model.getParent(e[m]),f=this.layoutManager.getLayout(d); +null==f?null!=l&&this.isMoveCellsEvent(l,p)&&this.moveSiblings(p,d,z,B):null!=l&&mxEvent.isAltDown(l)||f.constructor!=mxStackLayout||f.resizeLast||this.resizeParentStacks(d,f,z,B)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}}; +Graph.prototype.moveSiblings=function(a,b,e,c){this.model.beginUpdate();try{var l=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<l.length;b++)if(l[b]!=a.cell){var m=this.view.getState(l[b]),p=this.getCellGeometry(l[b]);null!=m&&null!=p&&(p=p.clone(),p.translate(Math.round(e*Math.max(0,Math.min(1,(m.x-a.x)/a.width))),Math.round(c*Math.max(0,Math.min(1,(m.y-a.y)/a.height)))),this.model.setGeometry(l[b],p))}}finally{this.model.endUpdate()}}; +Graph.prototype.resizeParentStacks=function(a,b,e,c){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var l=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==l&&!b.resizeLast;){var m=this.getCellGeometry(a),p=this.view.getState(a);null!=p&&null!=m&&(m=m.clone(),b.horizontal?m.width+=e+Math.min(0,p.width/this.view.scale-m.width):m.height+=c+Math.min(0,p.height/this.view.scale-m.height),this.model.setGeometry(a, m));a=this.model.getParent(a);b=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=b.container:"1"==b.container};Graph.prototype.isCellConnectable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b&&null!=b.connectable?"0"!=b.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,b,e){e=e||this.getDefaultParent();this.isCellLocked(e)||mxGraph.prototype.selectCells.apply(this,arguments)};Graph.prototype.getSwimlaneAt=function(a,b,e){e=e||this.getDefaultParent();return this.isCellLocked(e)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)}; Graph.prototype.isCellFoldable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.foldingEnabled&&("1"==b.treeFolding||!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=b.collapsible||!this.isContainer(a)&&"1"==b.collapsible))};Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()}; Graph.prototype.zoom=function(a,b){a=Math.max(.01,Math.min(this.view.scale*a,160))/this.view.scale;mxGraph.prototype.zoom.apply(this,arguments)};Graph.prototype.zoomIn=function(){.15>this.view.scale?this.zoom((this.view.scale+.01)/this.view.scale):this.zoom(Math.round(this.view.scale*this.zoomFactor*20)/20/this.view.scale)};Graph.prototype.zoomOut=function(){.15>=this.view.scale?this.zoom((this.view.scale-.01)/this.view.scale):this.zoom(Math.round(1/this.zoomFactor*this.view.scale*20)/20/this.view.scale)}; -Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=this.builtInProperties;a=a.value.attributes;var d=[];this.isEnabled()&&e.push("link");for(var k=0;k<a.length;k++)0>mxUtils.indexOf(e,a[k].nodeName)&&0<a[k].nodeValue.length&&d.push({name:a[k].nodeName,value:a[k].nodeValue});d.sort(function(a,b){return a.name<b.name? --1:a.name>b.name?1:0});for(k=0;k<d.length;k++)"link"==d[k].name&&this.isCustomLink(d[k].value)||(b+=("link"!=d[k].name?"<b>"+d[k].name+":</b> ":"")+mxUtils.htmlEntities(d[k].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1),mxClient.IS_SVG&&(b='<div style="max-width:360px;">'+b+"</div>"))}}return b};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)};Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)}; +Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=this.builtInProperties;a=a.value.attributes;var c=[];this.isEnabled()&&e.push("link");for(var l=0;l<a.length;l++)0>mxUtils.indexOf(e,a[l].nodeName)&&0<a[l].nodeValue.length&&c.push({name:a[l].nodeName,value:a[l].nodeValue});c.sort(function(a,b){return a.name<b.name? +-1:a.name>b.name?1:0});for(l=0;l<c.length;l++)"link"==c[l].name&&this.isCustomLink(c[l].value)||(b+=("link"!=c[l].name?"<b>"+c[l].name+":</b> ":"")+mxUtils.htmlEntities(c[l].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1),mxClient.IS_SVG&&(b='<div style="max-width:360px;">'+b+"</div>"))}}return b};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)};Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)}; Graph.prototype.compress=function(a,b){return Graph.compress(a,b)};Graph.prototype.decompress=function(a,b){return Graph.decompress(a,b)};Graph.prototype.zapGremlins=function(a){return Graph.zapGremlins(a)};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=2;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15; HoverIcons.prototype.cssCursor="copy";HoverIcons.prototype.checkCollisions=!0;HoverIcons.prototype.arrowFill="#29b6f2";HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(18,28,'<path d="m 6 26 L 12 26 L 12 12 L 18 12 L 9 1 L 1 12 L 6 12 z" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>'):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14); HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(26,18,'<path d="m 1 6 L 14 6 L 14 1 L 26 9 L 14 18 L 14 12 L 1 12 z" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>'):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26);HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(18,26,'<path d="m 6 1 L 6 14 L 1 14 L 9 26 L 18 14 L 12 14 L 12 1 z" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>'):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14); @@ -2334,11 +2334,11 @@ HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/png;b IMAGE_PATH+"/refresh.png",38,38);HoverIcons.prototype.tolerance=mxClient.IS_TOUCH?6:0; HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.resetHandler=mxUtils.bind(this,function(){this.reset()});this.repaintHandler= mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler); -this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING,mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph, -arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)||!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,d){b=!1;var e=d.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var m=this.getState(d.getState());null==m&&mxEvent.isTouchEvent(e)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,d){var e= -d.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)||this.update(this.getState(d.getState()),d.getGraphX(),d.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,d){var e=d.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(e),mxEvent.getClientY(e));this.isResetEvent(e)?this.reset():this.isActive()&&!b&&null!=this.mouseDownPoint?this.click(this.currentState, -this.getDirection(),d):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(d.getGraphX(),d.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,d.getGraphX(),d.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)||this.reset();b=!1;this.resetActiveArrow()})})}; -HoverIcons.prototype.isResetEvent=function(a,b){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; +this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,this.resetHandler);mxEvent.addListener(this.graph.container,"scroll",this.resetHandler);this.graph.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING, +mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)||!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,c){b=!1;var e=c.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var m=this.getState(c.getState()); +null==m&&mxEvent.isTouchEvent(e)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,c){var e=c.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)||this.update(this.getState(c.getState()),c.getGraphX(),c.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,c){var e=c.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(e),mxEvent.getClientY(e)); +this.isResetEvent(e)?this.reset():this.isActive()&&!b&&null!=this.mouseDownPoint?this.click(this.currentState,this.getDirection(),c):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(c.getGraphX(),c.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,c.getGraphX(),c.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)|| +this.reset();b=!1;this.resetActiveArrow()})})};HoverIcons.prototype.isResetEvent=function(a,b){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; HoverIcons.prototype.createArrow=function(a,b){var e=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(e=document.createElement(mxClient.VML_PREFIX+":image"),e.setAttribute("src",a.src),e.style.borderStyle="none"):(e=document.createElement("div"),e.style.backgroundImage="url("+a.src+")",e.style.backgroundPosition="center",e.style.backgroundRepeat="no-repeat"),e.style.width=a.width+4+"px",e.style.height=a.height+4+"px",e.style.display=mxClient.IS_QUIRKS?"inline": "inline-block"):(e=mxUtils.createImage(a.src),e.style.width=a.width+"px",e.style.height=a.height+"px",e.style.padding=this.tolerance+"px");null!=b&&e.setAttribute("title",b);e.style.position="absolute";e.style.cursor=this.cssCursor;mxEvent.addGestureListeners(e,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y), this.activeArrow=e,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redirectMouseEvents(e,this.graph,this.currentState);mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isMouseEvent(a)&&(null!=this.activeArrow&&this.activeArrow!=e&&mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.graph.connectionHandler.constraintHandler.reset(),mxUtils.setOpacity(e,100),this.activeArrow=e)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){this.graph.isMouseDown|| @@ -2346,130 +2346,130 @@ this.resetActiveArrow()}));return e};HoverIcons.prototype.resetActiveArrow=funct HoverIcons.prototype.visitNodes=function(a){for(var b=0;b<this.elts.length;b++)null!=this.elts[b]&&a(this.elts[b])};HoverIcons.prototype.removeNodes=function(){this.visitNodes(function(a){null!=a.parentNode&&a.parentNode.removeChild(a)})};HoverIcons.prototype.setDisplay=function(a){this.visitNodes(function(b){b.style.display=a})};HoverIcons.prototype.isActive=function(){return null!=this.activeArrow&&null!=this.currentState}; HoverIcons.prototype.drag=function(a,b,e){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);null!=this.currentState&&(this.graph.connectionHandler.start(this.currentState,b,e),this.graph.isMouseTrigger=mxEvent.isMouseEvent(a),this.graph.isMouseDown=!0,b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),null!=b&&b.setHandlesVisible(!1),b=this.graph.connectionHandler.edgeState,null!=a&&mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)&&null!=b&&"orthogonalEdgeStyle"=== mxUtils.getValue(b.style,mxConstants.STYLE_EDGE,null)&&(a=this.getDirection(),b.cell.style=mxUtils.setStyle(b.cell.style,"sourcePortConstraint",a),b.style.sourcePortConstraint=a))};HoverIcons.prototype.getStateAt=function(a,b,e){return this.graph.view.getState(this.graph.getCellAt(b,e))}; -HoverIcons.prototype.click=function(a,b,e){var d=e.getEvent(),k=e.getGraphX(),m=e.getGraphY(),k=this.getStateAt(a,k,m);null==k||!this.graph.model.isEdge(k.cell)||mxEvent.isControlDown(d)||k.getVisibleTerminalState(!0)!=a&&k.getVisibleTerminalState(!1)!=a?null!=a&&(a=this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,d),this.graph.selectCellsForConnectVertex(a,d,this),2==a.length&&this.graph.model.isVertex(a[1])?(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(d)?this.update(this.getState(this.graph.view.getState(a[1]))): -this.reset(),this.graph.scrollCellToVisible(a[1])):this.graph.setSelectionCells(a)):(this.graph.setSelectionCell(k.cell),this.reset());e.consume()};HoverIcons.prototype.reset=function(a){null!=a&&!a||null==this.updateThread||window.clearTimeout(this.updateThread);this.activeArrow=this.currentState=this.mouseDownPoint=null;this.removeNodes();this.bbox=null}; +HoverIcons.prototype.click=function(a,b,e){var c=e.getEvent(),l=e.getGraphX(),m=e.getGraphY(),l=this.getStateAt(a,l,m);null==l||!this.graph.model.isEdge(l.cell)||mxEvent.isControlDown(c)||l.getVisibleTerminalState(!0)!=a&&l.getVisibleTerminalState(!1)!=a?null!=a&&(a=this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,c),this.graph.selectCellsForConnectVertex(a,c,this),2==a.length&&this.graph.model.isVertex(a[1])?(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(c)?this.update(this.getState(this.graph.view.getState(a[1]))): +this.reset(),this.graph.scrollCellToVisible(a[1])):this.graph.setSelectionCells(a)):(this.graph.setSelectionCell(l.cell),this.reset());e.consume()};HoverIcons.prototype.reset=function(a){null!=a&&!a||null==this.updateThread||window.clearTimeout(this.updateThread);this.activeArrow=this.currentState=this.mouseDownPoint=null;this.removeNodes();this.bbox=null}; HoverIcons.prototype.repaint=function(){this.bbox=null;if(null!=this.currentState){this.currentState=this.getState(this.currentState);if(null!=this.currentState&&this.graph.model.isVertex(this.currentState.cell)&&this.graph.isCellConnectable(this.currentState.cell)){var a=mxRectangle.fromRectangle(this.currentState);null!=this.currentState.shape&&null!=this.currentState.shape.boundingBox&&(a=mxRectangle.fromRectangle(this.currentState.shape.boundingBox));a.grow(this.graph.tolerance);a.grow(this.arrowSpacing); -var b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),e=null;null!=b&&(a.x-=b.horizontalOffset/2,a.y-=b.verticalOffset/2,a.width+=b.horizontalOffset,a.height+=b.verticalOffset,null!=b.rotationShape&&null!=b.rotationShape.node&&"hidden"!=b.rotationShape.node.style.visibility&&"none"!=b.rotationShape.node.style.display&&null!=b.rotationShape.boundingBox&&(e=b.rotationShape.boundingBox));b=mxUtils.bind(this,function(a,b,d){if(null!=e){var c=new mxRectangle(b,d,a.clientWidth,a.clientHeight); -mxUtils.intersects(c,e)&&(a==this.arrowUp?d-=c.y+c.height-e.y:a==this.arrowRight?b+=e.x+e.width-c.x:a==this.arrowDown?d+=e.y+e.height-c.y:a==this.arrowLeft&&(b-=c.x+c.width-e.x))}a.style.left=b+"px";a.style.top=d+"px";mxUtils.setOpacity(a,this.inactiveOpacity)});b(this.arrowUp,Math.round(this.currentState.getCenterX()-this.triangleUp.width/2-this.tolerance),Math.round(a.y-this.triangleUp.height-this.tolerance));b(this.arrowRight,Math.round(a.x+a.width-this.tolerance),Math.round(this.currentState.getCenterY()- -this.triangleRight.height/2-this.tolerance));b(this.arrowDown,parseInt(this.arrowUp.style.left),Math.round(a.y+a.height-this.tolerance));b(this.arrowLeft,Math.round(a.x-this.triangleLeft.width-this.tolerance),parseInt(this.arrowRight.style.top));if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),d=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),k=this.graph.getCellAt(this.currentState.getCenterX(), -a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==d&&d==k&&k==a&&(a=k=d=b=null);var m=this.graph.getCellGeometry(this.currentState.cell),p=mxUtils.bind(this,function(a,b){var d=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null==a||this.graph.model.isAncestor(a,this.currentState.cell)||this.graph.isSwimlane(a)||!(null==d||null==m||d.height<3*m.height&&d.width<3*m.width)?b.style.visibility="visible": -b.style.visibility="hidden"});p(b,this.arrowRight);p(d,this.arrowLeft);p(k,this.arrowUp);p(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")), +var b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),e=null;null!=b&&(a.x-=b.horizontalOffset/2,a.y-=b.verticalOffset/2,a.width+=b.horizontalOffset,a.height+=b.verticalOffset,null!=b.rotationShape&&null!=b.rotationShape.node&&"hidden"!=b.rotationShape.node.style.visibility&&"none"!=b.rotationShape.node.style.display&&null!=b.rotationShape.boundingBox&&(e=b.rotationShape.boundingBox));b=mxUtils.bind(this,function(a,b,c){if(null!=e){var d=new mxRectangle(b,c,a.clientWidth,a.clientHeight); +mxUtils.intersects(d,e)&&(a==this.arrowUp?c-=d.y+d.height-e.y:a==this.arrowRight?b+=e.x+e.width-d.x:a==this.arrowDown?c+=e.y+e.height-d.y:a==this.arrowLeft&&(b-=d.x+d.width-e.x))}a.style.left=b+"px";a.style.top=c+"px";mxUtils.setOpacity(a,this.inactiveOpacity)});b(this.arrowUp,Math.round(this.currentState.getCenterX()-this.triangleUp.width/2-this.tolerance),Math.round(a.y-this.triangleUp.height-this.tolerance));b(this.arrowRight,Math.round(a.x+a.width-this.tolerance),Math.round(this.currentState.getCenterY()- +this.triangleRight.height/2-this.tolerance));b(this.arrowDown,parseInt(this.arrowUp.style.left),Math.round(a.y+a.height-this.tolerance));b(this.arrowLeft,Math.round(a.x-this.triangleLeft.width-this.tolerance),parseInt(this.arrowRight.style.top));if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),c=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),l=this.graph.getCellAt(this.currentState.getCenterX(), +a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==c&&c==l&&l==a&&(a=l=c=b=null);var m=this.graph.getCellGeometry(this.currentState.cell),p=mxUtils.bind(this,function(a,b){var c=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null==a||this.graph.model.isAncestor(a,this.currentState.cell)||this.graph.isSwimlane(a)||!(null==c||null==m||c.height<3*m.height&&c.width<3*m.width)?b.style.visibility="visible": +b.style.visibility="hidden"});p(b,this.arrowRight);p(c,this.arrowLeft);p(l,this.arrowUp);p(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")), this.arrowDown.setAttribute("title",mxResources.get("plusTooltip"))):(this.arrowLeft.removeAttribute("title"),this.arrowRight.removeAttribute("title"),this.arrowUp.removeAttribute("title"),this.arrowDown.removeAttribute("title"))}else this.reset();null!=this.currentState&&(this.bbox=this.computeBoundingBox(),null!=this.bbox&&this.bbox.grow(10))}}; HoverIcons.prototype.computeBoundingBox=function(){var a=this.graph.model.isEdge(this.currentState.cell)?null:mxRectangle.fromRectangle(this.currentState);this.visitNodes(function(b){null!=b.parentNode&&(b=new mxRectangle(b.offsetLeft,b.offsetTop,b.offsetWidth,b.offsetHeight),null==a?a=b:a.add(b))});return a}; HoverIcons.prototype.getState=function(a){if(null!=a)if(a=a.cell,this.graph.getModel().contains(a)){if(this.graph.getModel().isVertex(a)&&!this.graph.isCellConnectable(a)){var b=this.graph.getModel().getParent(a);this.graph.getModel().isVertex(b)&&this.graph.isCellConnectable(b)&&(a=b)}if(this.graph.isCellLocked(a)||this.graph.model.isEdge(a))a=null;a=this.graph.view.getState(a);null!=a&&null==a.style&&(a=null)}else a=null;return a}; -HoverIcons.prototype.update=function(a,b,e){if(!this.graph.connectionArrowsEnabled||null!=a&&"0"==mxUtils.getValue(a.style,"allowArrows","1"))this.reset();else{null!=a&&null!=a.cell.geometry&&a.cell.geometry.relative&&this.graph.model.isEdge(a.cell.parent)&&(a=null);var d=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,d=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()|| -this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(d=(new Date).getTime()-this.startTime);this.setDisplay("");null!=this.currentState&&this.currentState!=a&&d<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||d>this.activationDelay)&&this.currentState!=a&&(d>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox, +HoverIcons.prototype.update=function(a,b,e){if(!this.graph.connectionArrowsEnabled||null!=a&&"0"==mxUtils.getValue(a.style,"allowArrows","1"))this.reset();else{null!=a&&null!=a.cell.geometry&&a.cell.geometry.relative&&this.graph.model.isEdge(a.cell.parent)&&(a=null);var c=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,c=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()|| +this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(c=(new Date).getTime()-this.startTime);this.setDisplay("");null!=this.currentState&&this.currentState!=a&&c<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||c>this.activationDelay)&&this.currentState!=a&&(c>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox, b,e))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()):this.reset())}}; HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a}; -(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,d){d=null!=d?d:!0;var c=this.getState(a);null!=c&&d&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&!c.invalid&&this.updateLineJumps(c)&&this.graph.cellRenderer.redraw(c,!1,this.isRendering());c=b.apply(this, -arguments);null!=c&&d&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};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,f=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var d=function(c,b,d){var e=new mxPoint(b,d);e.type=c;f.push(e);e=null!=a.routedPoints?a.routedPoints[f.length-1]:null;return null==e||e.type!=c||e.x!=b||e.y!=d},e=.5*this.scale,c=!1,f=[],n=0;n<b.length-1;n++){for(var l= -b[n+1],A=b[n],x=[],t=b[n+2];n<b.length-2&&mxUtils.ptSegDistSq(A.x,A.y,t.x,t.y,l.x,l.y)<1*this.scale*this.scale;)l=t,n++,t=b[n+2];for(var c=d(0,A.x,A.y)||c,k=0;k<this.validEdges.length;k++){var z=this.validEdges[k],u=z.absolutePoints;if(null!=u&&mxUtils.intersects(a,z)&&"1"!=z.style.noJump)for(z=0;z<u.length-1;z++){for(var m=u[z+1],v=u[z],t=u[z+2];z<u.length-2&&mxUtils.ptSegDistSq(v.x,v.y,t.x,t.y,m.x,m.y)<1*this.scale*this.scale;)m=t,z++,t=u[z+2];t=mxUtils.intersection(A.x,A.y,l.x,l.y,v.x,v.y,m.x, -m.y);if(null!=t&&(Math.abs(t.x-A.x)>e||Math.abs(t.y-A.y)>e)&&(Math.abs(t.x-l.x)>e||Math.abs(t.y-l.y)>e)&&(Math.abs(t.x-v.x)>e||Math.abs(t.y-v.y)>e)&&(Math.abs(t.x-m.x)>e||Math.abs(t.y-m.y)>e)){m=t.x-A.x;v=t.y-A.y;t={distSq:m*m+v*v,x:t.x,y:t.y};for(m=0;m<x.length;m++)if(x[m].distSq>t.distSq){x.splice(m,0,t);t=null;break}null==t||0!=x.length&&x[x.length-1].x===t.x&&x[x.length-1].y===t.y||x.push(t)}}}for(z=0;z<x.length;z++)c=d(1,x[z].x,x[z].y)||c}t=b[b.length-1];c=d(0,t.x,t.y)||c}a.routedPoints=f;return c}return!1}; -var k=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)k.apply(this,arguments);else{var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,d=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style, -"jumpStyle","none"),n=!0,l=null,A=null,x=[],t=null;a.begin();for(var u=0;u<this.state.routedPoints.length;u++){var z=this.state.routedPoints[u],m=new mxPoint(z.x/this.scale,z.y/this.scale);0==u?m=b[0]:u==this.state.routedPoints.length-1&&(m=b[b.length-1]);var p=!1;if(null!=l&&1==z.type){var v=this.state.routedPoints[u+1],z=v.x/this.scale-m.x,v=v.y/this.scale-m.y,z=z*z+v*v;null==t&&(t=new mxPoint(m.x-l.x,m.y-l.y),A=Math.sqrt(t.x*t.x+t.y*t.y),0<A?(t.x=t.x*d/A,t.y=t.y*d/A):t=null);z>d*d&&0<A&&(z=l.x- -m.x,v=l.y-m.y,z=z*z+v*v,z>d*d&&(p=new mxPoint(m.x-t.x,m.y-t.y),z=new mxPoint(m.x+t.x,m.y+t.y),x.push(p),this.addPoints(a,x,c,f,!1,null,n),x=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(p.x-t.y*x,p.y+t.x*x),a.lineTo(z.x-t.y*x,z.y+t.x*x),a.lineTo(z.x,z.y)):"arc"==e?(x*=1.3,a.curveTo(p.x-t.y*x,p.y+t.x*x,z.x-t.y*x,z.y+t.x*x,z.x,z.y)):(a.moveTo(z.x,z.y),n=!0),x=[z],p=!0))}else t=null;p||(x.push(m),l=m)}this.addPoints(a,x,c,f,!1,null,n);a.stroke()}};var m=mxGraphView.prototype.updateFloatingTerminalPoint; -mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,f){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{b=this.getTerminalPort(a,b,f);var d=this.getNextPoint(a,c,f),e=this.graph.isOrthogonal(a),n=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),l=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=n)var A=Math.cos(-n),k=Math.sin(-n),d=mxUtils.getRotatedPoint(d,A,k,l);A=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]|| -0);A+=parseFloat(a.style[f?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);d=this.getPerimeterPoint(b,d,0==n&&e,A);0!=n&&(A=Math.cos(n),k=Math.sin(n),d=mxUtils.getRotatedPoint(d,A,k,l));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,f,d),f)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,f,d){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);f=c=null;if(null!=a)for(var e=0;e<a.length;e++){var g=this.graph.getConnectionPoint(b, -a[e]);if(null!=g){var l=(g.x-d.x)*(g.x-d.x)+(g.y-d.y)*(g.y-d.y);if(null==f||l<f)c=g,f=l}}null!=c&&(d=c)}return d};var p=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var f=p.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(f=c.state.view.graph.replacePlaceholders(c.state.cell,f));return f};var u=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b= -mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"string"===typeof b&&"stencil("==b.substring(0,8))try{var c=b.substring(8,b.length-1),f=mxUtils.parseXml(Graph.decompress(c));return new mxShape(new mxStencil(f.documentElement))}catch(g){null!=window.console&&console.log("Error in shape: "+g)}}return u.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; -mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var d=0;d<b.length;d++){var k=b[d];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var m= -mxUtils.load(k);null!=m&&200<=m.getStatus()&&299>=m.getStatus()&&eval.call(window,m.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",k,p)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; +(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,c){c=null!=c?c:!0;var d=this.getState(a);null!=d&&c&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=b.apply(this, +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 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 c=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){c.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 d=null!=a.routedPoints,f=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var c=function(d,b,c){var k=new mxPoint(b,c);k.type=d;f.push(k);k=null!=a.routedPoints?a.routedPoints[f.length-1]:null;return null==k||k.type!=d||k.x!=b||k.y!=c},e=.5*this.scale,d=!1,f=[],n=0;n<b.length-1;n++){for(var g= +b[n+1],A=b[n],x=[],t=b[n+2];n<b.length-2&&mxUtils.ptSegDistSq(A.x,A.y,t.x,t.y,g.x,g.y)<1*this.scale*this.scale;)g=t,n++,t=b[n+2];for(var d=c(0,A.x,A.y)||d,l=0;l<this.validEdges.length;l++){var y=this.validEdges[l],u=y.absolutePoints;if(null!=u&&mxUtils.intersects(a,y)&&"1"!=y.style.noJump)for(y=0;y<u.length-1;y++){for(var m=u[y+1],v=u[y],t=u[y+2];y<u.length-2&&mxUtils.ptSegDistSq(v.x,v.y,t.x,t.y,m.x,m.y)<1*this.scale*this.scale;)m=t,y++,t=u[y+2];t=mxUtils.intersection(A.x,A.y,g.x,g.y,v.x,v.y,m.x, +m.y);if(null!=t&&(Math.abs(t.x-A.x)>e||Math.abs(t.y-A.y)>e)&&(Math.abs(t.x-g.x)>e||Math.abs(t.y-g.y)>e)&&(Math.abs(t.x-v.x)>e||Math.abs(t.y-v.y)>e)&&(Math.abs(t.x-m.x)>e||Math.abs(t.y-m.y)>e)){m=t.x-A.x;v=t.y-A.y;t={distSq:m*m+v*v,x:t.x,y:t.y};for(m=0;m<x.length;m++)if(x[m].distSq>t.distSq){x.splice(m,0,t);t=null;break}null==t||0!=x.length&&x[x.length-1].x===t.x&&x[x.length-1].y===t.y||x.push(t)}}}for(y=0;y<x.length;y++)d=c(1,x[y].x,x[y].y)||d}t=b[b.length-1];d=c(0,t.x,t.y)||d}a.routedPoints=f;return d}return!1}; +var l=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,d){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)l.apply(this,arguments);else{var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,c=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style, +"jumpStyle","none"),n=!0,g=null,A=null,x=[],t=null;a.begin();for(var u=0;u<this.state.routedPoints.length;u++){var y=this.state.routedPoints[u],m=new mxPoint(y.x/this.scale,y.y/this.scale);0==u?m=b[0]:u==this.state.routedPoints.length-1&&(m=b[b.length-1]);var p=!1;if(null!=g&&1==y.type){var v=this.state.routedPoints[u+1],y=v.x/this.scale-m.x,v=v.y/this.scale-m.y,y=y*y+v*v;null==t&&(t=new mxPoint(m.x-g.x,m.y-g.y),A=Math.sqrt(t.x*t.x+t.y*t.y),0<A?(t.x=t.x*c/A,t.y=t.y*c/A):t=null);y>c*c&&0<A&&(y=g.x- +m.x,v=g.y-m.y,y=y*y+v*v,y>c*c&&(p=new mxPoint(m.x-t.x,m.y-t.y),y=new mxPoint(m.x+t.x,m.y+t.y),x.push(p),this.addPoints(a,x,d,f,!1,null,n),x=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(p.x-t.y*x,p.y+t.x*x),a.lineTo(y.x-t.y*x,y.y+t.x*x),a.lineTo(y.x,y.y)):"arc"==e?(x*=1.3,a.curveTo(p.x-t.y*x,p.y+t.x*x,y.x-t.y*x,y.y+t.x*x,y.x,y.y)):(a.moveTo(y.x,y.y),n=!0),x=[y],p=!0))}else t=null;p||(x.push(m),g=m)}this.addPoints(a,x,d,f,!1,null,n);a.stroke()}};var m=mxGraphView.prototype.updateFloatingTerminalPoint; +mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,d,f){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{b=this.getTerminalPort(a,b,f);var c=this.getNextPoint(a,d,f),e=this.graph.isOrthogonal(a),n=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),g=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=n)var A=Math.cos(-n),l=Math.sin(-n),c=mxUtils.getRotatedPoint(c,A,l,g);A=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]|| +0);A+=parseFloat(a.style[f?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);c=this.getPerimeterPoint(b,c,0==n&&e,A);0!=n&&(A=Math.cos(n),l=Math.sin(n),c=mxUtils.getRotatedPoint(c,A,l,g));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,d,f,c),f)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,d,f,c){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);f=d=null;if(null!=a)for(var e=0;e<a.length;e++){var k=this.graph.getConnectionPoint(b, +a[e]);if(null!=k){var g=(k.x-c.x)*(k.x-c.x)+(k.y-c.y)*(k.y-c.y);if(null==f||g<f)d=k,f=g}}null!=d&&(c=d)}return c};var p=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,d){var f=p.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=d.state&&(f=d.state.view.graph.replacePlaceholders(d.state.cell,f));return f};var u=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b= +mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"string"===typeof b&&"stencil("==b.substring(0,8))try{var d=b.substring(8,b.length-1),f=mxUtils.parseXml(Graph.decompress(d));return new mxShape(new mxStencil(f.documentElement))}catch(k){null!=window.console&&console.log("Error in shape: "+k)}}return u.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; +mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var c=0;c<b.length;c++){var l=b[c];if(".xml"==l.toLowerCase().substring(l.length-4,l.length))mxStencilRegistry.loadStencilSet(l,null);else if(".js"==l.toLowerCase().substring(l.length-3,l.length))try{if(mxStencilRegistry.allowEval){var m= +mxUtils.load(l);null!=m&&200<=m.getStatus()&&299>=m.getStatus()&&eval.call(window,m.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",l,p)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; mxStencilRegistry.getBasenameForStencil=function(a){var b=null;if(null!=a&&"string"===typeof a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var b=a[1],e=2;e<a.length-1;e++)b+="/"+a[e];return b}; -mxStencilRegistry.loadStencilSet=function(a,b,e,d){var k=mxStencilRegistry.packages[a];if(null!=e&&e||null==k){var m=!1;if(null==k)try{if(d){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(d){null!=d&&null!=d.documentElement&&(mxStencilRegistry.packages[a]=d,m=!0,mxStencilRegistry.parseStencilSet(d.documentElement,b,m))}));return}k=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=k;m=!0}catch(p){null!=window.console&&console.log("error in loadStencilSet:",a,p)}null!=k&&null!= -k.documentElement&&mxStencilRegistry.parseStencilSet(k.documentElement,b,m)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)}; -mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var d=a.firstChild;null!=d;)"shapes"==d.nodeName&&mxStencilRegistry.parseStencilSet(d,b,e),d=d.nextSibling;else{e=null!=e?e:!0;var d=a.firstChild,k="";a=a.getAttribute("name");for(null!=a&&(k=a+".");null!=d;){if(d.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=d.getAttribute("name"),null!=a)){var k=k.toLowerCase(),m=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(k+m.toLowerCase(),new mxStencil(d));if(null!=b){var p=d.getAttribute("w"), -u=d.getAttribute("h"),p=null==p?80:parseInt(p,10),u=null==u?80:parseInt(u,10);b(k,m,a,p,u)}}d=d.nextSibling}}}; -"undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}function b(a,c){switch(c){case mxConstants.POINTS:return a;case mxConstants.MILLIMETERS:return(a/mxConstants.PIXELS_PER_MM).toFixed(1);case mxConstants.INCHES:return(a/mxConstants.PIXELS_PER_INCH).toFixed(2)}}mxConstants.HANDLE_FILLCOLOR="#29b6f2";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR= +mxStencilRegistry.loadStencilSet=function(a,b,e,c){var l=mxStencilRegistry.packages[a];if(null!=e&&e||null==l){var m=!1;if(null==l)try{if(c){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(c){null!=c&&null!=c.documentElement&&(mxStencilRegistry.packages[a]=c,m=!0,mxStencilRegistry.parseStencilSet(c.documentElement,b,m))}));return}l=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=l;m=!0}catch(p){null!=window.console&&console.log("error in loadStencilSet:",a,p)}null!=l&&null!= +l.documentElement&&mxStencilRegistry.parseStencilSet(l.documentElement,b,m)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)}; +mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var c=a.firstChild;null!=c;)"shapes"==c.nodeName&&mxStencilRegistry.parseStencilSet(c,b,e),c=c.nextSibling;else{e=null!=e?e:!0;var c=a.firstChild,l="";a=a.getAttribute("name");for(null!=a&&(l=a+".");null!=c;){if(c.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=c.getAttribute("name"),null!=a)){var l=l.toLowerCase(),m=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(l+m.toLowerCase(),new mxStencil(c));if(null!=b){var p=c.getAttribute("w"), +u=c.getAttribute("h"),p=null==p?80:parseInt(p,10),u=null==u?80:parseInt(u,10);b(l,m,a,p,u)}}c=c.nextSibling}}}; +"undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}function b(a,d){switch(d){case mxConstants.POINTS:return a;case mxConstants.MILLIMETERS:return(a/mxConstants.PIXELS_PER_MM).toFixed(1);case mxConstants.INCHES:return(a/mxConstants.PIXELS_PER_INCH).toFixed(2)}}mxConstants.HANDLE_FILLCOLOR="#29b6f2";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR= "#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR="#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=5;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGraphHandler.prototype.removeEmptyParents= !0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var e=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)||e.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview= -!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a));for(var c in this.graph.currentEdgeStyle)a.style[c]=this.graph.currentEdgeStyle[c];return a};var d=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=d.apply(this,arguments);a.isDashed="1"== -this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var k=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=k.apply(this,arguments),c=a.getCell;a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={}; +!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a));for(var d in this.graph.currentEdgeStyle)a.style[d]=this.graph.currentEdgeStyle[d];return a};var c=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=c.apply(this,arguments);a.isDashed="1"== +this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var l=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=l.apply(this,arguments),d=a.getCell;a.getCell=mxUtils.bind(this,function(a){var b=d.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={}; Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&&(a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&& (a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+";");null!=this.currentEdgeStyle.orthogonalLoop?a+="orthogonalLoop="+this.currentEdgeStyle.orthogonalLoop+";":null!=Graph.prototype.defaultEdgeStyle.orthogonalLoop&&(a+="orthogonalLoop="+Graph.prototype.defaultEdgeStyle.orthogonalLoop+";");null!=this.currentEdgeStyle.jettySize? a+="jettySize="+this.currentEdgeStyle.jettySize+";":null!=Graph.prototype.defaultEdgeStyle.jettySize&&(a+="jettySize="+Graph.prototype.defaultEdgeStyle.jettySize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a= -null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())};Graph.prototype.createCellLookup=function(a,c){c=null!=c?c:{};for(var b=0;b<a.length;b++){var f=a[b];c[mxObjectIdentity.get(f)]=f.getId();for(var d=this.model.getChildCount(f),e=0;e<d;e++)this.createCellLookup([this.model.getChildAt(f,e)],c)}return c};Graph.prototype.createCellMapping= -function(a,c,b){b=null!=b?b:{};for(var f in a){var d=c[f];null==b[d]&&(b[d]=a[f].getId()||"")}return b};Graph.prototype.importGraphModel=function(a,c,b,f){c=null!=c?c:0;b=null!=b?b:0;var d=new mxCodec(a.ownerDocument),e=new mxGraphModel;d.decode(a,e);a=[];var d={},g={},l=e.getChildren(this.cloneCell(e.root,this.isCloneInvalidEdges(),d));if(null!=l){var n=this.createCellLookup([e.root]),l=l.slice();this.model.beginUpdate();try{if(1!=l.length||this.isCellLocked(this.getDefaultParent()))for(e=0;e<l.length;e++)a= -a.concat(this.model.getChildren(this.moveCells([l[e]],c,b,!1,this.model.getRoot())[0]));else a=this.moveCells(e.getChildren(l[0]),c,b,!1,this.getDefaultParent()),g[e.getChildAt(e.root,0).getId()]=this.getDefaultParent().getId();this.createCellMapping(d,n,g);this.updateCustomLinks(g,a);if(f){this.isGridEnabled()&&(c=this.snap(c),b=this.snap(b));var v=this.getBoundingBoxFromGeometry(a,!0);null!=v&&this.moveCells(a,c-v.x,b-v.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.encodeCells=function(a){for(var c= -{},b=this.cloneCells(a,null,c),f=new mxDictionary,d=0;d<a.length;d++)f.put(a[d],!0);for(d=0;d<b.length;d++){var e=this.view.getState(a[d]);if(null!=e){var g=this.getCellGeometry(b[d]);null==g||!g.relative||this.model.isEdge(a[d])||f.get(this.model.getParent(a[d]))||(g.relative=!1,g.x=e.x/e.view.scale-e.view.translate.x,g.y=e.y/e.view.scale-e.view.translate.y)}}f=new mxCodec;e=new mxGraphModel;g=e.getChildAt(e.getRoot(),0);for(d=0;d<b.length;d++)e.add(g,b[d]);this.updateCustomLinks(this.createCellMapping(c, -this.createCellLookup(a)),b);return f.encode(e)};var m=Graph.prototype.moveCells;Graph.prototype.moveCells=function(a,c,b,d,f,e,g){g=null!=g?g:{};var l=m.apply(this,arguments);d&&this.updateCustomLinks(this.createCellMapping(g,this.createCellLookup(a)),l);return l};Graph.prototype.updateCustomLinks=function(a,c){for(var b=0;b<c.length;b++)null!=c[b]&&this.updateCustomLinksForCell(a,c[b])};Graph.prototype.updateCustomLinksForCell=function(a,c){};Graph.prototype.getAllConnectionConstraints=function(a, -c){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var d=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];d.push(new mxConnectionConstraint(new mxPoint(e[0],e[1]),2<e.length?"0"!=e[2]:!0,null,3<e.length?e[3]:0,4<e.length?e[4]:0))}}catch(Y){}return d}if(null!=a.shape&&null!=a.shape.bounds){e=a.shape.direction;f=a.shape.bounds;b=a.shape.scale;d=f.width/b;f=f.height/b;if(e==mxConstants.DIRECTION_NORTH||e==mxConstants.DIRECTION_SOUTH)e=d,d=f,f=e;b=a.shape.getConstraints(a.style, -d,f);if(null!=b)return b;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);null!=c&&(c=mxUtils.getValue(c,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW, -c,[a]))}};Graph.prototype.isValidRoot=function(a){for(var c=this.model.getChildCount(a),b=0,d=0;d<c;d++){var f=this.model.getChildAt(a,d);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(c,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(c, -"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var c=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(c&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(c=!1))}return c};Graph.prototype.getPreferredSizeForCell=function(a){var c= -mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=c&&(c.width+=10,c.height+=4,this.gridEnabled&&(c.width=this.snap(c.width),c.height=this.snap(c.height)));return c};Graph.prototype.turnShapes=function(a){var c=this.getModel(),b=[];c.beginUpdate();try{for(var d=0;d<a.length;d++){var f=a[d];if(c.isEdge(f)){var e=c.getTerminal(f,!0),g=c.getTerminal(f,!1);c.setTerminal(f,g,!0);c.setTerminal(f,e,!1);var l=c.getGeometry(f);if(null!=l){l=l.clone();null!=l.points&&l.points.reverse();var n= -l.getTerminalPoint(!0),v=l.getTerminalPoint(!1);l.setTerminalPoint(n,!1);l.setTerminalPoint(v,!0);c.setGeometry(f,l);var q=this.view.getState(f),t=this.view.getState(e),A=this.view.getState(g);if(null!=q){var k=null!=t?this.getConnectionConstraint(q,t,!0):null,x=null!=A?this.getConnectionConstraint(q,A,!1):null;this.setConnectionConstraint(f,e,!0,x);this.setConnectionConstraint(f,g,!1,k)}b.push(f)}}else if(c.isVertex(f)&&(l=this.getCellGeometry(f),null!=l)){l=l.clone();l.x+=l.width/2-l.height/2;l.y+= -l.height/2-l.width/2;var Q=l.width;l.width=l.height;l.height=Q;c.setGeometry(f,l);var z=this.view.getState(f);if(null!=z){var J=z.style[mxConstants.STYLE_DIRECTION]||"east";"east"==J?J="south":"south"==J?J="west":"west"==J?J="north":"north"==J&&(J="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,J,[f])}b.push(f)}}}finally{c.endUpdate()}return b};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0; -a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var c=this.model.getDescendants(a.cell);if(0<c.length)for(var b=0;b<c.length;b++){var f=this.view.getState(c[b]);null!=f&&null!=f.shape&&null!=f.shape.stencil&&this.stencilHasPlaceholders(f.shape.stencil)?this.removeStateForCell(c[b]):this.isReplacePlaceholders(c[b])&&this.view.invalidate(c[b], -!1,!1)}}};Graph.prototype.replaceElement=function(a,c){for(var b=a.ownerDocument.createElement(null!=c?c:"span"),f=Array.prototype.slice.call(a.attributes);attr=f.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.processElements=function(a,c){if(null!=a)for(var b=a.getElementsByTagName("*"),f=0;f<b.length;f++)c(b[f])};Graph.prototype.updateLabelElements=function(a,c,b){a=null!=a?a:this.getSelectionCells();for(var f=document.createElement("div"), -d=0;d<a.length;d++)if(this.isHtmlLabel(a[d])){var e=this.convertValueToString(a[d]);if(null!=e&&0<e.length){f.innerHTML=e;for(var g=f.getElementsByTagName(null!=b?b:"*"),l=0;l<g.length;l++)c(g[l]);f.innerHTML!=e&&this.cellLabelChanged(a[d],f.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,c,b){c=Graph.zapGremlins(c);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder"))for(var f=a.getAttribute("placeholder"), -d=a;null!=d;){if(d==this.model.getRoot()||null!=d.value&&"object"==typeof d.value&&d.hasAttribute(f)){this.setAttributeForCell(d,f,c);break}d=this.model.getParent(d)}var e=a.value.cloneNode(!0);e.setAttribute("label",c);c=e}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var c=new mxDictionary,b=0;b<a.length;b++)c.put(a[b],!0);for(var f=[],b=0;b<a.length;b++){var d=this.model.getParent(a[b]);null==d|| -c.get(d)||(c.put(d,!0),f.push(d))}for(b=0;b<f.length;b++)if(d=this.view.getState(f[b]),null!=d&&(this.model.isEdge(d.cell)||this.model.isVertex(d.cell))&&this.isCellDeletable(d.cell)){var e=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(d.cell)&&e;g++)c.get(this.model.getChildAt(d.cell,g))||(e=!1);e&&a.push(d.cell)}}}mxGraph.prototype.cellsRemoved.apply(this, -arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var c=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var f=this.view.getState(a[b]);if(null!=f){var d=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),f=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);d==mxConstants.NONE&&f==mxConstants.NONE&&c.push(a[b])}}a=c;mxGraph.prototype.removeCellsAfterUngroup.apply(this,arguments)};Graph.prototype.setLinkForCell=function(a,c){this.setAttributeForCell(a, -"link",c)};Graph.prototype.setTooltipForCell=function(a,c){this.setAttributeForCell(a,"tooltip",c)};Graph.prototype.getAttributeForCell=function(a,c,b){return null!=a.value&&"object"===typeof a.value?a.value.getAttribute(c)||b:b};Graph.prototype.setAttributeForCell=function(a,c,b){var f;null!=a.value&&"object"==typeof a.value?f=a.value.cloneNode(!0):(f=mxUtils.createXmlDocument().createElement("UserObject"),f.setAttribute("label",a.value||""));null!=b?f.setAttribute(c,b):f.removeAttribute(c);this.model.setValue(a, -f)};Graph.prototype.getDropTarget=function(a,c,b,f){this.getModel();if(mxEvent.isAltDown(c))return null;for(var d=0;d<a.length;d++)if(this.model.isEdge(this.model.getParent(a[d])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,c){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a), -mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(c)){var f=this.model.isEdge(c)?this.view.getState(c):null,d=mxEvent.getSource(a);this.firstClickState!=f||this.firstClickSource!=d||null!=f&&null!=f.text&&null!=f.text.node&&null!=f.text.boundingBox&&(mxUtils.contains(f.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(f.text.node,mxEvent.getSource(a)))||(null!=f||this.isCellLocked(this.getDefaultParent()))&&(null==f||this.isCellLocked(f.cell))||!(null!=f||mxClient.IS_VML&&d==this.view.getCanvas()|| -mxClient.IS_SVG&&d==this.view.getCanvas().ownerSVGElement)||(c=this.addText(b.x,b.y,f))}mxGraph.prototype.dblClick.call(this,a,c)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),c=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var f=this.getPageLayout(),d=this.getPageSize(),c=Math.max(c,f.x*d.width),b=Math.max(b,f.y*d.height);return new mxPoint(this.snap(c+a),this.snap(b+a))}; -Graph.prototype.getFreeInsertPoint=function(){var a=this.view,c=this.getGraphBounds(),b=this.getInsertPoint(),f=this.snap(Math.round(Math.max(b.x,c.x/a.scale-a.translate.x+(0==c.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(c.y+c.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(f,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,c,b){var f=new mxCell;f.value="Text";f.style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];"; -f.geometry=new mxGeometry(0,0,0,0);f.vertex=!0;if(null!=b){f.style+=";labelBackgroundColor=#ffffff;";f.geometry.relative=!0;f.connectable=!1;var d=this.view.getRelativePoint(b,a,c);f.geometry.x=Math.round(1E4*d.x)/1E4;f.geometry.y=Math.round(d.y);f.geometry.offset=new mxPoint(0,0);var d=this.view.getPoint(b,f.geometry),e=this.view.scale;f.geometry.offset=new mxPoint(Math.round((a-d.x)/e),Math.round((c-d.y)/e))}else f.style+=";autosize=1;",d=this.view.translate,f.geometry.width=40,f.geometry.height= -20,f.geometry.x=Math.round(a/this.view.scale)-d.x,f.geometry.y=Math.round(c/this.view.scale)-d.y;this.getModel().beginUpdate();try{this.addCells([f],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[f])),this.autoSizeCell(f)}finally{this.getModel().endUpdate()}return f};Graph.prototype.addClickHandler=function(a,c,b){var f=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var f=this.getAbsoluteUrl(a[b].getAttribute("href")); -null!=f&&(a[b].setAttribute("rel",this.linkRelation),a[b].setAttribute("href",f),null!=c&&mxEvent.addGestureListeners(a[b],null,null,c))}});this.model.addListener(mxEvent.CHANGE,f);f();var d=this.container.style.cursor,e=this.getTolerance(),g=this,l={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var c=a.sourceState;if(null==c||null==g.getLinkForCell(c.cell))a= -g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,c,b){return null==g.getLinkForCell(a.cell)}),c=g.view.getState(a);c!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=c,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,c){this.startX=c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=g.container.scrollLeft;this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor= -"move");this.updateCurrentState(c)},mouseMove:function(a,c){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-c.getGraphX()),f=Math.abs(this.startY-c.getGraphY());(b>e||f>e)&&this.clear()}}else{for(b=c.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&g.tooltipHandler.reset(c,!0,this.currentState),(null==this.currentState||c.getState()!=this.currentState&&null!=c.sourceState|| -!g.intersects(this.currentState,c.getGraphX(),c.getGraphY()))&&this.updateCurrentState(c))}},mouseUp:function(a,f){for(var d=f.getSource(),l=f.getEvent();null!=d&&"a"!=d.nodeName.toLowerCase();)d=d.parentNode;null==d&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==f.sourceState||!f.isSource(f.sourceState.control))&&((mxEvent.isLeftMouseButton(l)||mxEvent.isMiddleMouseButton(l))&&!mxEvent.isPopupTrigger(l)||mxEvent.isTouchEvent(l))&&(null!= -this.currentLink?(d=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&d||null==c||c(l,this.currentLink),mxEvent.isConsumed(l)||(l=mxEvent.isMiddleMouseButton(l)?"_blank":d?g.linkTarget:"_top",g.openLink(this.currentLink,l),f.consume())):null!=b&&!f.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&Math.abs(this.startX-f.getGraphX())<e&&Math.abs(this.startY-f.getGraphY())<e&&b(f.getEvent()));this.clear()},activate:function(a){this.currentLink= -g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=d);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}};g.click=function(a){};g.addMouseListener(l);mxEvent.addListener(document,"mouseleave",function(a){l.clear()})};Graph.prototype.duplicateCells=function(a, -c){a=null!=a?a:this.getSelectionCells();c=null!=c?c:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),f=this.gridSize,d=[];b.beginUpdate();try{for(var e=this.cloneCells(a,!1,null,!0),g=0;g<a.length;g++){var l=b.getParent(a[g]),n=this.moveCells([e[g]],f,f,!1)[0];d.push(n);if(c)b.add(l,e[g]);else{var v=l.getIndex(a[g]);b.add(l,e[g],v+1)}}}finally{b.endUpdate()}return d};Graph.prototype.insertImage=function(a,c,b){if(null!=a&&null!=this.cellEditor.textarea){for(var f=this.cellEditor.textarea.getElementsByTagName("img"), -d=[],e=0;e<f.length;e++)d.push(f[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==d.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=d[e-1]){a[e].setAttribute("width",c);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){if(null!=this.cellEditor.textarea)if(0==a.length)document.execCommand("unlink",!1);else if(mxClient.IS_FF){for(var c=this.cellEditor.textarea.getElementsByTagName("a"),b=[],f=0;f<c.length;f++)b.push(c[f]); -document.execCommand("createlink",!1,mxUtils.trim(a));c=this.cellEditor.textarea.getElementsByTagName("a");if(c.length==b.length+1)for(f=c.length-1;0<=f;f--)if(c[f]!=b[f-1]){for(c=c[f].getElementsByTagName("a");0<c.length;){for(b=c[0].parentNode;null!=c[0].firstChild;)b.insertBefore(c[0].firstChild,c[0]);b.removeChild(c[0])}break}}else document.execCommand("createlink",!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var c=mxGraph.prototype.isCellResizable.apply(this,arguments),b= -this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return c||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,c){null==c&&(c=this.getSelectionCells());if(null!=c&&1<c.length){for(var b=[],f=null,d=null,e=0;e<c.length;e++)if(this.getModel().isVertex(c[e])){var g=this.view.getState(c[e]);if(null!=g){var l=a?g.getCenterX():g.getCenterY(),f=null!=f?Math.max(f,l):l,d=null!=d?Math.min(d,l):l;b.push(g)}}if(2< -b.length){b.sort(function(c,b){return a?c.x-b.x:c.y-b.y});g=this.view.translate;l=this.view.scale;d=d/l-(a?g.x:g.y);f=f/l-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var n=(f-d)/(b.length-1),f=d,e=1;e<b.length-1;e++){var v=this.view.getState(this.model.getParent(b[e].cell)),q=this.getCellGeometry(b[e].cell),f=f+n;null!=q&&null!=v&&(q=q.clone(),a?q.x=Math.round(f-q.width/2)-v.origin.x:q.y=Math.round(f-q.height/2)-v.origin.y,this.getModel().setGeometry(b[e].cell,q))}}finally{this.getModel().endUpdate()}}}return c}; -Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,c){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,c,b,f,d,e,g,l,n,v){var q=this.useCssTransforms;q&&(this.useCssTransforms=!1,this.view.revalidate(),this.sizeDidChange());try{c=null!=c?c:1;b=null!=b?b:0;d=null!=d?d:!0;e=null!=e?e: -!0;g=null!=g?g:!0;var t=e||f?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==t)throw Error(mxResources.get("drawingEmpty"));var A=this.view.scale,k=mxUtils.createXmlDocument(),x=null!=k.createElementNS?k.createElementNS(mxConstants.NS_SVG,"svg"):k.createElement("svg");null!=a&&(null!=x.style?x.style.backgroundColor=a:x.setAttribute("style","background-color:"+a));null==k.createElementNS?(x.setAttribute("xmlns",mxConstants.NS_SVG),x.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)): -x.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=c/A;var z=Math.max(1,Math.ceil(t.width*a)+2*b)+(v?5:0),J=Math.max(1,Math.ceil(t.height*a)+2*b)+(v?5:0);x.setAttribute("version","1.1");x.setAttribute("width",z+"px");x.setAttribute("height",J+"px");x.setAttribute("viewBox",(d?"-0.5 -0.5":"0 0")+" "+z+" "+J);k.appendChild(x);var m=null!=k.createElementNS?k.createElementNS(mxConstants.NS_SVG,"g"):k.createElement("g");x.appendChild(m);var u=this.createSvgCanvas(m); -u.foOffset=d?-.5:0;u.textOffset=d?-.5:0;u.imageOffset=d?-.5:0;u.translate(Math.floor((b/c-t.x)/A),Math.floor((b/c-t.y)/A));var G=document.createElement("textarea"),I=u.createAlternateContent;u.createAlternateContent=function(a,c,b,f,d,e,g,l,n,v,q,t,A){var k=this.state;if(null!=this.foAltText&&(0==f||0!=k.fontSize&&e.length<5*f/k.fontSize)){var x=this.createElement("text");x.setAttribute("x",Math.round(f/2));x.setAttribute("y",Math.round((d+k.fontSize)/2));x.setAttribute("fill",k.fontColor||"black"); -x.setAttribute("text-anchor","middle");x.setAttribute("font-size",Math.round(k.fontSize)+"px");x.setAttribute("font-family",k.fontFamily);(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&x.setAttribute("font-weight","bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&x.setAttribute("font-style","italic");var z=[];(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&z.push("underline");(k.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&& -z.push("line-through");0<z.length&&x.setAttribute("text-decoration",z.join(" "));try{return G.innerHTML=e,x.textContent=G.value,x}catch(na){return I.apply(this,arguments)}}else return I.apply(this,arguments)};var L=this.backgroundImage;if(null!=L){c=A/c;var p=this.view.translate,E=new mxRectangle(p.x*c,p.y*c,L.width*c,L.height*c);mxUtils.intersects(t,E)&&u.image(p.x,p.y,L.width,L.height,L.src,!0)}u.scale(a);u.textEnabled=g;l=null!=l?l:this.createSvgImageExport();var N=l.drawCellState,Q=l.getLinkForCellState; -l.getLinkForCellState=function(a,c){var b=Q.apply(this,arguments);return null==b||a.view.graph.isCustomLink(b)?null:b};l.drawCellState=function(a,c){for(var b=a.view.graph,f=b.isCellSelected(a.cell),d=b.model.getParent(a.cell);!e&&!f&&null!=d;)f=b.isCellSelected(d),d=b.model.getParent(d);(e||f)&&N.apply(this,arguments)};l.drawState(this.getView().getState(this.model.root),u);this.updateSvgLinks(x,n,!0);return x}finally{q&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.updateSvgLinks= -function(a,c,b){a=a.getElementsByTagName("a");for(var f=0;f<a.length;f++){var d=a[f].getAttribute("href");null==d&&(d=a[f].getAttribute("xlink:href"));null!=d&&(null!=c&&/^https?:\/\//.test(d)?a[f].setAttribute("target",c):b&&this.isCustomLink(d)&&a[f].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 c=window.getSelection(); -c.getRangeAt&&c.rangeCount&&(a=c.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,c,b){for(;null!=a&&a.nodeName!=c;){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.getParentByNames=function(a,c,b){for(;null!=a&&!(0<=mxUtils.indexOf(c,a.nodeName));){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var c=null;if(window.getSelection){if(c= -window.getSelection(),c.getRangeAt&&c.rangeCount){var b=document.createRange();b.selectNode(a);c.removeAllRanges();c.addRange(b)}}else(c=document.selection)&&"Control"!=c.type&&(a=c.createRange(),a.collapse(!0),b=c.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,c){for(var b=a.tBodies[0],f=b.rows[0].cells,d=0,e=0;e<f.length;e++)var g=f[e].getAttribute("colspan"),d=d+(null!=g?parseInt(g):1);b=b.insertRow(c);for(e=0;e<d;e++)mxUtils.br(b.insertCell(-1)); -return b.cells[0]};Graph.prototype.deleteRow=function(a,c){a.tBodies[0].deleteRow(c)};Graph.prototype.insertColumn=function(a,c){var b=a.tHead;if(null!=b)for(var f=0;f<b.rows.length;f++){var d=document.createElement("th");b.rows[f].appendChild(d);mxUtils.br(d)}b=a.tBodies[0];for(f=0;f<b.rows.length;f++)d=b.rows[f].insertCell(c),mxUtils.br(d);return b.rows[0].cells[0<=c?c:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,c){if(0<=c)for(var b=a.tBodies[0].rows,f=0;f<b.length;f++)b[f].cells.length> -c&&b[f].deleteCell(c)};Graph.prototype.pasteHtmlAtCaret=function(a){var c;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){c=c.getRangeAt(0);c.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var f;f=b.firstChild;)lastNode=a.appendChild(f);c.insertNode(a)}}else(c=document.selection)&&"Control"!=c.type&&c.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,c){function b(a,c){a.length>c&&(a= -a.substring(0,Math.round(c/2))+"..."+a.substring(a.length-Math.round(c/4)));return a}a=null!=a?a:"javascript:void(0);";if(null==c||0==c.length)c=this.isCustomLink(a)?this.getLinkTitle(a):a;var f=document.createElement("a");f.setAttribute("rel",this.linkRelation);f.setAttribute("href",this.getAbsoluteUrl(a));f.setAttribute("title",b(this.isCustomLink(a)?this.getLinkTitle(a):a,80));null!=this.linkTarget&&f.setAttribute("target",this.linkTarget);mxUtils.write(f,b(c,40));this.isCustomLink(a)&&mxEvent.addListener(f, -"click",mxUtils.bind(this,function(c){this.customLinkClicked(a);mxEvent.consume(c)}));return f};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,c){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(c){c=a.apply(this,arguments);if(mxEvent.isTouchEvent(c.getEvent())&&null==c.getState()){var b=this.getCellAt(c.graphX,c.graphY); -null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,c.graphX,c.graphY)||(c.state=this.view.getState(b),null!=c.state&&null!=c.state.shape&&(this.container.style.cursor=c.state.shape.node.style.cursor))}null==c.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return c};var c=!1,b=!1,f=!1,d=this.fireMouseEvent;this.fireMouseEvent=function(a,e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),c=this.isCellSelected(e.getCell()),b=this.isSelectionEmpty(),f=this.popupMenuHandler.isMenuShowing()); -d.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,d){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==d.getState()||!d.isSource(d.getState().control))&&(this.popupMenuHandler.popupTrigger||!f&&!mxEvent.isMouseEvent(d.getEvent())&&(b&&null==d.getCell()&&this.isSelectionEmpty()||c&&this.isCellSelected(d.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a= -this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.alignText=function(a,c){var b=null!=c&&mxEvent.isShiftDown(c);if(b||null!=window.getSelection&&null!=window.getSelection().containsNode){var f=!0;this.graph.processElements(this.textarea,function(a){b||window.getSelection().containsNode(a,!0)?(a.removeAttribute("align"), -a.style.textAlign=null):f=!1});f&&this.graph.cellEditor.setAlign(a)}document.execCommand("justify"+a.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var c=[],b=0,f=a.rangeCount;b<f;++b)c.push(a.getRangeAt(b));return c}}else if(document.selection&&document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel= -window.getSelection();sel.removeAllRanges();for(var c=0,b=a.length;c<b;++c)sel.addRange(a[c])}else document.selection&&a.select&&a.select()}catch(U){}};var p=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));p.apply(this,arguments)};var u=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,c){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())? -u.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var y=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,c){y.apply(this,arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState= -null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),f=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=f&&f.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var B=mxCellEditor.prototype.installListeners; -mxCellEditor.prototype.installListeners=function(a){function c(a,b){b.originalNode=a;a=a.firstChild;for(var f=b.firstChild;null!=a&&null!=f;)c(a,f),a=a.nextSibling,f=f.nextSibling;return b}function b(a,c){if(null!=a)if(c.originalNode!=a)f(a);else for(a=a.firstChild,c=c.firstChild;null!=a;){var d=a.nextSibling;null==c?f(a):(b(a,c),c=c.nextSibling);a=d}}function f(a){for(var c=a.firstChild;null!=c;){var b=c.nextSibling;f(c);c=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&& +null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())};Graph.prototype.createCellLookup=function(a,d){d=null!=d?d:{};for(var b=0;b<a.length;b++){var c=a[b];d[mxObjectIdentity.get(c)]=c.getId();for(var f=this.model.getChildCount(c),k=0;k<f;k++)this.createCellLookup([this.model.getChildAt(c,k)],d)}return d};Graph.prototype.createCellMapping= +function(a,d,b){b=null!=b?b:{};for(var c in a){var f=d[c];null==b[f]&&(b[f]=a[c].getId()||"")}return b};Graph.prototype.importGraphModel=function(a,d,b,c){d=null!=d?d:0;b=null!=b?b:0;var f=new mxCodec(a.ownerDocument),k=new mxGraphModel;f.decode(a,k);a=[];var f={},e={},g=k.getChildren(this.cloneCell(k.root,this.isCloneInvalidEdges(),f));if(null!=g){var n=this.createCellLookup([k.root]),g=g.slice();this.model.beginUpdate();try{if(1!=g.length||this.isCellLocked(this.getDefaultParent()))for(k=0;k<g.length;k++)a= +a.concat(this.model.getChildren(this.moveCells([g[k]],d,b,!1,this.model.getRoot())[0]));else a=this.moveCells(k.getChildren(g[0]),d,b,!1,this.getDefaultParent()),e[k.getChildAt(k.root,0).getId()]=this.getDefaultParent().getId();this.createCellMapping(f,n,e);this.updateCustomLinks(e,a);if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var v=this.getBoundingBoxFromGeometry(a,!0);null!=v&&this.moveCells(a,d-v.x,b-v.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.encodeCells=function(a){for(var d= +{},b=this.cloneCells(a,null,d),c=new mxDictionary,f=0;f<a.length;f++)c.put(a[f],!0);for(f=0;f<b.length;f++){var k=this.view.getState(a[f]);if(null!=k){var e=this.getCellGeometry(b[f]);null==e||!e.relative||this.model.isEdge(a[f])||c.get(this.model.getParent(a[f]))||(e.relative=!1,e.x=k.x/k.view.scale-k.view.translate.x,e.y=k.y/k.view.scale-k.view.translate.y)}}c=new mxCodec;k=new mxGraphModel;e=k.getChildAt(k.getRoot(),0);for(f=0;f<b.length;f++)k.add(e,b[f]);this.updateCustomLinks(this.createCellMapping(d, +this.createCellLookup(a)),b);return c.encode(k)};var m=Graph.prototype.moveCells;Graph.prototype.moveCells=function(a,d,b,f,c,k,e){e=null!=e?e:{};var g=m.apply(this,arguments);f&&this.updateCustomLinks(this.createCellMapping(e,this.createCellLookup(a)),g);return g};Graph.prototype.updateCustomLinks=function(a,d){for(var b=0;b<d.length;b++)null!=d[b]&&this.updateCustomLinksForCell(a,d[b])};Graph.prototype.updateCustomLinksForCell=function(a,d){};Graph.prototype.getAllConnectionConstraints=function(a, +d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var f=[];try{for(var c=JSON.parse(b),b=0;b<c.length;b++){var k=c[b];f.push(new mxConnectionConstraint(new mxPoint(k[0],k[1]),2<k.length?"0"!=k[2]:!0,null,3<k.length?k[3]:0,4<k.length?k[4]:0))}}catch(Z){}return f}if(null!=a.shape&&null!=a.shape.bounds){k=a.shape.direction;c=a.shape.bounds;b=a.shape.scale;f=c.width/b;c=c.height/b;if(k==mxConstants.DIRECTION_NORTH||k==mxConstants.DIRECTION_SOUTH)k=f,f=c,c=k;b=a.shape.getConstraints(a.style, +f,c);if(null!=b)return b;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);null!=d&&(d=mxUtils.getValue(d,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW, +d,[a]))}};Graph.prototype.isValidRoot=function(a){for(var d=this.model.getChildCount(a),b=0,f=0;f<d;f++){var c=this.model.getChildAt(a,f);this.model.isVertex(c)&&(c=this.getCellGeometry(c),null==c||c.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(d,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(d, +"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var d=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(d&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(d=!1))}return d};Graph.prototype.getPreferredSizeForCell=function(a){var d= +mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=d&&(d.width+=10,d.height+=4,this.gridEnabled&&(d.width=this.snap(d.width),d.height=this.snap(d.height)));return d};Graph.prototype.turnShapes=function(a){var d=this.getModel(),b=[];d.beginUpdate();try{for(var f=0;f<a.length;f++){var c=a[f];if(d.isEdge(c)){var k=d.getTerminal(c,!0),e=d.getTerminal(c,!1);d.setTerminal(c,e,!0);d.setTerminal(c,k,!1);var g=d.getGeometry(c);if(null!=g){g=g.clone();null!=g.points&&g.points.reverse();var n= +g.getTerminalPoint(!0),v=g.getTerminalPoint(!1);g.setTerminalPoint(n,!1);g.setTerminalPoint(v,!0);d.setGeometry(c,g);var q=this.view.getState(c),t=this.view.getState(k),A=this.view.getState(e);if(null!=q){var l=null!=t?this.getConnectionConstraint(q,t,!0):null,x=null!=A?this.getConnectionConstraint(q,A,!1):null;this.setConnectionConstraint(c,k,!0,x);this.setConnectionConstraint(c,e,!1,l)}b.push(c)}}else if(d.isVertex(c)&&(g=this.getCellGeometry(c),null!=g)){g=g.clone();g.x+=g.width/2-g.height/2;g.y+= +g.height/2-g.width/2;var Q=g.width;g.width=g.height;g.height=Q;d.setGeometry(c,g);var y=this.view.getState(c);if(null!=y){var J=y.style[mxConstants.STYLE_DIRECTION]||"east";"east"==J?J="south":"south"==J?J="west":"west"==J?J="north":"north"==J&&(J="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,J,[c])}b.push(c)}}}finally{d.endUpdate()}return b};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0; +a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var d=this.model.getDescendants(a.cell);if(0<d.length)for(var b=0;b<d.length;b++){var c=this.view.getState(d[b]);null!=c&&null!=c.shape&&null!=c.shape.stencil&&this.stencilHasPlaceholders(c.shape.stencil)?this.removeStateForCell(d[b]):this.isReplacePlaceholders(d[b])&&this.view.invalidate(d[b], +!1,!1)}}};Graph.prototype.replaceElement=function(a,d){for(var b=a.ownerDocument.createElement(null!=d?d:"span"),c=Array.prototype.slice.call(a.attributes);attr=c.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.processElements=function(a,d){if(null!=a)for(var b=a.getElementsByTagName("*"),c=0;c<b.length;c++)d(b[c])};Graph.prototype.updateLabelElements=function(a,d,b){a=null!=a?a:this.getSelectionCells();for(var c=document.createElement("div"), +f=0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var k=this.convertValueToString(a[f]);if(null!=k&&0<k.length){c.innerHTML=k;for(var g=c.getElementsByTagName(null!=b?b:"*"),e=0;e<g.length;e++)d(g[e]);c.innerHTML!=k&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=Graph.zapGremlins(d);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder"))for(var c=a.getAttribute("placeholder"), +f=a;null!=f;){if(f==this.model.getRoot()||null!=f.value&&"object"==typeof f.value&&f.hasAttribute(c)){this.setAttributeForCell(f,c,d);break}f=this.model.getParent(f)}var k=a.value.cloneNode(!0);k.setAttribute("label",d);d=k}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var d=new mxDictionary,b=0;b<a.length;b++)d.put(a[b],!0);for(var c=[],b=0;b<a.length;b++){var f=this.model.getParent(a[b]);null==f|| +d.get(f)||(d.put(f,!0),c.push(f))}for(b=0;b<c.length;b++)if(f=this.view.getState(c[b]),null!=f&&(this.model.isEdge(f.cell)||this.model.isVertex(f.cell))&&this.isCellDeletable(f.cell)){var k=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(k==mxConstants.NONE&&g==mxConstants.NONE){k=!0;for(g=0;g<this.model.getChildCount(f.cell)&&k;g++)d.get(this.model.getChildAt(f.cell,g))||(k=!1);k&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this, +arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var d=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var c=this.view.getState(a[b]);if(null!=c){var f=mxUtils.getValue(c.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(c.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&c==mxConstants.NONE&&d.push(a[b])}}a=d;mxGraph.prototype.removeCellsAfterUngroup.apply(this,arguments)};Graph.prototype.setLinkForCell=function(a,d){this.setAttributeForCell(a, +"link",d)};Graph.prototype.setTooltipForCell=function(a,d){this.setAttributeForCell(a,"tooltip",d)};Graph.prototype.getAttributeForCell=function(a,d,b){return null!=a.value&&"object"===typeof a.value?a.value.getAttribute(d)||b:b};Graph.prototype.setAttributeForCell=function(a,d,b){var c;null!=a.value&&"object"==typeof a.value?c=a.value.cloneNode(!0):(c=mxUtils.createXmlDocument().createElement("UserObject"),c.setAttribute("label",a.value||""));null!=b?c.setAttribute(d,b):c.removeAttribute(d);this.model.setValue(a, +c)};Graph.prototype.getDropTarget=function(a,d,b,c){this.getModel();if(mxEvent.isAltDown(d))return null;for(var f=0;f<a.length;f++)if(this.model.isEdge(this.model.getParent(a[f])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,d){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a), +mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(d)){var c=this.model.isEdge(d)?this.view.getState(d):null,f=mxEvent.getSource(a);this.firstClickState!=c||this.firstClickSource!=f||null!=c&&null!=c.text&&null!=c.text.node&&null!=c.text.boundingBox&&(mxUtils.contains(c.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(c.text.node,mxEvent.getSource(a)))||(null!=c||this.isCellLocked(this.getDefaultParent()))&&(null==c||this.isCellLocked(c.cell))||!(null!=c||mxClient.IS_VML&&f==this.view.getCanvas()|| +mxClient.IS_SVG&&f==this.view.getCanvas().ownerSVGElement)||(d=this.addText(b.x,b.y,c))}mxGraph.prototype.dblClick.call(this,a,d)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),d=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var c=this.getPageLayout(),f=this.getPageSize(),d=Math.max(d,c.x*f.width),b=Math.max(b,c.y*f.height);return new mxPoint(this.snap(d+a),this.snap(b+a))}; +Graph.prototype.getFreeInsertPoint=function(){var a=this.view,d=this.getGraphBounds(),b=this.getInsertPoint(),c=this.snap(Math.round(Math.max(b.x,d.x/a.scale-a.translate.x+(0==d.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(d.y+d.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(c,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,d,b){var c=new mxCell;c.value="Text";c.style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];"; +c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=b){c.style+=";labelBackgroundColor=#ffffff;";c.geometry.relative=!0;c.connectable=!1;var f=this.view.getRelativePoint(b,a,d);c.geometry.x=Math.round(1E4*f.x)/1E4;c.geometry.y=Math.round(f.y);c.geometry.offset=new mxPoint(0,0);var f=this.view.getPoint(b,c.geometry),k=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/k),Math.round((d-f.y)/k))}else c.style+=";autosize=1;",f=this.view.translate,c.geometry.width=40,c.geometry.height= +20,c.geometry.x=Math.round(a/this.view.scale)-f.x,c.geometry.y=Math.round(d/this.view.scale)-f.y;this.getModel().beginUpdate();try{this.addCells([c],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[c])),this.autoSizeCell(c)}finally{this.getModel().endUpdate()}return c};Graph.prototype.addClickHandler=function(a,d,b){var c=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var c=this.getAbsoluteUrl(a[b].getAttribute("href")); +null!=c&&(a[b].setAttribute("rel",this.linkRelation),a[b].setAttribute("href",c),null!=d&&mxEvent.addGestureListeners(a[b],null,null,d))}});this.model.addListener(mxEvent.CHANGE,c);c();var f=this.container.style.cursor,k=this.getTolerance(),g=this,e={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var d=a.sourceState;if(null==d||null==g.getLinkForCell(d.cell))a= +g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,d,b){return null==g.getLinkForCell(a.cell)}),d=g.view.getState(a);d!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=d,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,d){this.startX=d.getGraphX();this.startY=d.getGraphY();this.scrollLeft=g.container.scrollLeft;this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor= +"move");this.updateCurrentState(d)},mouseMove:function(a,d){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-d.getGraphX()),c=Math.abs(this.startY-d.getGraphY());(b>k||c>k)&&this.clear()}}else{for(b=d.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&g.tooltipHandler.reset(d,!0,this.currentState),(null==this.currentState||d.getState()!=this.currentState&&null!=d.sourceState|| +!g.intersects(this.currentState,d.getGraphX(),d.getGraphY()))&&this.updateCurrentState(d))}},mouseUp:function(a,c){for(var f=c.getSource(),e=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<k&&Math.abs(this.scrollTop-g.container.scrollTop)<k&&(null==c.sourceState||!c.isSource(c.sourceState.control))&&((mxEvent.isLeftMouseButton(e)||mxEvent.isMiddleMouseButton(e))&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e))&&(null!= +this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(e,this.currentLink),mxEvent.isConsumed(e)||(e=mxEvent.isMiddleMouseButton(e)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,e),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<k&&Math.abs(this.scrollTop-g.container.scrollTop)<k&&Math.abs(this.startX-c.getGraphX())<k&&Math.abs(this.startY-c.getGraphY())<k&&b(c.getEvent()));this.clear()},activate:function(a){this.currentLink= +g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}};g.click=function(a){};g.addMouseListener(e);mxEvent.addListener(document,"mouseleave",function(a){e.clear()})};Graph.prototype.duplicateCells=function(a, +d){a=null!=a?a:this.getSelectionCells();d=null!=d?d:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),c=this.gridSize,f=[];b.beginUpdate();try{for(var k=this.cloneCells(a,!1,null,!0),g=0;g<a.length;g++){var e=b.getParent(a[g]),n=this.moveCells([k[g]],c,c,!1)[0];f.push(n);if(d)b.add(e,k[g]);else{var v=e.getIndex(a[g]);b.add(e,k[g],v+1)}}}finally{b.endUpdate()}return f};Graph.prototype.insertImage=function(a,d,b){if(null!=a&&null!=this.cellEditor.textarea){for(var c=this.cellEditor.textarea.getElementsByTagName("img"), +f=[],k=0;k<c.length;k++)f.push(c[k]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(k=a.length-1;0<=k;k--)if(0==k||a[k]!=f[k-1]){a[k].setAttribute("width",d);a[k].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){if(null!=this.cellEditor.textarea)if(0==a.length)document.execCommand("unlink",!1);else if(mxClient.IS_FF){for(var d=this.cellEditor.textarea.getElementsByTagName("a"),b=[],c=0;c<d.length;c++)b.push(d[c]); +document.execCommand("createlink",!1,mxUtils.trim(a));d=this.cellEditor.textarea.getElementsByTagName("a");if(d.length==b.length+1)for(c=d.length-1;0<=c;c--)if(d[c]!=b[c-1]){for(d=d[c].getElementsByTagName("a");0<d.length;){for(b=d[0].parentNode;null!=d[0].firstChild;)b.insertBefore(d[0].firstChild,d[0]);b.removeChild(d[0])}break}}else document.execCommand("createlink",!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var d=mxGraph.prototype.isCellResizable.apply(this,arguments),b= +this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return d||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,d){null==d&&(d=this.getSelectionCells());if(null!=d&&1<d.length){for(var b=[],c=null,f=null,k=0;k<d.length;k++)if(this.getModel().isVertex(d[k])){var g=this.view.getState(d[k]);if(null!=g){var e=a?g.getCenterX():g.getCenterY(),c=null!=c?Math.max(c,e):e,f=null!=f?Math.min(f,e):e;b.push(g)}}if(2< +b.length){b.sort(function(d,b){return a?d.x-b.x:d.y-b.y});g=this.view.translate;e=this.view.scale;f=f/e-(a?g.x:g.y);c=c/e-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var n=(c-f)/(b.length-1),c=f,k=1;k<b.length-1;k++){var v=this.view.getState(this.model.getParent(b[k].cell)),q=this.getCellGeometry(b[k].cell),c=c+n;null!=q&&null!=v&&(q=q.clone(),a?q.x=Math.round(c-q.width/2)-v.origin.x:q.y=Math.round(c-q.height/2)-v.origin.y,this.getModel().setGeometry(b[k].cell,q))}}finally{this.getModel().endUpdate()}}}return d}; +Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,d){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,d,b,c,f,k,g,e,n,v){var q=this.useCssTransforms;q&&(this.useCssTransforms=!1,this.view.revalidate(),this.sizeDidChange());try{d=null!=d?d:1;b=null!=b?b:0;f=null!=f?f:!0;k=null!=k?k: +!0;g=null!=g?g:!0;var t=k||c?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==t)throw Error(mxResources.get("drawingEmpty"));var A=this.view.scale,l=mxUtils.createXmlDocument(),x=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"svg"):l.createElement("svg");null!=a&&(null!=x.style?x.style.backgroundColor=a:x.setAttribute("style","background-color:"+a));null==l.createElementNS?(x.setAttribute("xmlns",mxConstants.NS_SVG),x.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)): +x.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=d/A;var y=Math.max(1,Math.ceil(t.width*a)+2*b)+(v?5:0),J=Math.max(1,Math.ceil(t.height*a)+2*b)+(v?5:0);x.setAttribute("version","1.1");x.setAttribute("width",y+"px");x.setAttribute("height",J+"px");x.setAttribute("viewBox",(f?"-0.5 -0.5":"0 0")+" "+y+" "+J);l.appendChild(x);var m=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"g"):l.createElement("g");x.appendChild(m);var u=this.createSvgCanvas(m); +u.foOffset=f?-.5:0;u.textOffset=f?-.5:0;u.imageOffset=f?-.5:0;u.translate(Math.floor((b/d-t.x)/A),Math.floor((b/d-t.y)/A));var G=document.createElement("textarea"),I=u.createAlternateContent;u.createAlternateContent=function(a,d,b,c,f,k,g,e,n,v,q,t,A){var l=this.state;if(null!=this.foAltText&&(0==c||0!=l.fontSize&&k.length<5*c/l.fontSize)){var x=this.createElement("text");x.setAttribute("x",Math.round(c/2));x.setAttribute("y",Math.round((f+l.fontSize)/2));x.setAttribute("fill",l.fontColor||"black"); +x.setAttribute("text-anchor","middle");x.setAttribute("font-size",Math.round(l.fontSize)+"px");x.setAttribute("font-family",l.fontFamily);(l.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&x.setAttribute("font-weight","bold");(l.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&x.setAttribute("font-style","italic");var y=[];(l.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&y.push("underline");(l.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&& +y.push("line-through");0<y.length&&x.setAttribute("text-decoration",y.join(" "));try{return G.innerHTML=k,x.textContent=G.value,x}catch(oa){return I.apply(this,arguments)}}else return I.apply(this,arguments)};var L=this.backgroundImage;if(null!=L){d=A/d;var p=this.view.translate,D=new mxRectangle(p.x*d,p.y*d,L.width*d,L.height*d);mxUtils.intersects(t,D)&&u.image(p.x,p.y,L.width,L.height,L.src,!0)}u.scale(a);u.textEnabled=g;e=null!=e?e:this.createSvgImageExport();var Q=e.drawCellState,N=e.getLinkForCellState; +e.getLinkForCellState=function(a,d){var b=N.apply(this,arguments);return null==b||a.view.graph.isCustomLink(b)?null:b};e.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!k&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(k||c)&&Q.apply(this,arguments)};e.drawState(this.getView().getState(this.model.root),u);this.updateSvgLinks(x,n,!0);return x}finally{q&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.updateSvgLinks= +function(a,d,b){a=a.getElementsByTagName("a");for(var c=0;c<a.length;c++){var f=a[c].getAttribute("href");null==f&&(f=a[c].getAttribute("xlink:href"));null!=f&&(null!=d&&/^https?:\/\//.test(f)?a[c].setAttribute("target",d):b&&this.isCustomLink(f)&&a[c].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 d=window.getSelection(); +d.getRangeAt&&d.rangeCount&&(a=d.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,d,b){for(;null!=a&&a.nodeName!=d;){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.getParentByNames=function(a,d,b){for(;null!=a&&!(0<=mxUtils.indexOf(d,a.nodeName));){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var d=null;if(window.getSelection){if(d= +window.getSelection(),d.getRangeAt&&d.rangeCount){var b=document.createRange();b.selectNode(a);d.removeAllRanges();d.addRange(b)}}else(d=document.selection)&&"Control"!=d.type&&(a=d.createRange(),a.collapse(!0),b=d.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,d){for(var b=a.tBodies[0],c=b.rows[0].cells,f=0,k=0;k<c.length;k++)var g=c[k].getAttribute("colspan"),f=f+(null!=g?parseInt(g):1);b=b.insertRow(d);for(k=0;k<f;k++)mxUtils.br(b.insertCell(-1)); +return b.cells[0]};Graph.prototype.deleteRow=function(a,d){a.tBodies[0].deleteRow(d)};Graph.prototype.insertColumn=function(a,d){var b=a.tHead;if(null!=b)for(var c=0;c<b.rows.length;c++){var f=document.createElement("th");b.rows[c].appendChild(f);mxUtils.br(f)}b=a.tBodies[0];for(c=0;c<b.rows.length;c++)f=b.rows[c].insertCell(d),mxUtils.br(f);return b.rows[0].cells[0<=d?d:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,d){if(0<=d)for(var b=a.tBodies[0].rows,c=0;c<b.length;c++)b[c].cells.length> +d&&b[c].deleteCell(d)};Graph.prototype.pasteHtmlAtCaret=function(a){var d;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){d=d.getRangeAt(0);d.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var c;c=b.firstChild;)lastNode=a.appendChild(c);d.insertNode(a)}}else(d=document.selection)&&"Control"!=d.type&&d.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,d){function b(a,d){a.length>d&&(a= +a.substring(0,Math.round(d/2))+"..."+a.substring(a.length-Math.round(d/4)));return a}a=null!=a?a:"javascript:void(0);";if(null==d||0==d.length)d=this.isCustomLink(a)?this.getLinkTitle(a):a;var c=document.createElement("a");c.setAttribute("rel",this.linkRelation);c.setAttribute("href",this.getAbsoluteUrl(a));c.setAttribute("title",b(this.isCustomLink(a)?this.getLinkTitle(a):a,80));null!=this.linkTarget&&c.setAttribute("target",this.linkTarget);mxUtils.write(c,b(d,40));this.isCustomLink(a)&&mxEvent.addListener(c, +"click",mxUtils.bind(this,function(d){this.customLinkClicked(a);mxEvent.consume(d)}));return c};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,d){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(d){d=a.apply(this,arguments);if(mxEvent.isTouchEvent(d.getEvent())&&null==d.getState()){var b=this.getCellAt(d.graphX,d.graphY); +null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,d.graphX,d.graphY)||(d.state=this.view.getState(b),null!=d.state&&null!=d.state.shape&&(this.container.style.cursor=d.state.shape.node.style.cursor))}null==d.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return d};var d=!1,b=!1,c=!1,f=this.fireMouseEvent;this.fireMouseEvent=function(a,k,g){a==mxEvent.MOUSE_DOWN&&(k=this.updateMouseEvent(k),d=this.isCellSelected(k.getCell()),b=this.isSelectionEmpty(),c=this.popupMenuHandler.isMenuShowing()); +f.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,f){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==f.getState()||!f.isSource(f.getState().control))&&(this.popupMenuHandler.popupTrigger||!c&&!mxEvent.isMouseEvent(f.getEvent())&&(b&&null==f.getCell()&&this.isSelectionEmpty()||d&&this.isCellSelected(f.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a= +this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.alignText=function(a,d){var b=null!=d&&mxEvent.isShiftDown(d);if(b||null!=window.getSelection&&null!=window.getSelection().containsNode){var c=!0;this.graph.processElements(this.textarea,function(a){b||window.getSelection().containsNode(a,!0)?(a.removeAttribute("align"), +a.style.textAlign=null):c=!1});c&&this.graph.cellEditor.setAlign(a)}document.execCommand("justify"+a.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var d=[],b=0,c=a.rangeCount;b<c;++b)d.push(a.getRangeAt(b));return d}}else if(document.selection&&document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel= +window.getSelection();sel.removeAllRanges();for(var d=0,b=a.length;d<b;++d)sel.addRange(a[d])}else document.selection&&a.select&&a.select()}catch(U){}};var p=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));p.apply(this,arguments)};var u=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,d){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())? +u.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var z=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,d){z.apply(this,arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState= +null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),c=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=c&&c.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var B=mxCellEditor.prototype.installListeners; +mxCellEditor.prototype.installListeners=function(a){function d(a,b){b.originalNode=a;a=a.firstChild;for(var c=b.firstChild;null!=a&&null!=c;)d(a,c),a=a.nextSibling,c=c.nextSibling;return b}function b(a,d){if(null!=a)if(d.originalNode!=a)c(a);else for(a=a.firstChild,d=d.firstChild;null!=a;){var f=a.nextSibling;null==d?c(a):(b(a,d),d=d.nextSibling);a=f}}function c(a){for(var d=a.firstChild;null!=d;){var b=d.nextSibling;c(d);d=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&& 0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"),a.removeAttribute("border"))):a.parentNode.removeChild(a)}B.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this, -function(a){var f=c(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("<o:OfficeDocumentSettings>")||0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>"))&&b(this.textarea,f)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell);if(null!=a){var c=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){n=mxUtils.extractTextWithWhitespace(this.textarea.childNodes); -0<n.length&&"\n"==n.charAt(n.length-1)&&(n=n.substring(0,n.length-1));n=this.graph.sanitizeHtml(c?n.replace(/\n/g,"<br/>"):n,!0);this.textarea.className="mxCellEditor geContentEditable";var f=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),d=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)== -mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,l=[];(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&l.push("underline");(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&l.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(f*mxConstants.LINE_HEIGHT)+ -"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(f)+"px";this.textarea.style.textDecoration=l.join(" ");this.textarea.style.fontWeight=e?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=c;this.textarea.style.textAlign=d;this.textarea.style.padding="0px";this.textarea.innerHTML!=n&&(this.textarea.innerHTML=n,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length)); -this.codeViewMode=!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var n=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(n=mxUtils.replaceTrailingNewlines(n,"<div><br></div>"));n=this.graph.sanitizeHtml(c?n.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):n,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var f=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight= -mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(f*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(f)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=n&&(this.textarea.innerHTML=n);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&& -this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()}};var c=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var f=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*f;this.bounds.height=60*f;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style, -mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/f)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/f)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/f)+(this.textarea.offsetHeight- -this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*f);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/f)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*f);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=f:mxUtils.setPrefixedStyle(this.textarea.style, -"transform","scale("+f+","+f+")")}else this.textarea.style.height="",this.textarea.style.overflow="",c.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,c){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,c);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)}; -mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var c=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return c="1"==mxUtils.getValue(a.style,"nl2Br","1")?c.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):c.replace(/\r\n/g,"").replace(/\n/g,"")};var f=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& -this.toggleViewMode();f.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var g=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,c){this.graph.getModel().beginUpdate();try{if(g.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),f=mxUtils.getValue(a.style, -mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==c&&b==mxConstants.NONE&&f==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=c&&c!=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)||(c=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));c==mxConstants.NONE&&(c=null);return c};mxCellEditor.prototype.getMinimumSize=function(a){var c=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*c+20,30)};var q=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,c,b,f,d,e){mxEvent.isAltDown(e)&&(d=null);q.apply(this,arguments)};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 f=this.graph.view.translate,d=this.graph.view.scale;c=this.roundLength((this.bounds.x+this.currentDx)/d-f.x);f=this.roundLength((this.bounds.y+this.currentDy)/d-f.y);d=this.graph.view.unit;this.hint.innerHTML=b(c,d)+", "+b(f,d);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px"; +function(a){var c=d(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("<o:OfficeDocumentSettings>")||0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>"))&&b(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell);if(null!=a){var d=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){n=mxUtils.extractTextWithWhitespace(this.textarea.childNodes); +0<n.length&&"\n"==n.charAt(n.length-1)&&(n=n.substring(0,n.length-1));n=this.graph.sanitizeHtml(d?n.replace(/\n/g,"<br/>"):n,!0);this.textarea.className="mxCellEditor geContentEditable";var c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),k=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)== +mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,e=[];(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&e.push("underline");(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&e.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+ +"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration=e.join(" ");this.textarea.style.fontWeight=k?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=d;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=n&&(this.textarea.innerHTML=n,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length)); +this.codeViewMode=!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var n=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(n=mxUtils.replaceTrailingNewlines(n,"<div><br></div>"));n=this.graph.sanitizeHtml(d?n.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):n,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var c=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight= +mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=n&&(this.textarea.innerHTML=n);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&& +this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()}};var d=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var f=null!=a.text?a.text.margin:null;null==f&&(f=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style, +mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=f.x*this.bounds.width;this.bounds.y+=f.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-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";mxClient.IS_VML?this.textarea.style.zoom=c:mxUtils.setPrefixedStyle(this.textarea.style, +"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",d.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,d){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,d);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)}; +mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var d=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return d="1"==mxUtils.getValue(a.style,"nl2Br","1")?d.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):d.replace(/\r\n/g,"").replace(/\n/g,"")};var f=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& +this.toggleViewMode();f.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var k=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,d){this.graph.getModel().beginUpdate();try{if(k.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(a.style, +mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==d&&b==mxConstants.NONE&&c==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=d&&d!=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)||(d=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));d==mxConstants.NONE&&(d=null);return d};mxCellEditor.prototype.getMinimumSize=function(a){var d=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*d+20,30)};var q=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,d,b,c,f,k){mxEvent.isAltDown(k)&&(f=null);q.apply(this,arguments)};mxGraphView.prototype.formatUnitText=function(a){return a?b(a,this.unit):a};mxGraphHandler.prototype.updateHint= +function(d){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale;d=this.roundLength((this.bounds.x+this.currentDx)/f-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/f-c.y);f=this.graph.view.unit;this.hint.innerHTML=b(d,f)+", "+b(c,f);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px"; this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};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,c){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!mxEvent.isControlDown(c.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,c){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(c.getEvent())||mxEvent.isMetaDown(c.getEvent())};var n=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),c=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(c/=2,a.x=this.sizers[0].bounds.width+c,a.y=this.sizers[0].bounds.height+c):a=n.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+"°";else{c=this.state.view.scale;var f=this.state.view.unit;this.hint.innerHTML=b(this.roundLength(this.bounds.width/c),f)+" x "+b(this.roundLength(this.bounds.height/c),f)}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 l=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove= -function(a,c){l.apply(this,arguments);null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none")};var A=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(a,c){A.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(c,f){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)); -var d=this.graph.view.translate,e=this.graph.view.scale,g=this.roundLength(f.x/e-d.x),d=this.roundLength(f.y/e-d.y),e=this.graph.view.unit;this.hint.innerHTML=b(g,e)+", "+b(d,e);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(),f.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/>'):new mxImage(IMAGE_PATH+"/handle-main.png", +mxVertexHandler.prototype.isRecursiveResize=function(a,d){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!mxEvent.isControlDown(d.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,d){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(d.getEvent())||mxEvent.isMetaDown(d.getEvent())};var n=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),d=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(d/=2,a.x=this.sizers[0].bounds.width+d,a.y=this.sizers[0].bounds.height+d):a=n.apply(this, +arguments);return a};mxVertexHandler.prototype.updateHint=function(d){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+"°";else{d=this.state.view.scale;var c=this.state.view.unit;this.hint.innerHTML=b(this.roundLength(this.bounds.width/d),c)+" x "+b(this.roundLength(this.bounds.height/d),c)}d=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha? +this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0");null==d&&(d=this.bounds);this.hint.style.left=d.x+Math.round((d.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=d.y+d.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 g=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove= +function(a,d){g.apply(this,arguments);null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none")};var A=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(a,d){A.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(d,c){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)); +var f=this.graph.view.translate,k=this.graph.view.scale,g=this.roundLength(c.x/k-f.x),f=this.roundLength(c.y/k-f.y),k=this.graph.view.unit;this.hint.innerHTML=b(g,k)+", "+b(f,k);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(d.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(d.getGraphY(),c.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/>'):new mxImage(IMAGE_PATH+"/handle-main.png", 17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>'):new mxImage(IMAGE_PATH+"/handle-secondary.png",17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/><path d="m 7 7 L 11 11 M 7 11 L 11 7" stroke="#fff"/>'):new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle= mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/><circle cx="9" cy="9" r="2" stroke="#fff" fill="transparent"/>'):new mxImage(IMAGE_PATH+"/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path stroke="'+HoverIcons.prototype.arrowFill+'" fill="'+HoverIcons.prototype.arrowFill+'" d="M15.55 5.55L11 1v3.07C7.06 4.56 4 7.92 4 12s3.05 7.44 7 7.93v-2.02c-2.84-.48-5-2.94-5-5.91s2.16-5.43 5-5.91V10l4.55-4.45zM19.93 11c-.17-1.39-.72-2.73-1.62-3.89l-1.42 1.42c.54.75.88 1.6 1.02 2.47h2.02zM13 17.9v2.02c1.39-.17 2.74-.71 3.9-1.61l-1.44-1.44c-.75.54-1.59.89-2.46 1.03zm3.89-2.42l1.42 1.41c.9-1.16 1.45-2.5 1.62-3.89h-2.02c-.14.87-.48 1.72-1.02 2.48z"/>', 24,24):new mxImage(IMAGE_PATH+"/handle-rotate.png",16,16);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="'+HoverIcons.prototype.arrowFill+'"/>'));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle; @@ -2477,289 +2477,289 @@ mxEdgeHandler.prototype.fixedHandleImage=HoverIcons.prototype.fixedHandle;mxEdge HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((new Image).src=HoverIcons.prototype.mainHandle.src,(new Image).src=HoverIcons.prototype.fixedHandle.src,(new Image).src=HoverIcons.prototype.terminalHandle.src,(new Image).src=HoverIcons.prototype.secondaryHandle.src,(new Image).src=HoverIcons.prototype.rotationHandle.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src= HoverIcons.prototype.triangleDown.src,(new Image).src=HoverIcons.prototype.triangleLeft.src,(new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);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 c=a.getEvent();return null== -a.getState()&&!mxEvent.isMouseEvent(c)||mxEvent.isPopupTrigger(c)&&(null==a.getState()||mxEvent.isControlDown(c)||mxEvent.isShiftDown(c))};var x=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,c){x.apply(this,arguments);mxEvent.isTouchEvent(c.getEvent())&&this.graph.isCellSelected(c.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return mxEvent.isLeftMouseButton(c)&& -(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(c)&&!mxEvent.isShiftDown(c))||this.usePopupTrigger&&mxEvent.isPopupTrigger(c)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,c){var b=null!=this.div&&"none"!=this.div.style.display,f=null,d=null,e=null,g=null;null!=this.first&& -null!=this.currentX&&null!=this.currentY&&(f=this.first.x,d=this.first.y,e=(this.currentX-f)/this.graph.view.scale,g=(this.currentY-d)/this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(c.getEvent())&&this.graph.isToggleEvent(c.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),l= -this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(l)}else if(this.isSpaceEvent(c)){this.graph.model.beginUpdate();try{for(l=this.graph.getCellsBeyond(f,d,this.graph.getDefaultParent(),!0,!0),b=0;b<l.length;b++)if(this.graph.isCellMovable(l[b])){var n=this.graph.view.getState(l[b]),v=this.graph.getCellGeometry(l[b]);null!=n&&null!=v&&(v=v.clone(),v.translate(e,g),this.graph.model.setGeometry(l[b],v))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y, -this.width,this.height),this.graph.selectRegion(e,c.getEvent());c.consume()}};mxRubberband.prototype.mouseMove=function(a,c){if(!c.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),f=mxUtils.getOffset(this.graph.container);b.x-=f.x;b.y-=f.y;var f=c.getX()+b.x,b=c.getY()+b.y,d=this.first.x-f,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(d)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(f,b), -this.isSpaceEvent(c)?(f=this.x+this.width,b=this.y+this.height,d=this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(this.width=this.graph.snap(this.width/d)*d,this.height=this.graph.snap(this.height/d)*d,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=f-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= +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 d=a.getEvent();return null== +a.getState()&&!mxEvent.isMouseEvent(d)||mxEvent.isPopupTrigger(d)&&(null==a.getState()||mxEvent.isControlDown(d)||mxEvent.isShiftDown(d))};var x=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,d){x.apply(this,arguments);mxEvent.isTouchEvent(d.getEvent())&&this.graph.isCellSelected(d.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return mxEvent.isLeftMouseButton(d)&& +(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(d)&&!mxEvent.isShiftDown(d))||this.usePopupTrigger&&mxEvent.isPopupTrigger(d)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,d){var b=null!=this.div&&"none"!=this.div.style.display,c=null,f=null,k=null,g=null;null!=this.first&& +null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,k=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(k=this.graph.snap(k),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(k)<this.graph.tolerance&&(k=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var k=new mxRectangle(this.x,this.y,this.width,this.height),e= +this.graph.getCells(k.x,k.y,k.width,k.height);this.graph.removeSelectionCells(e)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(e=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<e.length;b++)if(this.graph.isCellMovable(e[b])){var n=this.graph.view.getState(e[b]),v=this.graph.getCellGeometry(e[b]);null!=n&&null!=v&&(v=v.clone(),v.translate(k,g),this.graph.model.setGeometry(e[b],v))}}finally{this.graph.model.endUpdate()}}else k=new mxRectangle(this.x,this.y, +this.width,this.height),this.graph.selectRegion(k,d.getEvent());d.consume()}};mxRubberband.prototype.mouseMove=function(a,d){if(!d.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),c=mxUtils.getOffset(this.graph.container);b.x-=c.x;b.y-=c.y;var c=d.getX()+b.x,b=d.getY()+b.y,f=this.first.x-c,k=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(k)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(c,b), +this.isSpaceEvent(d)?(c=this.x+this.width,b=this.y+this.height,f=this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(this.width=this.graph.snap(this.width/f)*f,this.height=this.graph.snap(this.height/f)*f,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=c-this.width),this.y<this.first.y&&(this.y=b-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)),c.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this, -arguments)};var F=(new Date).getTime(),z=0,E=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,c,b,f){E.apply(this,arguments);b!=this.currentTerminalState?(F=(new Date).getTime(),z=0):z=(new Date).getTime()-F;this.currentTerminalState=b};var C=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<z||(null==this.currentTerminalState|| -"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&C.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,c){var b=null!=a&&0==a,f=this.state.getVisibleTerminalState(b),d=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,f,b):null,b=null!=(null!=d?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b), -d):null)?this.fixedHandleImage:null!=d&&null!=f?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var v=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,c,b){this.handleImage=c==mxEvent.ROTATION_HANDLE? -HoverIcons.prototype.rotationHandle:c==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return v.apply(this,arguments)};var J=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var c=this.graph.getModel(),b=c.getParent(a[0]),f=this.graph.getCellGeometry(a[0]);if(c.isEdge(b)&&null!=f&&f.relative&&(c=this.graph.view.getState(a[0]),null!=c&&2>c.width&&2>c.height&&null!=c.text&&null!=c.text.boundingBox))return mxRectangle.fromRectangle(c.text.boundingBox)}return J.apply(this, -arguments)};var L=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=L.apply(this,arguments),c=[],b=0;b<a.length;b++)"1"!=mxUtils.getValue(a[b].style,"part","0")&&c.push(a[b]);return c};var I=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var c=this.graph.getModel(),b=c.getParent(a.cell),f=this.graph.getCellGeometry(a.cell);return c.isEdge(b)&&null!=f&&f.relative&&2>a.width&&2>a.height&&null!= -a.text&&null!=a.text.boundingBox?(c=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))):I.apply(this,arguments)};var N=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,c){var b=this.graph.getModel(),f=b.getParent(this.state.cell),d=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(c)==mxEvent.ROTATION_HANDLE||!b.isEdge(f)||null==d||!d.relative||null==this.state|| -2<=this.state.width||2<=this.state.height)&&N.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var D=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove= -function(a,c){D.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var G=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,c){G.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()? -"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};var O=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){O.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var c=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells? -"":"none");this.redrawHandles()});this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));c()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,c){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell), -f=this.graph.getLinksForState(this.state);this.updateLinkHint(b,f);if(null!=b||null!=f&&0<f.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(c,b){if(null==c&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=c||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.opacity="1", -this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=c&&(this.linkHint.appendChild(this.graph.createLinkForHint(c)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var f=document.createElement("img");f.setAttribute("src",Editor.editImage);f.setAttribute("title",mxResources.get("editLink"));f.setAttribute("width","11");f.setAttribute("height","11");f.style.marginLeft="10px";f.style.marginBottom="-1px";f.style.cursor="pointer"; -this.linkHint.appendChild(f);mxEvent.addListener(f,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));f=document.createElement("img");f.setAttribute("src",Dialog.prototype.clearImage);f.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));f.setAttribute("width","13");f.setAttribute("height","10");f.style.marginLeft="4px";f.style.marginBottom="-1px";f.style.cursor="pointer";this.linkHint.appendChild(f); -mxEvent.addListener(f,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=b)for(f=0;f<b.length;f++){var d=document.createElement("div");d.style.marginTop=null!=c||0<f?"6px":"0px";d.appendChild(this.graph.createLinkForHint(b[f].getAttribute("href"),mxUtils.getTextContent(b[f])));this.linkHint.appendChild(d)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var R=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init= -function(){R.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this,function(c,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell), -this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var c=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=c||null!=b&&0<b.length)this.updateLinkHint(c,b),this.redrawHandles()};var ba=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){ba.apply(this,arguments);this.constraintHandler.isEnabled= -mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var W=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");W.apply(this);if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),c=new mxRectangle(this.state.x, -this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(c,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,c=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=c&&(b=Math.max(b,c.y+c.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+ -this.verticalOffset/2+Editor.hintOffset)+"px"}};var H=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){H.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler), -this.editingHandler=null)};var Z=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Z.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+Editor.hintOffset)+ -"px"}};var fa=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){fa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var la=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){la.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler), -this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function m(){mxActor.call(this)}function p(){mxCylinder.call(this)}function u(){mxActor.call(this)}function y(){mxActor.call(this)}function B(){mxActor.call(this)}function c(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function q(){mxActor.call(this)}function n(a,c){this.canvas= -a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=c;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,n.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,n.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,n.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,n.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; -this.canvas.curveTo=mxUtils.bind(this,n.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,n.prototype.arcTo)}function l(){mxRectangleShape.call(this)}function A(){mxRectangleShape.call(this)}function x(){mxActor.call(this)}function t(){mxActor.call(this)}function F(){mxActor.call(this)}function z(){mxRectangleShape.call(this)}function E(){mxRectangleShape.call(this)}function C(){mxCylinder.call(this)}function v(){mxShape.call(this)}function J(){mxShape.call(this)} -function L(){mxEllipse.call(this)}function I(){mxShape.call(this)}function N(){mxShape.call(this)}function D(){mxRectangleShape.call(this)}function G(){mxShape.call(this)}function O(){mxShape.call(this)}function R(){mxShape.call(this)}function ba(){mxShape.call(this)}function W(){mxShape.call(this)}function H(){mxCylinder.call(this)}function Z(){mxRectangleShape.call(this)}function fa(){mxDoubleEllipse.call(this)}function la(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing= -0}function ia(){mxArrowConnector.call(this);this.spacing=0}function V(){mxActor.call(this)}function U(){mxRectangleShape.call(this)}function ga(){mxActor.call(this)}function qa(){mxActor.call(this)}function Y(){mxActor.call(this)}function aa(){mxActor.call(this)}function P(){mxActor.call(this)}function M(){mxActor.call(this)}function ja(){mxActor.call(this)}function T(){mxActor.call(this)}function S(){mxActor.call(this)}function ea(){mxActor.call(this)}function ta(){mxEllipse.call(this)}function K(){mxEllipse.call(this)} -function ma(){mxEllipse.call(this)}function da(){mxRhombus.call(this)}function ha(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function za(){mxEllipse.call(this)}function oa(){mxActor.call(this)}function ka(){mxActor.call(this)}function sa(){mxActor.call(this)}function pa(){mxConnector.call(this)}function ua(a,c,b,f,d,e,g,l,n,v){g+=n;var ca=f.clone();f.x-=d*(2*g+n);f.y-=e*(2*g+n);d*=g+n;e*=g+n;return function(){a.ellipse(ca.x-d-g,ca.y-e-g,2*g,2*g);v? -a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,c,b,f,d){var e=Math.max(0,Math.min(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),ca=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(c,b);a.begin(); -a.moveTo(0,0);a.lineTo(f-e,0);a.lineTo(f,e);a.lineTo(f,d);a.lineTo(e,d);a.lineTo(0,d-e);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(f-e,0),a.lineTo(f,e),a.lineTo(e,e),a.close(),a.fill()),0!=ca&&(a.setFillAlpha(Math.abs(ca)),a.setFillColor(0>ca?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(e,e),a.lineTo(e,d),a.lineTo(0,d-e),a.close(),a.fill()),a.begin(), -a.moveTo(e,d),a.lineTo(e,e),a.lineTo(0,0),a.moveTo(e,e),a.lineTo(f,e),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var wa=Math.tan(mxUtils.toRadians(30)),ra=(.5-wa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,c,b,f,d){c=Math.min(f,d/wa);a.translate((f- -c)/2,(d-c)/2+c/4);a.moveTo(0,.25*c);a.lineTo(.5*c,c*ra);a.lineTo(c,.25*c);a.lineTo(.5*c,(.5-ra)*c);a.lineTo(0,.25*c);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,c,b,f,d,e){c=Math.min(f,d/(.5+wa));e?(a.moveTo(0,.25*c),a.lineTo(.5*c,(.5-ra)*c),a.lineTo(c,.25*c),a.moveTo(.5*c,(.5-ra)*c),a.lineTo(.5*c,(1-ra)*c)):(a.translate((f-c)/2,(d-c)/2),a.moveTo(0,.25*c),a.lineTo(.5*c,c*ra),a.lineTo(c,.25*c), -a.lineTo(c,.75*c),a.lineTo(.5*c,(1-ra)*c),a.lineTo(0,.75*c),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(d,mxCylinder);d.prototype.redrawPath=function(a,c,b,f,d,e){c=Math.min(d/2,Math.round(d/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,c),a.curveTo(0,2*c,f,2*c,f,c),e||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,f,2*c,f,c),e||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,f,2*c,f,c), -e||(a.stroke(),a.begin()),a.translate(0,-c);e||(a.moveTo(0,c),a.curveTo(0,-c/3,f,-c/3,f,c),a.lineTo(f,d-c),a.curveTo(f,d+c/3,0,d+c/3,0,d-c),a.close())};d.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",d);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.darkOpacity=0;k.prototype.paintVertexShape=function(a,c,b,f,d){var e=Math.max(0,Math.min(f,Math.min(d,parseFloat(mxUtils.getValue(this.style, -"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(c,b);a.begin();a.moveTo(0,0);a.lineTo(f-e,0);a.lineTo(f,e);a.lineTo(f,d);a.lineTo(0,d);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(f-e,0),a.lineTo(f-e,e),a.lineTo(f,e),a.close(),a.fill()),a.begin(),a.moveTo(f-e,0),a.lineTo(f-e,e),a.lineTo(f, -e),a.end(),a.stroke())};mxCellRenderer.registerShape("note",k);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,c,b,f,d){a.moveTo(0,0);a.quadTo(f/2,.5*d,f,0);a.quadTo(.5*f,d/2,f,d);a.quadTo(f/2,.5*d,0,d);a.quadTo(.5*f,d/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,c,b,f,d,e){c=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, -"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);e?"left"==g?(a.moveTo(0,b),a.lineTo(c,b)):(a.moveTo(f-c,b),a.lineTo(f,b)):("left"==g?(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,b),a.lineTo(f,b)):(a.moveTo(0,b),a.lineTo(f-c,b),a.lineTo(f-c,0),a.lineTo(f,0)),a.lineTo(f,d),a.lineTo(0,d),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(u, -mxActor);u.prototype.size=30;u.prototype.isRoundable=function(){return!0};u.prototype.redrawPath=function(a,c,b,f,d){c=Math.max(0,Math.min(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(f,0),new mxPoint(f,d),new mxPoint(0,d),new mxPoint(0,c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",u);mxUtils.extend(y,mxActor);y.prototype.size= -.4;y.prototype.redrawPath=function(a,c,b,f,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,c/2);a.quadTo(f/4,1.4*c,f/2,c/2);a.quadTo(3*f/4,c*(1-1.4),f,c/2);a.lineTo(f,d-c/2);a.quadTo(3*f/4,d-1.4*c,f/2,d-c/2);a.quadTo(f/4,d-c*(1-1.4),0,d-c/2);a.lineTo(0,c/2);a.close();a.end()};y.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=mxUtils.getValue(this.style,"size",this.size),b=a.width,f=a.height;if(null==this.direction|| -this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return c*=f,new mxRectangle(a.x,a.y+c,b,f-2*c);c*=b;return new mxRectangle(a.x+c,a.y,b-2*c,f)}return a};mxCellRenderer.registerShape("tape",y);mxUtils.extend(B,mxActor);B.prototype.size=.3;B.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};B.prototype.redrawPath=function(a,c,b, -f,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(f,0);a.lineTo(f,d-c/2);a.quadTo(3*f/4,d-1.4*c,f/2,d-c/2);a.quadTo(f/4,d-c*(1-1.4),0,d-c/2);a.lineTo(0,c/2);a.close();a.end()};mxCellRenderer.registerShape("document",B);var Ca=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,c,b,f){var d=mxUtils.getValue(this.style,"size");return null!=d?f*Math.max(0,Math.min(1,d)):Ca.apply(this,arguments)};mxCylinder.prototype.getLabelMargins= -function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*c),0,0)}return null};mxUtils.extend(c,mxActor);c.prototype.size=.2;c.prototype.isRoundable=function(){return!0};c.prototype.redrawPath=function(a,c,b,f,d){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;this.addPoints(a,[new mxPoint(0,d),new mxPoint(c,0),new mxPoint(f,0),new mxPoint(f-c,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",c);mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.isRoundable=function(){return!0};f.prototype.redrawPath=function(a,c,b,f,d){c=f*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0, -d),new mxPoint(c,0),new mxPoint(f-c,0),new mxPoint(f,d)],this.isRounded,b,!0)};mxCellRenderer.registerShape("trapezoid",f);mxUtils.extend(g,mxActor);g.prototype.size=.5;g.prototype.redrawPath=function(a,c,b,f,d){a.setFillColor(null);c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(f,0),new mxPoint(c,0),new mxPoint(c,d/2),new mxPoint(0,d/2),new mxPoint(c, -d/2),new mxPoint(c,d),new mxPoint(f,d)],this.isRounded,b,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",g);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,c,b,f,d){a.setStrokeWidth(1);a.setFillColor(this.stroke);c=f/5;a.rect(0,0,c,d);a.fillAndStroke();a.rect(2*c,0,c,d);a.fillAndStroke();a.rect(4*c,0,c,d);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);n.prototype.moveTo=function(a,c){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY= -c;this.firstX=a;this.firstY=c};n.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)};n.prototype.quadTo=function(a,c,b,f){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=f};n.prototype.curveTo=function(a,c,b,f,d,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=d;this.lastY=e};n.prototype.arcTo=function(a,c,b,f, -d,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=g};n.prototype.lineTo=function(a,c){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},f=Math.abs(a-this.lastX),d=Math.abs(c-this.lastY),e=Math.sqrt(f*f+d*d);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;return}var g=Math.round(e/10),l=this.defaultVariation;5>g&&(g=5,l/=3);for(var ca=b(a-this.lastX)*f/g,b=b(c-this.lastY)*d/ -g,f=f/e,d=d/e,e=0;e<g;e++){var n=(Math.random()-.5)*l;this.originalLineTo.call(this.canvas,ca*e+this.lastX-n*d,b*e+this.lastY-n*f)}this.originalLineTo.call(this.canvas,a,c)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c};n.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo}; +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)),d.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this, +arguments)};var E=(new Date).getTime(),y=0,D=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){D.apply(this,arguments);b!=this.currentTerminalState?(E=(new Date).getTime(),y=0):y=(new Date).getTime()-E;this.currentTerminalState=b};var C=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<y||(null==this.currentTerminalState|| +"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&C.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,d){var b=null!=a&&0==a,c=this.state.getVisibleTerminalState(b),f=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,c,b):null,b=null!=(null!=f?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b), +f):null)?this.fixedHandleImage:null!=f&&null!=c?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var v=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,d,b){this.handleImage=d==mxEvent.ROTATION_HANDLE? +HoverIcons.prototype.rotationHandle:d==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return v.apply(this,arguments)};var J=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var d=this.graph.getModel(),b=d.getParent(a[0]),c=this.graph.getCellGeometry(a[0]);if(d.isEdge(b)&&null!=c&&c.relative&&(d=this.graph.view.getState(a[0]),null!=d&&2>d.width&&2>d.height&&null!=d.text&&null!=d.text.boundingBox))return mxRectangle.fromRectangle(d.text.boundingBox)}return J.apply(this, +arguments)};var L=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=L.apply(this,arguments),d=[],b=0;b<a.length;b++)"1"!=mxUtils.getValue(a[b].style,"part","0")&&d.push(a[b]);return d};var I=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var d=this.graph.getModel(),b=d.getParent(a.cell),c=this.graph.getCellGeometry(a.cell);return d.isEdge(b)&&null!=c&&c.relative&&2>a.width&&2>a.height&&null!= +a.text&&null!=a.text.boundingBox?(d=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(d.x),Math.round(d.y),Math.round(d.width),Math.round(d.height))):I.apply(this,arguments)};var N=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,d){var b=this.graph.getModel(),c=b.getParent(this.state.cell),f=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(d)==mxEvent.ROTATION_HANDLE||!b.isEdge(c)||null==f||!f.relative||null==this.state|| +2<=this.state.width||2<=this.state.height)&&N.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var F=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove= +function(a,d){F.apply(this,arguments);null!=this.graph.graphHandler.first&&(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var G=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,d){G.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()? +"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};var O=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){O.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var d=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells? +"":"none");this.redrawHandles()});this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));d()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,d){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell), +c=this.graph.getLinksForState(this.state);this.updateLinkHint(b,c);if(null!=b||null!=c&&0<c.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(d,b){try{if(null==d&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=d||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.opacity= +"1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=d&&(this.linkHint.appendChild(this.graph.createLinkForHint(d)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var c=document.createElement("img");c.setAttribute("src",Editor.editImage);c.setAttribute("title",mxResources.get("editLink"));c.setAttribute("width","11");c.setAttribute("height","11");c.style.marginLeft="10px";c.style.marginBottom="-1px";c.style.cursor= +"pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));var f=document.createElement("img");f.setAttribute("src",Dialog.prototype.clearImage);f.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));f.setAttribute("width","13");f.setAttribute("height","10");f.style.marginLeft="4px";f.style.marginBottom="-1px";f.style.cursor="pointer";this.linkHint.appendChild(f); +mxEvent.addListener(f,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=b)for(c=0;c<b.length;c++){var k=document.createElement("div");k.style.marginTop=null!=d||0<c?"6px":"0px";k.appendChild(this.graph.createLinkForHint(b[c].getAttribute("href"),mxUtils.getTextContent(b[c])));this.linkHint.appendChild(k)}}}catch(na){}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var R=mxEdgeHandler.prototype.init; +mxEdgeHandler.prototype.init=function(){R.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this, +function(d,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var d=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=d||null!=b&&0<b.length)this.updateLinkHint(d,b),this.redrawHandles()};var ba=mxConnectionHandler.prototype.init; +mxConnectionHandler.prototype.init=function(){ba.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var W=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");W.apply(this);if(null!=this.state&& +null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),d=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(d,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,d=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=d&&(b=Math.max(b,d.y+d.height));this.linkHint.style.left= +Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+this.verticalOffset/2+Editor.hintOffset)+"px"}};var H=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){H.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler), +this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var aa=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(aa.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width- +this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+Editor.hintOffset)+"px"}};var fa=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){fa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var la=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){la.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), +this.graph.getSelectionModel().removeListener(this.changeHandler),this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function c(){mxCylinder.call(this)}function l(){mxCylinder.call(this)}function m(){mxActor.call(this)}function p(){mxCylinder.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function B(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function k(){mxActor.call(this)}function q(){mxActor.call(this)}function n(a,d){this.canvas= +a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=d;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,n.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,n.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,n.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,n.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; +this.canvas.curveTo=mxUtils.bind(this,n.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,n.prototype.arcTo)}function g(){mxRectangleShape.call(this)}function A(){mxRectangleShape.call(this)}function x(){mxActor.call(this)}function t(){mxActor.call(this)}function E(){mxActor.call(this)}function y(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function C(){mxCylinder.call(this)}function v(){mxShape.call(this)}function J(){mxShape.call(this)} +function L(){mxEllipse.call(this)}function I(){mxShape.call(this)}function N(){mxShape.call(this)}function F(){mxRectangleShape.call(this)}function G(){mxShape.call(this)}function O(){mxShape.call(this)}function R(){mxShape.call(this)}function ba(){mxShape.call(this)}function W(){mxShape.call(this)}function H(){mxCylinder.call(this)}function aa(){mxRectangleShape.call(this)}function fa(){mxDoubleEllipse.call(this)}function la(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing= +0}function ja(){mxArrowConnector.call(this);this.spacing=0}function V(){mxActor.call(this)}function U(){mxRectangleShape.call(this)}function ia(){mxActor.call(this)}function na(){mxActor.call(this)}function Z(){mxActor.call(this)}function Y(){mxActor.call(this)}function P(){mxActor.call(this)}function M(){mxActor.call(this)}function ga(){mxActor.call(this)}function T(){mxActor.call(this)}function S(){mxActor.call(this)}function ea(){mxActor.call(this)}function ta(){mxEllipse.call(this)}function K(){mxEllipse.call(this)} +function ma(){mxEllipse.call(this)}function da(){mxRhombus.call(this)}function ha(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function za(){mxEllipse.call(this)}function pa(){mxActor.call(this)}function ka(){mxActor.call(this)}function sa(){mxActor.call(this)}function qa(){mxConnector.call(this)}function ua(a,d,b,c,f,k,g,e,n,v){g+=n;var ca=c.clone();c.x-=f*(2*g+n);c.y-=k*(2*g+n);f*=g+n;k*=g+n;return function(){a.ellipse(ca.x-f-g,ca.y-k-g,2*g,2*g);v? +a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,d,b,c,f){var k=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),ca=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(d,b);a.begin(); +a.moveTo(0,0);a.lineTo(c-k,0);a.lineTo(c,k);a.lineTo(c,f);a.lineTo(k,f);a.lineTo(0,f-k);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(c-k,0),a.lineTo(c,k),a.lineTo(k,k),a.close(),a.fill()),0!=ca&&(a.setFillAlpha(Math.abs(ca)),a.setFillColor(0>ca?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(k,k),a.lineTo(k,f),a.lineTo(0,f-k),a.close(),a.fill()),a.begin(), +a.moveTo(k,f),a.lineTo(k,k),a.lineTo(0,0),a.moveTo(k,k),a.lineTo(c,k),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var wa=Math.tan(mxUtils.toRadians(30)),ra=(.5-wa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/wa);a.translate((c- +d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*ra);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-ra)*d);a.lineTo(0,.25*d);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,d,b,c,f,k){d=Math.min(c,f/(.5+wa));k?(a.moveTo(0,.25*d),a.lineTo(.5*d,(.5-ra)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-ra)*d),a.lineTo(.5*d,(1-ra)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*ra),a.lineTo(d,.25*d), +a.lineTo(d,.75*d),a.lineTo(.5*d,(1-ra)*d),a.lineTo(0,.75*d),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(c,mxCylinder);c.prototype.redrawPath=function(a,d,b,c,f,k){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(k&&null!=this.fill||!k&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),k||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),k||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d), +k||(a.stroke(),a.begin()),a.translate(0,-d);k||(a.moveTo(0,d),a.curveTo(0,-d/3,c,-d/3,c,d),a.lineTo(c,f-d),a.curveTo(c,f+d/3,0,f+d/3,0,f-d),a.close())};c.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",c);mxUtils.extend(l,mxCylinder);l.prototype.size=30;l.prototype.darkOpacity=0;l.prototype.paintVertexShape=function(a,d,b,c,f){var k=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style, +"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(d,b);a.begin();a.moveTo(0,0);a.lineTo(c-k,0);a.lineTo(c,k);a.lineTo(c,f);a.lineTo(0,f);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(c-k,0),a.lineTo(c-k,k),a.lineTo(c,k),a.close(),a.fill()),a.begin(),a.moveTo(c-k,0),a.lineTo(c-k,k),a.lineTo(c, +k),a.end(),a.stroke())};mxCellRenderer.registerShape("note",l);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c/2,.5*f,c,0);a.quadTo(.5*c,f/2,c,f);a.quadTo(c/2,.5*f,0,f);a.quadTo(.5*c,f/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,d,b,c,f,k){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style, +"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);k?"left"==g?(a.moveTo(0,b),a.lineTo(d,b)):(a.moveTo(c-d,b),a.lineTo(c,b)):("left"==g?(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,b),a.lineTo(c,b)):(a.moveTo(0,b),a.lineTo(c-d,b),a.lineTo(c-d,0),a.lineTo(c,0)),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(u, +mxActor);u.prototype.size=30;u.prototype.isRoundable=function(){return!0};u.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",u);mxUtils.extend(z,mxActor);z.prototype.size= +.4;z.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,d/2);a.quadTo(c/4,1.4*d,c/2,d/2);a.quadTo(3*c/4,d*(1-1.4),c,d/2);a.lineTo(c,f-d/2);a.quadTo(3*c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close();a.end()};z.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=mxUtils.getValue(this.style,"size",this.size),b=a.width,c=a.height;if(null==this.direction|| +this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return d*=c,new mxRectangle(a.x,a.y+d,b,c-2*d);d*=b;return new mxRectangle(a.x+d,a.y,b-2*d,c)}return a};mxCellRenderer.registerShape("tape",z);mxUtils.extend(B,mxActor);B.prototype.size=.3;B.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};B.prototype.redrawPath=function(a,d,b, +c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(c,0);a.lineTo(c,f-d/2);a.quadTo(3*c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close();a.end()};mxCellRenderer.registerShape("document",B);var Ca=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,d,b,c){var f=mxUtils.getValue(this.style,"size");return null!=f?c*Math.max(0,Math.min(1,f)):Ca.apply(this,arguments)};mxCylinder.prototype.getLabelMargins= +function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*d),0,0)}return null};mxUtils.extend(d,mxActor);d.prototype.size=.2;d.prototype.isRoundable=function(){return!0};d.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c-d,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",d);mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.isRoundable=function(){return!0};f.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0, +f),new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,f)],this.isRounded,b,!0)};mxCellRenderer.registerShape("trapezoid",f);mxUtils.extend(k,mxActor);k.prototype.size=.5;k.prototype.redrawPath=function(a,d,b,c,f){a.setFillColor(null);d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d,f/2),new mxPoint(0,f/2),new mxPoint(d, +f/2),new mxPoint(d,f),new mxPoint(c,f)],this.isRounded,b,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",k);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,d,b,c,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=c/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);n.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY= +d;this.firstX=a;this.firstY=d};n.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)};n.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};n.prototype.curveTo=function(a,d,b,c,f,k){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=k};n.prototype.arcTo=function(a,d,b,c, +f,k,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=k;this.lastY=g};n.prototype.lineTo=function(a,d){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},c=Math.abs(a-this.lastX),f=Math.abs(d-this.lastY),k=Math.sqrt(c*c+f*f);if(2>k){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(k/10),e=this.defaultVariation;5>g&&(g=5,e/=3);for(var ca=b(a-this.lastX)*c/g,b=b(d-this.lastY)*f/ +g,c=c/k,f=f/k,k=0;k<g;k++){var n=(Math.random()-.5)*e;this.originalLineTo.call(this.canvas,ca*k+this.lastX-n*f,b*k+this.lastY-n*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};n.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo}; var Ma=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new n(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ma.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Da=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null== -this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Da.apply(this,arguments)};var xa=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,c,b,f,d){if(null==a.handJiggle)xa.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE|| -(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?e=Math.min(f/2,Math.min(d/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(f*e,d*e)),a.moveTo(c+e,b),a.lineTo(c+f-e,b),a.quadTo(c+f,b,c+f,b+e),a.lineTo(c+f,b+d-e),a.quadTo(c+f,b+d,c+f-e,b+d),a.lineTo(c+e,b+d),a.quadTo(c,b+d,c,b+d-e), -a.lineTo(c,b+e),a.quadTo(c,b,c+e,b)):(a.moveTo(c,b),a.lineTo(c+f,b),a.lineTo(c+f,b+d),a.lineTo(c,b+d),a.lineTo(c,b)),a.close(),a.end(),a.fillAndStroke()}};var ya=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,c,b,f,d){null==a.handJiggle&&ya.apply(this,arguments)};mxUtils.extend(l,mxRectangleShape);l.prototype.size=.1;l.prototype.isHtmlAllowed=function(){return!1};l.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 c=a.width,b=a.height;a=new mxRectangle(a.x,a.y,c,b);var f=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(c*d,b*d));a.x+=Math.round(f);a.width-=Math.round(2*f)}return a};l.prototype.paintForeground= -function(a,c,b,f,d){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(f*g,d*g));e=Math.round(e);a.begin();a.moveTo(c+e,b);a.lineTo(c+e,b+d);a.moveTo(c+f-e,b);a.lineTo(c+f-e,b+d);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",l);mxUtils.extend(A, -mxRectangleShape);A.prototype.paintBackground=function(a,c,b,f,d){a.setFillColor(mxConstants.NONE);a.rect(c,b,f,d);a.fill()};A.prototype.paintForeground=function(a,c,b,f,d){};mxCellRenderer.registerShape("transparent",A);mxUtils.extend(x,mxHexagon);x.prototype.size=30;x.prototype.position=.5;x.prototype.position2=.5;x.prototype.base=20;x.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};x.prototype.isRoundable= -function(){return!0};x.prototype.redrawPath=function(a,c,b,f,d){c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),l=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"base",this.base)))); -this.addPoints(a,[new mxPoint(0,0),new mxPoint(f,0),new mxPoint(f,d-b),new mxPoint(Math.min(f,e+l),d-b),new mxPoint(g,d),new mxPoint(Math.max(0,e),d-b),new mxPoint(0,d-b)],this.isRounded,c,!0,[4])};mxCellRenderer.registerShape("callout",x);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;t.prototype.isRoundable=function(){return!0};t.prototype.redrawPath=function(a,c,b,f,d){c="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, -"size",this.fixedSize)))):f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(f-c,0),new mxPoint(f,d/2),new mxPoint(f-c,d),new mxPoint(0,d),new mxPoint(c,d/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",t);mxUtils.extend(F,mxHexagon);F.prototype.size=.25;F.prototype.isRoundable=function(){return!0};F.prototype.redrawPath= -function(a,c,b,f,d){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(f-c,0),new mxPoint(f,.5*d),new mxPoint(f-c,d),new mxPoint(c,d),new mxPoint(0,.5*d)],this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",F);mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.paintForeground=function(a, -c,b,f,d){var e=Math.min(f/5,d/5)+1;a.begin();a.moveTo(c+f/2,b+e);a.lineTo(c+f/2,b+d-e);a.moveTo(c+e,b+d/2);a.lineTo(c+f-e,b+d/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",z);var Ga=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var c=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+ -c,a.y+c,a.width-2*c,a.height-2*c)}return a};mxRhombus.prototype.paintVertexShape=function(a,c,b,f,d){Ga.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);c+=e;b+=e;f-=2*e;d-=2*e;0<f&&0<d&&(a.setShadow(!1),Ga.apply(this,[a,c,b,f,d]))}};mxUtils.extend(E,mxRectangleShape);E.prototype.isHtmlAllowed=function(){return!1};E.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var c=(Math.max(2, -this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)}return a};E.prototype.paintForeground=function(a,c,b,f,d){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);c+=e;b+=e;f-=2*e;d-=2*e;0<f&&0<d&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+ -e]];if(null!=g){var l=this.style["symbol"+e+"Align"],ca=this.style["symbol"+e+"VerticalAlign"],n=this.style["symbol"+e+"Width"],v=this.style["symbol"+e+"Height"],q=this.style["symbol"+e+"Spacing"]||0,t=this.style["symbol"+e+"VSpacing"]||q,A=this.style["symbol"+e+"ArcSpacing"];null!=A&&(A*=this.getArcSize(f+this.strokewidth,d+this.strokewidth),q+=A,t+=A);var A=c,k=b,A=l==mxConstants.ALIGN_CENTER?A+(f-n)/2:l==mxConstants.ALIGN_RIGHT?A+(f-n-q):A+q,k=ca==mxConstants.ALIGN_MIDDLE?k+(d-v)/2:ca==mxConstants.ALIGN_BOTTOM? -k+(d-v-t):k+t;a.save();l=new g;l.style=this.style;g.prototype.paintVertexShape.call(l,a,A,k,n,v);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",E);mxUtils.extend(C,mxCylinder);C.prototype.redrawPath=function(a,c,b,f,d,e){e?(a.moveTo(0,0),a.lineTo(f/2,d/2),a.lineTo(f,0),a.end()):(a.moveTo(0,0),a.lineTo(f,0),a.lineTo(f,d),a.lineTo(0,d),a.close())};mxCellRenderer.registerShape("message",C);mxUtils.extend(v,mxShape); -v.prototype.paintBackground=function(a,c,b,f,d){a.translate(c,b);a.ellipse(f/4,0,f/2,d/4);a.fillAndStroke();a.begin();a.moveTo(f/2,d/4);a.lineTo(f/2,2*d/3);a.moveTo(f/2,d/3);a.lineTo(0,d/3);a.moveTo(f/2,d/3);a.lineTo(f,d/3);a.moveTo(f/2,2*d/3);a.lineTo(0,d);a.moveTo(f/2,2*d/3);a.lineTo(f,d);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",v);mxUtils.extend(J,mxShape);J.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};J.prototype.paintBackground=function(a, -c,b,f,d){a.translate(c,b);a.begin();a.moveTo(0,d/4);a.lineTo(0,3*d/4);a.end();a.stroke();a.begin();a.moveTo(0,d/2);a.lineTo(f/6,d/2);a.end();a.stroke();a.ellipse(f/6,0,5*f/6,d);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",J);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a,c,b,f,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+f/8,b+d);a.lineTo(c+7*f/8,b+d);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",L);mxUtils.extend(I, -mxShape);I.prototype.paintVertexShape=function(a,c,b,f,d){a.translate(c,b);a.begin();a.moveTo(f,0);a.lineTo(0,d);a.moveTo(0,0);a.lineTo(f,d);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",I);mxUtils.extend(N,mxShape);N.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};N.prototype.paintBackground=function(a,c,b,f,d){a.translate(c,b);a.begin();a.moveTo(3*f/8,d/8*1.1);a.lineTo(5*f/8,0);a.end();a.stroke();a.ellipse(0,d/8,f,7*d/8);a.fillAndStroke()}; -N.prototype.paintForeground=function(a,c,b,f,d){a.begin();a.moveTo(3*f/8,d/8*1.1);a.lineTo(5*f/8,d/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",N);mxUtils.extend(D,mxRectangleShape);D.prototype.size=40;D.prototype.isHtmlAllowed=function(){return!1};D.prototype.getLabelBounds=function(a){var c=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,c)};D.prototype.paintBackground=function(a,c,b,f, -d){var e=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,c,b,f,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=D&&(g=new g,g.apply(this.state),a.save(),g.paintVertexShape(a,c,b,f,e),a.restore()));e<d&&(a.setDashed(!0),a.begin(),a.moveTo(c+f/2,b+e),a.lineTo(c+f/2,b+d),a.end(),a.stroke())};D.prototype.paintForeground=function(a, -c,b,f,d){var e=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,c,b,f,Math.min(d,e))};mxCellRenderer.registerShape("umlLifeline",D);mxUtils.extend(G,mxShape);G.prototype.width=60;G.prototype.height=30;G.prototype.corner=10;G.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))};G.prototype.paintBackground=function(a,c,b,f,d){var e=this.corner,g=Math.min(f,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),l=Math.min(d,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),n=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);n!=mxConstants.NONE&&(a.setFillColor(n),a.rect(c,b,f,d),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!= -mxConstants.NONE?(this.getGradientBounds(a,c,b,f,d),a.setGradient(this.fill,this.gradient,c,b,f,d,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(c,b);a.lineTo(c+g,b);a.lineTo(c+g,b+Math.max(0,l-1.5*e));a.lineTo(c+Math.max(0,g-e),b+l);a.lineTo(c,b+l);a.close();a.fillAndStroke();a.begin();a.moveTo(c+g,b);a.lineTo(c+f,b);a.lineTo(c+f,b+d);a.lineTo(c,b+d);a.lineTo(c,b+l);a.stroke()};mxCellRenderer.registerShape("umlFrame",G);mxPerimeter.LifelinePerimeter=function(a,c,b,f){f=D.prototype.size; -null!=c&&(f=mxUtils.getValue(c.style,"size",f)*c.view.scale);c=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;b.x<a.getCenterX()&&(c=-1*(c+1));return new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y+f,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,c,b,f){f=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter); -mxPerimeter.BackbonePerimeter=function(a,c,b,f){f=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;null!=c.style.backboneSize&&(f+=parseFloat(c.style.backboneSize)*c.view.scale/2-1);if("south"==c.style[mxConstants.STYLE_DIRECTION]||"north"==c.style[mxConstants.STYLE_DIRECTION])return b.x<a.getCenterX()&&(f=-1*(f+1)),new mxPoint(a.getCenterX()+f,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(f=-1*(f+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)), -a.getCenterY()+f)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,c,b,f){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(c.style,"size",x.prototype.size))*c.view.scale))),c.style),c,b,f)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,f,d){var e=c.prototype.size; -null!=b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,l=a.y,n=a.width,v=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=v*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+n,l+e),new mxPoint(g+n,l+v),new mxPoint(g,l+v-e),new mxPoint(g,l)]):(e=n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g+e,l),new mxPoint(g+n,l),new mxPoint(g+n-e,l+v),new mxPoint(g, -l+v),new mxPoint(g+e,l)]);v=a.getCenterX();a=a.getCenterY();a=new mxPoint(v,a);d&&(f.x<g||f.x>g+n?a.y=f.y:a.x=f.x);return mxUtils.getPerimeterPoint(l,a,f)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,c,b,d){var e=f.prototype.size;null!=c&&(e=mxUtils.getValue(c.style,"size",e));var g=a.x,l=a.y,n=a.width,v=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST; -c==mxConstants.DIRECTION_EAST?(e=n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g+e,l),new mxPoint(g+n-e,l),new mxPoint(g+n,l+v),new mxPoint(g,l+v),new mxPoint(g+e,l)]):c==mxConstants.DIRECTION_WEST?(e=n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+n,l),new mxPoint(g+n-e,l+v),new mxPoint(g+e,l+v),new mxPoint(g,l)]):c==mxConstants.DIRECTION_NORTH?(e=v*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l+e),new mxPoint(g+n,l),new mxPoint(g+n,l+v),new mxPoint(g,l+v-e),new mxPoint(g,l+e)]):(e=v*Math.max(0, -Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+n,l+e),new mxPoint(g+n,l+v-e),new mxPoint(g,l+v),new mxPoint(g,l)]);v=a.getCenterX();a=a.getCenterY();a=new mxPoint(v,a);d&&(b.x<g||b.x>g+n?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(l,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,c,b,f){var d="0"!=mxUtils.getValue(c.style,"fixedSize","0"),e=d?t.prototype.fixedSize:t.prototype.size;null!=c&&(e=mxUtils.getValue(c.style, -"size",e));var g=a.x,l=a.y,n=a.width,v=a.height,ca=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(d=d?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+n-d,l),new mxPoint(g+n,a),new mxPoint(g+n-d,l+v),new mxPoint(g,l+v),new mxPoint(g+d,a),new mxPoint(g,l)]):c==mxConstants.DIRECTION_WEST?(d=d?Math.max(0,Math.min(n,e)):n*Math.max(0, -Math.min(1,e)),l=[new mxPoint(g+d,l),new mxPoint(g+n,l),new mxPoint(g+n-d,a),new mxPoint(g+n,l+v),new mxPoint(g+d,l+v),new mxPoint(g,a),new mxPoint(g+d,l)]):c==mxConstants.DIRECTION_NORTH?(d=d?Math.max(0,Math.min(v,e)):v*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l+d),new mxPoint(ca,l),new mxPoint(g+n,l+d),new mxPoint(g+n,l+v),new mxPoint(ca,l+v-d),new mxPoint(g,l+v),new mxPoint(g,l+d)]):(d=d?Math.max(0,Math.min(v,e)):v*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(ca,l+d),new mxPoint(g+ -n,l),new mxPoint(g+n,l+v-d),new mxPoint(ca,l+v),new mxPoint(g,l+v-d),new mxPoint(g,l)]);ca=new mxPoint(ca,a);f&&(b.x<g||b.x>g+n?ca.y=b.y:ca.x=b.x);return mxUtils.getPerimeterPoint(l,ca,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,c,b,f){var d=F.prototype.size;null!=c&&(d=mxUtils.getValue(c.style,"size",d));var e=a.x,g=a.y,l=a.width,n=a.height,v=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION, -mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(d=n*Math.max(0,Math.min(1,d)),g=[new mxPoint(v,g),new mxPoint(e+l,g+d),new mxPoint(e+l,g+n-d),new mxPoint(v,g+n),new mxPoint(e,g+n-d),new mxPoint(e,g+d),new mxPoint(v,g)]):(d=l*Math.max(0,Math.min(1,d)),g=[new mxPoint(e+d,g),new mxPoint(e+l-d,g),new mxPoint(e+l,a),new mxPoint(e+l-d,g+n),new mxPoint(e+d,g+n),new mxPoint(e,a),new mxPoint(e+d,g)]);v=new mxPoint(v,a);f&&(b.x<e||b.x>e+ -l?v.y=b.y:v.x=b.x);return mxUtils.getPerimeterPoint(g,v,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(O,mxShape);O.prototype.size=10;O.prototype.paintBackground=function(a,c,b,f,d){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(c,b);a.ellipse((f-e)/2,0,e,e);a.fillAndStroke();a.begin();a.moveTo(f/2,e);a.lineTo(f/2,d);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",O);mxUtils.extend(R,mxShape);R.prototype.size= -10;R.prototype.inset=2;R.prototype.paintBackground=function(a,c,b,f,d){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.begin();a.moveTo(f/2,e+g);a.lineTo(f/2,d);a.end();a.stroke();a.begin();a.moveTo((f-e)/2-g,e/2);a.quadTo((f-e)/2-g,e+g,f/2,e+g);a.quadTo((f+e)/2+g,e+g,(f+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(ba,mxShape);ba.prototype.paintBackground= -function(a,c,b,f,d){a.translate(c,b);a.begin();a.moveTo(0,0);a.quadTo(f,0,f,d/2);a.quadTo(f,d,0,d);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",ba);mxUtils.extend(W,mxShape);W.prototype.inset=2;W.prototype.paintBackground=function(a,c,b,f,d){var e=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.ellipse(0,e,f-2*e,d-2*e);a.fillAndStroke();a.begin();a.moveTo(f/2,0);a.quadTo(f,0,f,d/2);a.quadTo(f,d,f/2,d);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface", -W);mxUtils.extend(H,mxCylinder);H.prototype.jettyWidth=32;H.prototype.jettyHeight=12;H.prototype.redrawPath=function(a,c,b,f,d,e){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));c=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,l=.3*d-c/2,n=.7*d-c/2;e?(a.moveTo(b,l),a.lineTo(g,l),a.lineTo(g,l+c),a.lineTo(b,l+c),a.moveTo(b,n),a.lineTo(g,n),a.lineTo(g,n+c),a.lineTo(b,n+c)):(a.moveTo(b,0),a.lineTo(f,0),a.lineTo(f,d),a.lineTo(b,d), -a.lineTo(b,n+c),a.lineTo(0,n+c),a.lineTo(0,n),a.lineTo(b,n),a.lineTo(b,l+c),a.lineTo(0,l+c),a.lineTo(0,l),a.lineTo(b,l),a.close());a.end()};mxCellRenderer.registerShape("component",H);mxUtils.extend(Z,mxRectangleShape);Z.prototype.paintForeground=function(a,c,b,f,d){var e=f/2,g=d/2,l=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(c+e,b),new mxPoint(c+f,b+g),new mxPoint(c+e,b+d),new mxPoint(c,b+g)],this.isRounded,l,!0);a.stroke(); -mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Z);mxUtils.extend(fa,mxDoubleEllipse);fa.prototype.outerStroke=!0;fa.prototype.paintVertexShape=function(a,c,b,f,d){var e=Math.min(4,Math.min(f/5,d/5));0<f&&0<d&&(a.ellipse(c+e,b+e,f-2*e,d-2*e),a.fillAndStroke());a.setShadow(!1);this.outerStroke&&(a.ellipse(c,b,f,d),a.stroke())};mxCellRenderer.registerShape("endState",fa);mxUtils.extend(la,fa);la.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState", -la);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",Q);mxUtils.extend(ia,mxArrowConnector);ia.prototype.defaultWidth=10;ia.prototype.defaultArrowWidth=20;ia.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+ -mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};ia.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};ia.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",ia);mxUtils.extend(V,mxActor);V.prototype.size=30;V.prototype.isRoundable=function(){return!0};V.prototype.redrawPath=function(a, -c,b,f,d){c=Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,d),new mxPoint(0,c),new mxPoint(f,0),new mxPoint(f,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",V);mxUtils.extend(U,mxRectangleShape);U.prototype.dx=20;U.prototype.dy=20;U.prototype.isHtmlAllowed=function(){return!1};U.prototype.paintForeground=function(a,c,b,f,d){mxRectangleShape.prototype.paintForeground.apply(this, -arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(f*g,d*g));g=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(c,b+e);a.lineTo(c+f,b+e);a.end();a.stroke();a.begin();a.moveTo(c+g,b);a.lineTo(c+g,b+d);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage", -U);mxUtils.extend(ga,mxActor);ga.prototype.dx=20;ga.prototype.dy=20;ga.prototype.redrawPath=function(a,c,b,f,d){c=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(f,0),new mxPoint(f,b),new mxPoint(c, -b),new mxPoint(c,d),new mxPoint(0,d)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("corner",ga);mxUtils.extend(qa,mxActor);qa.prototype.redrawPath=function(a,c,b,f,d){a.moveTo(0,0);a.lineTo(0,d);a.end();a.moveTo(f,0);a.lineTo(f,d);a.end();a.moveTo(0,d/2);a.lineTo(f,d/2);a.end()};mxCellRenderer.registerShape("crossbar",qa);mxUtils.extend(Y,mxActor);Y.prototype.dx=20;Y.prototype.dy=20;Y.prototype.redrawPath=function(a,c,b,f,d){c=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, -"dx",this.dx))));b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(f,0),new mxPoint(f,b),new mxPoint((f+c)/2,b),new mxPoint((f+c)/2,d),new mxPoint((f-c)/2,d),new mxPoint((f-c)/2,b),new mxPoint(0,b)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("tee",Y);mxUtils.extend(aa, -mxActor);aa.prototype.arrowWidth=.3;aa.prototype.arrowSize=.2;aa.prototype.redrawPath=function(a,c,b,f,d){var e=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(d-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(f-c,b),new mxPoint(f-c,0),new mxPoint(f,d/2),new mxPoint(f- -c,d),new mxPoint(f-c,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",aa);mxUtils.extend(P,mxActor);P.prototype.redrawPath=function(a,c,b,f,d){var e=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",aa.prototype.arrowWidth))));c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",aa.prototype.arrowSize))));b=(d-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;this.addPoints(a,[new mxPoint(0,d/2),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(f-c,b),new mxPoint(f-c,0),new mxPoint(f,d/2),new mxPoint(f-c,d),new mxPoint(f-c,e),new mxPoint(c,e),new mxPoint(c,d)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",P);mxUtils.extend(M,mxActor);M.prototype.size=.1;M.prototype.redrawPath=function(a,c,b,f,d){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(c,0);a.lineTo(f,0);a.quadTo(f-2*c,d/2, -f,d);a.lineTo(c,d);a.quadTo(c-2*c,d/2,c,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",M);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,c,b,f,d){a.moveTo(0,0);a.quadTo(f,0,f,d/2);a.quadTo(f,d,0,d);a.close();a.end()};mxCellRenderer.registerShape("or",ja);mxUtils.extend(T,mxActor);T.prototype.redrawPath=function(a,c,b,f,d){a.moveTo(0,0);a.quadTo(f,0,f,d/2);a.quadTo(f,d,0,d);a.quadTo(f/2,d/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",T);mxUtils.extend(S, -mxActor);S.prototype.size=20;S.prototype.isRoundable=function(){return!0};S.prototype.redrawPath=function(a,c,b,f,d){c=Math.min(f/2,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(f-c,0),new mxPoint(f,.8*c),new mxPoint(f,d),new mxPoint(0,d),new mxPoint(0,.8*c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit",S);mxUtils.extend(ea, -mxActor);ea.prototype.size=.375;ea.prototype.isRoundable=function(){return!0};ea.prototype.redrawPath=function(a,c,b,f,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(f,0),new mxPoint(f,d-c),new mxPoint(f/2,d),new mxPoint(0,d-c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",ea);mxUtils.extend(ta, -mxEllipse);ta.prototype.paintVertexShape=function(a,c,b,f,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+f/2,b+d);a.lineTo(c+f,b+d);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",ta);mxUtils.extend(K,mxEllipse);K.prototype.paintVertexShape=function(a,c,b,f,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+d/2);a.lineTo(c+f,b+d/2);a.end();a.stroke();a.begin();a.moveTo(c+f/2,b);a.lineTo(c+f/2,b+d);a.end(); -a.stroke()};mxCellRenderer.registerShape("orEllipse",K);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=function(a,c,b,f,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c+.145*f,b+.145*d);a.lineTo(c+.855*f,b+.855*d);a.end();a.stroke();a.begin();a.moveTo(c+.855*f,b+.145*d);a.lineTo(c+.145*f,b+.855*d);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ma);mxUtils.extend(da,mxRhombus);da.prototype.paintVertexShape=function(a,c,b, -f,d){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+d/2);a.lineTo(c+f,b+d/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",da);mxUtils.extend(ha,mxEllipse);ha.prototype.paintVertexShape=function(a,c,b,f,d){a.begin();a.moveTo(c,b);a.lineTo(c+f,b);a.lineTo(c+f/2,b+d/2);a.close();a.fillAndStroke();a.begin();a.moveTo(c,b+d);a.lineTo(c+f,b+d);a.lineTo(c+f/2,b+d/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",ha);mxUtils.extend(Aa, -mxEllipse);Aa.prototype.paintVertexShape=function(a,c,b,f,d){var e=b+d-5;a.begin();a.moveTo(c,b);a.lineTo(c,b+d);a.moveTo(c,e);a.lineTo(c+10,e-5);a.moveTo(c,e);a.lineTo(c+10,e+5);a.moveTo(c,e);a.lineTo(c+f,e);a.moveTo(c+f,b);a.lineTo(c+f,b+d);a.moveTo(c+f,e);a.lineTo(c+f-10,e-5);a.moveTo(c+f,e);a.lineTo(c+f-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",Aa);mxUtils.extend(Ba,mxEllipse);Ba.prototype.paintVertexShape=function(a,c,b,f,d){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this, -arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(c,b,f,d),a.fill(),a.begin(),a.moveTo(c,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(c+f,b):a.moveTo(c+f,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(c+f,b+d):a.moveTo(c+f,b+d),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(c,b+d):a.moveTo(c,b+d),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(c,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",Ba);mxUtils.extend(za, -mxEllipse);za.prototype.paintVertexShape=function(a,c,b,f,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(c+f/2,b),a.lineTo(c+f/2,b+d)):(a.moveTo(c,b+d/2),a.lineTo(c+f,b+d/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",za);mxUtils.extend(oa,mxActor);oa.prototype.redrawPath=function(a,c,b,f,d){c=Math.min(f,d/2);a.moveTo(0,0);a.lineTo(f-c,0);a.quadTo(f,0,f,d/2);a.quadTo(f,d,f-c,d);a.lineTo(0, -d);a.close();a.end()};mxCellRenderer.registerShape("delay",oa);mxUtils.extend(ka,mxActor);ka.prototype.size=.2;ka.prototype.redrawPath=function(a,c,b,f,d){c=Math.min(d,f);var e=Math.max(0,Math.min(c,c*parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=(d-e)/2;b=c+e;var g=(f-e)/2,e=g+e;a.moveTo(0,c);a.lineTo(g,c);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,c);a.lineTo(f,c);a.lineTo(f,b);a.lineTo(e,b);a.lineTo(e,d);a.lineTo(g,d);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross", -ka);mxUtils.extend(sa,mxActor);sa.prototype.size=.25;sa.prototype.redrawPath=function(a,c,b,f,d){c=Math.min(f,d/2);b=Math.min(f-c,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*f);a.moveTo(0,d/2);a.lineTo(b,0);a.lineTo(f-c,0);a.quadTo(f,0,f,d/2);a.quadTo(f,d,f-c,d);a.lineTo(b,d);a.close();a.end()};mxCellRenderer.registerShape("display",sa);mxUtils.extend(pa,mxConnector);pa.prototype.origPaintEdgeShape=pa.prototype.paintEdgeShape;pa.prototype.paintEdgeShape=function(a,c,b){for(var f= -[],d=0;d<c.length;d++)f.push(mxUtils.clone(c[d]));var d=a.state.dashed,e=a.state.fixDash;pa.prototype.origPaintEdgeShape.apply(this,[a,f,b]);3<=a.state.strokeWidth&&(f=mxUtils.getValue(this.style,"fillColor",null),null!=f&&(a.setStrokeColor(f),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(d,e),pa.prototype.origPaintEdgeShape.apply(this,[a,c,b])))};mxCellRenderer.registerShape("filledEdge",pa);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; -StyleFormatPanel.prototype.getCustomColors=function(){var c=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==c.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,c,b,f,d,e,g,l,n,v){var q=d*(g+n+1),t=e*(g+n+1);return function(){a.begin();a.moveTo(f.x-q/2-t/2,f.y-t/2+q/2);a.lineTo(f.x+t/2-3*q/2,f.y-3*t/2-q/2);a.stroke()}});mxMarker.addMarker("cross",function(a,c,b,f,d,e,g,l,n, -v){var q=d*(g+n+1),t=e*(g+n+1);return function(){a.begin();a.moveTo(f.x-q/2-t/2,f.y-t/2+q/2);a.lineTo(f.x+t/2-3*q/2,f.y-3*t/2-q/2);a.moveTo(f.x-q/2+t/2,f.y-t/2-q/2);a.lineTo(f.x-t/2-3*q/2,f.y-3*t/2+q/2);a.stroke()}});mxMarker.addMarker("circle",ua);mxMarker.addMarker("circlePlus",function(a,c,b,f,d,e,g,l,n,v){var q=f.clone(),t=ua.apply(this,arguments),A=d*(g+2*n),k=e*(g+2*n);return function(){t.apply(this,arguments);a.begin();a.moveTo(q.x-d*n,q.y-e*n);a.lineTo(q.x-2*A+d*n,q.y-2*k+e*n);a.moveTo(q.x- -A-k+e*n,q.y-k+A-d*n);a.lineTo(q.x+k-A-e*n,q.y-k-A+d*n);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,c,b,f,d,e,g,l,n,v){var q=d*(g+n+1),t=e*(g+n+1),A=f.clone();f.x-=q;f.y-=t;return function(){a.begin();a.moveTo(A.x-t,A.y+q);a.quadTo(f.x-t,f.y+q,f.x,f.y);a.quadTo(f.x+t,f.y-q,A.x+t,A.y-q);a.stroke()}});mxMarker.addMarker("async",function(a,c,b,f,d,e,g,l,n,v){c=d*n*1.118;b=e*n*1.118;d*=g+n;e*=g+n;var q=f.clone();q.x-=c;q.y-=b;f.x+=1*-d-c;f.y+=1*-e-b;return function(){a.begin();a.moveTo(q.x, -q.y);l?a.lineTo(q.x-d-e/2,q.y-e+d/2):a.lineTo(q.x+e/2-d,q.y-e-d/2);a.lineTo(q.x-d,q.y-e);a.close();v?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(c,b,f,d,e,g,l,n,v,q){e*=l+v;g*=l+v;var t=d.clone();return function(){c.begin();c.moveTo(t.x,t.y);n?c.lineTo(t.x-e-g/a,t.y-g+e/a):c.lineTo(t.x+g/a-e,t.y-g-e/a);c.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ha=function(a,c,b){return Ea(a,["width"],c,function(c,f,d,e,g){g=a.shape.getEdgeWidth()* -a.view.scale+b;return new mxPoint(e.x+f*c/4+d*g/2,e.y+d*c/4-f*g/2)},function(c,f,d,e,g,l){c=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));a.style.width=Math.round(2*c)/a.view.scale-b})},Ea=function(a,c,b,f,d){return X(a,c,function(c){var d=a.absolutePoints,e=d.length-1;c=a.view.translate;var g=a.view.scale,l=b?d[0]:d[e],d=b?d[1]:d[e-1],e=d.x-l.x,n=d.y-l.y,v=Math.sqrt(e*e+n*n),l=f.call(this,v,e/v,n/v,l,d);return new mxPoint(l.x/g-c.x,l.y/g-c.y)},function(c,f,e){var g=a.absolutePoints,l=g.length- -1;c=a.view.translate;var n=a.view.scale,v=b?g[0]:g[l],g=b?g[1]:g[l-1],l=g.x-v.x,q=g.y-v.y,t=Math.sqrt(l*l+q*q);f.x=(f.x+c.x)*n;f.y=(f.y+c.y)*n;d.call(this,t,l/t,q/t,v,g,f,e)})},va=function(a){return function(c){return[X(c,["arrowWidth","arrowSize"],function(c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",aa.prototype.arrowWidth))),f=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",aa.prototype.arrowSize)));return new mxPoint(c.x+(1-f)*c.width,c.y+(1- -b)*c.height/2)},function(c,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(c.y+c.height/2-b.y)/c.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(c.x+c.width-b.x)/c.width))})]}},Na=function(a,c,b){return function(f){var d=[X(f,["size"],function(b){var f=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",c)))))*a;return new mxPoint(b.x+f,b.y+f)},function(c,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(c.width, -b.x-c.x),Math.min(c.height,b.y-c.y)))/a)})];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(na(f));return d}},Ia=function(a,c,b,f,d){b=null!=b?b:1;return function(e){var g=[X(e,["size"],function(c){var b=null!=d?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,f=parseFloat(mxUtils.getValue(this.state.style,"size",b?d:a));return new mxPoint(c.x+Math.max(0,Math.min(c.width,f*(b?1:c.width))),c.getCenterY())},function(a,c,f){var g=null!=d?"0"!=mxUtils.getValue(this.state.style, -"fixedSize","0"):null;a=g?c.x-a.x:Math.max(0,Math.min(b,(c.x-a.x)/a.width));g&&!mxEvent.isAltDown(f.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,f)];c&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(na(e));return g}},Oa=function(a){return function(c){var b=[X(c,["size"],function(c){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",f.prototype.size))));return new mxPoint(c.x+b*c.width*.75,c.y+c.height/4)},function(c,b){this.state.style.size= -Math.max(0,Math.min(a,(b.x-c.x)/(.75*c.width)))},null,!0)];mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(na(c));return b}},Fa=function(){return function(a){var c=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(na(a));return c}},na=function(a,c){return X(a,[mxConstants.STYLE_ARCSIZE],function(b){var f=null!=c?c:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var d=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;return new mxPoint(b.x+b.width-Math.min(b.width/2,d),b.y+f)}d=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)*d),b.y+f)},function(c,b,f){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(c.width,2*(c.x+c.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]= -Math.round(Math.min(50,Math.max(0,100*(c.width-b.x+c.x)/Math.min(c.width,c.height))))})},X=function(a,c,b,f,d,e){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<c.length;a++)this.copyStyle(c[a])};g.getPosition=b;g.setPosition=f;g.ignoreGrid=null!=d?d:!0;if(e){var l=g.positionChanged;g.positionChanged=function(){l.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},Ja={link:function(a){return[Ha(a,!0,10), -Ha(a,!1,10)]},flexArrow:function(a){var c=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c,b,f,d,e){c=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(e+a.shape.strokewidth*a.view.scale)+f*c/2,d.y+ -f*(e+a.shape.strokewidth*a.view.scale)-b*c/2)},function(b,f,d,e,g,l,n){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));f=mxUtils.ptLineDist(e.x,e.y,e.x+d,e.y-f,l.x,l.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(f-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(n.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])- -parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c,b,f,d,e){c=(a.shape.getStartArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(e+a.shape.strokewidth*a.view.scale)+f*c/2,d.y+f*(e+a.shape.strokewidth* -a.view.scale)-b*c/2)},function(b,f,d,e,g,l,n){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));f=mxUtils.ptLineDist(e.x,e.y,e.x+d,e.y-f,l.x,l.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(f-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(n.getEvent())|| -(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<c&&(a.style.startWidth=a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,f,d,e){c=(a.shape.getEdgeWidth()- -a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(e+a.shape.strokewidth*a.view.scale)-f*c/2,d.y+f*(e+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,f,d,e,g,l,n){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));f=mxUtils.ptLineDist(e.x,e.y,e.x+d,e.y-f,l.x,l.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(f-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2* -b)/a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(n.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,f,d,e){c=(a.shape.getEndArrowWidth()-a.shape.strokewidth)* -a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(e+a.shape.strokewidth*a.view.scale)-f*c/2,d.y+f*(e+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,f,d,e,g,l,n){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));f=mxUtils.ptLineDist(e.x,e.y,e.x+d,e.y-f,l.x,l.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(f-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/ -a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(n.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<c&&(a.style.endWidth=a.style.startWidth))})));return b}, -swimlane:function(a){var c=[X(a,[mxConstants.STYLE_STARTSIZE],function(c){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(c.getCenterX(),c.y+Math.max(0,Math.min(c.height,b))):new mxPoint(c.x+Math.max(0,Math.min(c.width,b)),c.getCenterY())},function(c,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0, -Math.min(c.height,b.y-c.y))):Math.round(Math.max(0,Math.min(c.width,b.x-c.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));c.push(na(a,b/2))}return c},label:Fa(),ext:Fa(),rectangle:Fa(),triangle:Fa(),rhombus:Fa(),umlLifeline:function(a){return[X(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",D.prototype.size))));return new mxPoint(a.getCenterX(), -a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))},!1)]},umlFrame:function(a){return[X(a,["width","height"],function(a){var c=Math.max(G.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",G.prototype.width))),b=Math.max(1.5*G.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",G.prototype.height)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.width=Math.round(Math.max(G.prototype.corner, -Math.min(a.width,c.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*G.prototype.corner,Math.min(a.height,c.y-a.y)))},!1)]},process:function(a){var c=[X(a,["size"],function(a){var c=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+a.width*c,a.y+a.height/4)},function(a,c){this.state.style.size=Math.max(0,Math.min(.5,(c.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(na(a));return c},cross:function(a){return[X(a, -["size"],function(a){var c=Math.min(a.width,a.height),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ka.prototype.size)))*c/2;return new mxPoint(a.getCenterX()-c,a.getCenterY()-c)},function(a,c){var b=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-c.y)/b*2,Math.max(0,a.getCenterX()-c.x)/b*2)))})]},note:function(a){return[X(a,["size"],function(a){var c=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-c,a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-c.x),Math.min(a.height,c.y-a.y))))})]},manualInput:function(a){var c=[X(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",V.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*c/4)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(c.y-a.y)/3)))})];mxUtils.getValue(a.style, -mxConstants.STYLE_ROUNDED,!1)&&c.push(na(a));return c},dataStorage:function(a){return[X(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",M.prototype.size))));return new mxPoint(a.x+(1-c)*a.width,a.getCenterY())},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-c.x)/a.width))})]},callout:function(a){var c=[X(a,["size","position"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",x.prototype.size))), -b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",x.prototype.position)));mxUtils.getValue(this.state.style,"base",x.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-c)},function(a,c){mxUtils.getValue(this.state.style,"base",x.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-c.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),X(a,["position2"],function(a){var c=Math.max(0,Math.min(1, -mxUtils.getValue(this.state.style,"position2",x.prototype.position2)));return new mxPoint(a.x+c*a.width,a.y+a.height)},function(a,c){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),X(a,["base"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",x.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",x.prototype.position))),f=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, -"base",x.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+f),a.y+a.height-c)},function(a,c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",x.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,c.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(na(a));return c},internalStorage:function(a){var c=[X(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, -"dx",U.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",U.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(na(a));return c},corner:function(a){return[X(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, -"dx",ga.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",ga.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},tee:function(a){return[X(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",Y.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, -"dy",Y.prototype.dy)));return new mxPoint(a.x+(a.width+c)/2,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,c.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},singleArrow:va(1),doubleArrow:va(.5),folder:function(a){return[X(a,["tabWidth","tabHeight"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",p.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, -"tabHeight",p.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);return new mxPoint(a.x+c,a.y+b)},function(a,c){var b=Math.max(0,Math.min(a.width,c.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},document:function(a){return[X(a, -["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",B.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-c)*a.height)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]},tape:function(a){return[X(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",y.prototype.size))));return new mxPoint(a.getCenterX(),a.y+c*a.height/2)},function(a,c){this.state.style.size= -Math.max(0,Math.min(1,(c.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[X(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ea.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-c)*a.height)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]},step:Ia(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:Ia(F.prototype.size,!0,.5,!0),curlyBracket:Ia(g.prototype.size,!1),display:Ia(sa.prototype.size, +this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Da.apply(this,arguments)};var xa=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)xa.apply(this,arguments);else{var k=!0;null!=this.style&&(k="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(k||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)k||null!=this.fill&&this.fill!=mxConstants.NONE|| +(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?k=Math.min(c/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.min(c*k,f*k)),a.moveTo(d+k,b),a.lineTo(d+c-k,b),a.quadTo(d+c,b,d+c,b+k),a.lineTo(d+c,b+f-k),a.quadTo(d+c,b+f,d+c-k,b+f),a.lineTo(d+k,b+f),a.quadTo(d,b+f,d,b+f-k), +a.lineTo(d,b+k),a.quadTo(d,b,d+k,b)):(a.moveTo(d,b),a.lineTo(d+c,b),a.lineTo(d+c,b+f),a.lineTo(d,b+f),a.lineTo(d,b)),a.close(),a.end(),a.fillAndStroke()}};var ya=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&ya.apply(this,arguments)};mxUtils.extend(g,mxRectangleShape);g.prototype.size=.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 d=a.width,b=a.height;a=new mxRectangle(a.x,a.y,d,b);var c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(d*f,b*f));a.x+=Math.round(c);a.width-=Math.round(2*c)}return a};g.prototype.paintForeground= +function(a,d,b,c,f){var k=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.max(k,Math.min(c*g,f*g));k=Math.round(k);a.begin();a.moveTo(d+k,b);a.lineTo(d+k,b+f);a.moveTo(d+c-k,b);a.lineTo(d+c-k,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",g);mxUtils.extend(A, +mxRectangleShape);A.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};A.prototype.paintForeground=function(a,d,b,c,f){};mxCellRenderer.registerShape("transparent",A);mxUtils.extend(x,mxHexagon);x.prototype.size=30;x.prototype.position=.5;x.prototype.position2=.5;x.prototype.base=20;x.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};x.prototype.isRoundable= +function(){return!0};x.prototype.redrawPath=function(a,d,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var k=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"base",this.base)))); +this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-b),new mxPoint(Math.min(c,k+e),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,k),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",x);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;t.prototype.isRoundable=function(){return!0};t.prototype.redrawPath=function(a,d,b,c,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style, +"size",this.fixedSize)))):c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",t);mxUtils.extend(E,mxHexagon);E.prototype.size=.25;E.prototype.isRoundable=function(){return!0};E.prototype.redrawPath= +function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.5*f),new mxPoint(c-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)],this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",E);mxUtils.extend(y,mxRectangleShape);y.prototype.isHtmlAllowed=function(){return!1};y.prototype.paintForeground=function(a, +d,b,c,f){var k=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+k);a.lineTo(d+c/2,b+f-k);a.moveTo(d+k,b+f/2);a.lineTo(d+c-k,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",y);var Ga=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+ +d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,b,c,f){Ga.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var k=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=k;b+=k;c-=2*k;f-=2*k;0<c&&0<f&&(a.setShadow(!1),Ga.apply(this,[a,d,b,c,f]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2, +this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};D.prototype.paintForeground=function(a,d,b,c,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var k=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=k;b+=k;c-=2*k;f-=2*k;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var k=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+ +k]];if(null!=g){var e=this.style["symbol"+k+"Align"],ca=this.style["symbol"+k+"VerticalAlign"],n=this.style["symbol"+k+"Width"],v=this.style["symbol"+k+"Height"],q=this.style["symbol"+k+"Spacing"]||0,t=this.style["symbol"+k+"VSpacing"]||q,A=this.style["symbol"+k+"ArcSpacing"];null!=A&&(A*=this.getArcSize(c+this.strokewidth,f+this.strokewidth),q+=A,t+=A);var A=d,l=b,A=e==mxConstants.ALIGN_CENTER?A+(c-n)/2:e==mxConstants.ALIGN_RIGHT?A+(c-n-q):A+q,l=ca==mxConstants.ALIGN_MIDDLE?l+(f-v)/2:ca==mxConstants.ALIGN_BOTTOM? +l+(f-v-t):l+t;a.save();e=new g;e.style=this.style;g.prototype.paintVertexShape.call(e,a,A,l,n,v);a.restore()}k++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(C,mxCylinder);C.prototype.redrawPath=function(a,d,b,c,f,k){k?(a.moveTo(0,0),a.lineTo(c/2,f/2),a.lineTo(c,0),a.end()):(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",C);mxUtils.extend(v,mxShape); +v.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.ellipse(c/4,0,c/2,f/4);a.fillAndStroke();a.begin();a.moveTo(c/2,f/4);a.lineTo(c/2,2*f/3);a.moveTo(c/2,f/3);a.lineTo(0,f/3);a.moveTo(c/2,f/3);a.lineTo(c,f/3);a.moveTo(c/2,2*f/3);a.lineTo(0,f);a.moveTo(c/2,2*f/3);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",v);mxUtils.extend(J,mxShape);J.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};J.prototype.paintBackground=function(a, +d,b,c,f){a.translate(d,b);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(c/6,f/2);a.end();a.stroke();a.ellipse(c/6,0,5*c/6,f);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",J);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/8,b+f);a.lineTo(d+7*c/8,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",L);mxUtils.extend(I, +mxShape);I.prototype.paintVertexShape=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(c,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",I);mxUtils.extend(N,mxShape);N.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};N.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,0);a.end();a.stroke();a.ellipse(0,f/8,c,7*f/8);a.fillAndStroke()}; +N.prototype.paintForeground=function(a,d,b,c,f){a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",N);mxUtils.extend(F,mxRectangleShape);F.prototype.size=40;F.prototype.isHtmlAllowed=function(){return!1};F.prototype.getLabelBounds=function(a){var d=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,d)};F.prototype.paintBackground=function(a,d,b,c, +f){var k=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,d,b,c,k):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=F&&(g=new g,g.apply(this.state),a.save(),g.paintVertexShape(a,d,b,c,k),a.restore()));k<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+k),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};F.prototype.paintForeground=function(a, +d,b,c,f){var k=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,d,b,c,Math.min(f,k))};mxCellRenderer.registerShape("umlLifeline",F);mxUtils.extend(G,mxShape);G.prototype.width=60;G.prototype.height=30;G.prototype.corner=10;G.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))};G.prototype.paintBackground=function(a,d,b,c,f){var k=this.corner,g=Math.min(c,Math.max(k,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),e=Math.min(f,Math.max(1.5*k,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),n=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);n!=mxConstants.NONE&&(a.setFillColor(n),a.rect(d,b,c,f),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!= +mxConstants.NONE?(this.getGradientBounds(a,d,b,c,f),a.setGradient(this.fill,this.gradient,d,b,c,f,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(d,b);a.lineTo(d+g,b);a.lineTo(d+g,b+Math.max(0,e-1.5*k));a.lineTo(d+Math.max(0,g-k),b+e);a.lineTo(d,b+e);a.close();a.fillAndStroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+c,b);a.lineTo(d+c,b+f);a.lineTo(d,b+f);a.lineTo(d,b+e);a.stroke()};mxCellRenderer.registerShape("umlFrame",G);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=F.prototype.size; +null!=d&&(c=mxUtils.getValue(d.style,"size",c)*d.view.scale);d=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;b.x<a.getCenterX()&&(d=-1*(d+1));return new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y+c,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,d,b,c){c=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter); +mxPerimeter.BackbonePerimeter=function(a,d,b,c){c=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;null!=d.style.backboneSize&&(c+=parseFloat(d.style.backboneSize)*d.view.scale/2-1);if("south"==d.style[mxConstants.STYLE_DIRECTION]||"north"==d.style[mxConstants.STYLE_DIRECTION])return b.x<a.getCenterX()&&(c=-1*(c+1)),new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(c=-1*(c+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)), +a.getCenterY()+c)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,d,b,c){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(d.style,"size",x.prototype.size))*d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,f){var k=d.prototype.size; +null!=b&&(k=mxUtils.getValue(b.style,"size",k));var g=a.x,e=a.y,n=a.width,v=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?(k=v*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+n,e+k),new mxPoint(g+n,e+v),new mxPoint(g,e+v-k),new mxPoint(g,e)]):(k=n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g+k,e),new mxPoint(g+n,e),new mxPoint(g+n-k,e+v),new mxPoint(g, +e+v),new mxPoint(g+k,e)]);v=a.getCenterX();a=a.getCenterY();a=new mxPoint(v,a);f&&(c.x<g||c.x>g+n?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(e,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var k=f.prototype.size;null!=d&&(k=mxUtils.getValue(d.style,"size",k));var g=a.x,e=a.y,n=a.width,v=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST; +d==mxConstants.DIRECTION_EAST?(k=n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g+k,e),new mxPoint(g+n-k,e),new mxPoint(g+n,e+v),new mxPoint(g,e+v),new mxPoint(g+k,e)]):d==mxConstants.DIRECTION_WEST?(k=n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+n,e),new mxPoint(g+n-k,e+v),new mxPoint(g+k,e+v),new mxPoint(g,e)]):d==mxConstants.DIRECTION_NORTH?(k=v*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e+k),new mxPoint(g+n,e),new mxPoint(g+n,e+v),new mxPoint(g,e+v-k),new mxPoint(g,e+k)]):(k=v*Math.max(0, +Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+n,e+k),new mxPoint(g+n,e+v-k),new mxPoint(g,e+v),new mxPoint(g,e)]);v=a.getCenterX();a=a.getCenterY();a=new mxPoint(v,a);c&&(b.x<g||b.x>g+n?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(e,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),k=f?t.prototype.fixedSize:t.prototype.size;null!=d&&(k=mxUtils.getValue(d.style, +"size",k));var g=a.x,e=a.y,n=a.width,v=a.height,ca=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_EAST?(f=f?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+n-f,e),new mxPoint(g+n,a),new mxPoint(g+n-f,e+v),new mxPoint(g,e+v),new mxPoint(g+f,a),new mxPoint(g,e)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(n,k)):n*Math.max(0, +Math.min(1,k)),e=[new mxPoint(g+f,e),new mxPoint(g+n,e),new mxPoint(g+n-f,a),new mxPoint(g+n,e+v),new mxPoint(g+f,e+v),new mxPoint(g,a),new mxPoint(g+f,e)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(v,k)):v*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e+f),new mxPoint(ca,e),new mxPoint(g+n,e+f),new mxPoint(g+n,e+v),new mxPoint(ca,e+v-f),new mxPoint(g,e+v),new mxPoint(g,e+f)]):(f=f?Math.max(0,Math.min(v,k)):v*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(ca,e+f),new mxPoint(g+ +n,e),new mxPoint(g+n,e+v-f),new mxPoint(ca,e+v),new mxPoint(g,e+v-f),new mxPoint(g,e)]);ca=new mxPoint(ca,a);c&&(b.x<g||b.x>g+n?ca.y=b.y:ca.x=b.x);return mxUtils.getPerimeterPoint(e,ca,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=E.prototype.size;null!=d&&(f=mxUtils.getValue(d.style,"size",f));var k=a.x,g=a.y,e=a.width,n=a.height,v=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION, +mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(f=n*Math.max(0,Math.min(1,f)),g=[new mxPoint(v,g),new mxPoint(k+e,g+f),new mxPoint(k+e,g+n-f),new mxPoint(v,g+n),new mxPoint(k,g+n-f),new mxPoint(k,g+f),new mxPoint(v,g)]):(f=e*Math.max(0,Math.min(1,f)),g=[new mxPoint(k+f,g),new mxPoint(k+e-f,g),new mxPoint(k+e,a),new mxPoint(k+e-f,g+n),new mxPoint(k+f,g+n),new mxPoint(k,a),new mxPoint(k+f,g)]);v=new mxPoint(v,a);c&&(b.x<k||b.x>k+ +e?v.y=b.y:v.x=b.x);return mxUtils.getPerimeterPoint(g,v,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(O,mxShape);O.prototype.size=10;O.prototype.paintBackground=function(a,d,b,c,f){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-k)/2,0,k,k);a.fillAndStroke();a.begin();a.moveTo(c/2,k);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",O);mxUtils.extend(R,mxShape);R.prototype.size= +10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.begin();a.moveTo(c/2,k+g);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-k)/2-g,k/2);a.quadTo((c-k)/2-g,k+g,c/2,k+g);a.quadTo((c+k)/2+g,k+g,(c+k)/2+g,k/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(ba,mxShape);ba.prototype.paintBackground= +function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",ba);mxUtils.extend(W,mxShape);W.prototype.inset=2;W.prototype.paintBackground=function(a,d,b,c,f){var k=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.ellipse(0,k,c-2*k,f-2*k);a.fillAndStroke();a.begin();a.moveTo(c/2,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface", +W);mxUtils.extend(H,mxCylinder);H.prototype.jettyWidth=32;H.prototype.jettyHeight=12;H.prototype.redrawPath=function(a,d,b,c,f,k){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));d=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,e=.3*f-d/2,n=.7*f-d/2;k?(a.moveTo(b,e),a.lineTo(g,e),a.lineTo(g,e+d),a.lineTo(b,e+d),a.moveTo(b,n),a.lineTo(g,n),a.lineTo(g,n+d),a.lineTo(b,n+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f), +a.lineTo(b,n+d),a.lineTo(0,n+d),a.lineTo(0,n),a.lineTo(b,n),a.lineTo(b,e+d),a.lineTo(0,e+d),a.lineTo(0,e),a.lineTo(b,e),a.close());a.end()};mxCellRenderer.registerShape("component",H);mxUtils.extend(aa,mxRectangleShape);aa.prototype.paintForeground=function(a,d,b,c,f){var k=c/2,g=f/2,e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(d+k,b),new mxPoint(d+c,b+g),new mxPoint(d+k,b+f),new mxPoint(d,b+g)],this.isRounded,e,!0);a.stroke(); +mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",aa);mxUtils.extend(fa,mxDoubleEllipse);fa.prototype.outerStroke=!0;fa.prototype.paintVertexShape=function(a,d,b,c,f){var k=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+k,b+k,c-2*k,f-2*k),a.fillAndStroke());a.setShadow(!1);this.outerStroke&&(a.ellipse(d,b,c,f),a.stroke())};mxCellRenderer.registerShape("endState",fa);mxUtils.extend(la,fa);la.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState", +la);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",Q);mxUtils.extend(ja,mxArrowConnector);ja.prototype.defaultWidth=10;ja.prototype.defaultArrowWidth=20;ja.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+ +mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};ja.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};ja.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",ja);mxUtils.extend(V,mxActor);V.prototype.size=30;V.prototype.isRoundable=function(){return!0};V.prototype.redrawPath=function(a, +d,b,c,f){d=Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(0,d),new mxPoint(c,0),new mxPoint(c,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",V);mxUtils.extend(U,mxRectangleShape);U.prototype.dx=20;U.prototype.dy=20;U.prototype.isHtmlAllowed=function(){return!1};U.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this, +arguments);var k=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.max(k,Math.min(c*g,f*g));g=Math.max(k,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));k=Math.max(k,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+k);a.lineTo(d+c,b+k);a.end();a.stroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage", +U);mxUtils.extend(ia,mxActor);ia.prototype.dx=20;ia.prototype.dy=20;ia.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(d, +b),new mxPoint(d,f),new mxPoint(0,f)],this.isRounded,k,!0);a.end()};mxCellRenderer.registerShape("corner",ia);mxUtils.extend(na,mxActor);na.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.lineTo(0,f);a.end();a.moveTo(c,0);a.lineTo(c,f);a.end();a.moveTo(0,f/2);a.lineTo(c,f/2);a.end()};mxCellRenderer.registerShape("crossbar",na);mxUtils.extend(Z,mxActor);Z.prototype.dx=20;Z.prototype.dy=20;Z.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style, +"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint((c+d)/2,b),new mxPoint((c+d)/2,f),new mxPoint((c-d)/2,f),new mxPoint((c-d)/2,b),new mxPoint(0,b)],this.isRounded,k,!0);a.end()};mxCellRenderer.registerShape("tee",Z);mxUtils.extend(Y, +mxActor);Y.prototype.arrowWidth=.3;Y.prototype.arrowSize=.2;Y.prototype.redrawPath=function(a,d,b,c,f){var k=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(f-k)/2;var k=b+k,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c- +d,f),new mxPoint(c-d,k),new mxPoint(0,k)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",Y);mxUtils.extend(P,mxActor);P.prototype.redrawPath=function(a,d,b,c,f){var k=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",Y.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",Y.prototype.arrowSize))));b=(f-k)/2;var k=b+k,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(d,0),new mxPoint(d,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(c-d,k),new mxPoint(d,k),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",P);mxUtils.extend(M,mxActor);M.prototype.size=.1;M.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(d,0);a.lineTo(c,0);a.quadTo(c-2*d,f/2, +c,f);a.lineTo(d,f);a.quadTo(d-2*d,f/2,d,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",M);mxUtils.extend(ga,mxActor);ga.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",ga);mxUtils.extend(T,mxActor);T.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.quadTo(c/2,f/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",T);mxUtils.extend(S, +mxActor);S.prototype.size=20;S.prototype.isRoundable=function(){return!0};S.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c/2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.8*d),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit",S);mxUtils.extend(ea, +mxActor);ea.prototype.size=.375;ea.prototype.isRoundable=function(){return!0};ea.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-d),new mxPoint(c/2,f),new mxPoint(0,f-d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",ea);mxUtils.extend(ta, +mxEllipse);ta.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/2,b+f);a.lineTo(d+c,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",ta);mxUtils.extend(K,mxEllipse);K.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke();a.begin();a.moveTo(d+c/2,b);a.lineTo(d+c/2,b+f);a.end(); +a.stroke()};mxCellRenderer.registerShape("orEllipse",K);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*c,b+.145*f);a.lineTo(d+.855*c,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*c,b+.145*f);a.lineTo(d+.145*c,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ma);mxUtils.extend(da,mxRhombus);da.prototype.paintVertexShape=function(a,d,b, +c,f){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",da);mxUtils.extend(ha,mxEllipse);ha.prototype.paintVertexShape=function(a,d,b,c,f){a.begin();a.moveTo(d,b);a.lineTo(d+c,b);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,b+f);a.lineTo(d+c,b+f);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",ha);mxUtils.extend(Aa, +mxEllipse);Aa.prototype.paintVertexShape=function(a,d,b,c,f){var k=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,k);a.lineTo(d+10,k-5);a.moveTo(d,k);a.lineTo(d+10,k+5);a.moveTo(d,k);a.lineTo(d+c,k);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,k);a.lineTo(d+c-10,k-5);a.moveTo(d+c,k);a.lineTo(d+c-10,k+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",Aa);mxUtils.extend(Ba,mxEllipse);Ba.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this, +arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,b,c,f),a.fill(),a.begin(),a.moveTo(d,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(d+c,b):a.moveTo(d+c,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+c,b+f):a.moveTo(d+c,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,b+f):a.moveTo(d,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",Ba);mxUtils.extend(za, +mxEllipse);za.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+c/2,b),a.lineTo(d+c/2,b+f)):(a.moveTo(d,b+f/2),a.lineTo(d+c,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",za);mxUtils.extend(pa,mxActor);pa.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);a.moveTo(0,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(0, +f);a.close();a.end()};mxCellRenderer.registerShape("delay",pa);mxUtils.extend(ka,mxActor);ka.prototype.size=.2;ka.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var k=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-k)/2;b=d+k;var g=(c-k)/2,k=g+k;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(k,0);a.lineTo(k,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(k,b);a.lineTo(k,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross", +ka);mxUtils.extend(sa,mxActor);sa.prototype.size=.25;sa.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);b=Math.min(c-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",sa);mxUtils.extend(qa,mxConnector);qa.prototype.origPaintEdgeShape=qa.prototype.paintEdgeShape;qa.prototype.paintEdgeShape=function(a,d,b){for(var c= +[],f=0;f<d.length;f++)c.push(mxUtils.clone(d[f]));var f=a.state.dashed,k=a.state.fixDash;qa.prototype.origPaintEdgeShape.apply(this,[a,c,b]);3<=a.state.strokeWidth&&(c=mxUtils.getValue(this.style,"fillColor",null),null!=c&&(a.setStrokeColor(c),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,k),qa.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",qa);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; +StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==d.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,d,b,c,f,k,g,e,n,v){var q=f*(g+n+1),t=k*(g+n+1);return function(){a.begin();a.moveTo(c.x-q/2-t/2,c.y-t/2+q/2);a.lineTo(c.x+t/2-3*q/2,c.y-3*t/2-q/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,k,g,e,n, +v){var q=f*(g+n+1),t=k*(g+n+1);return function(){a.begin();a.moveTo(c.x-q/2-t/2,c.y-t/2+q/2);a.lineTo(c.x+t/2-3*q/2,c.y-3*t/2-q/2);a.moveTo(c.x-q/2+t/2,c.y-t/2-q/2);a.lineTo(c.x-t/2-3*q/2,c.y-3*t/2+q/2);a.stroke()}});mxMarker.addMarker("circle",ua);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,k,g,e,n,v){var q=c.clone(),t=ua.apply(this,arguments),A=f*(g+2*n),l=k*(g+2*n);return function(){t.apply(this,arguments);a.begin();a.moveTo(q.x-f*n,q.y-k*n);a.lineTo(q.x-2*A+f*n,q.y-2*l+k*n);a.moveTo(q.x- +A-l+k*n,q.y-l+A-f*n);a.lineTo(q.x+l-A-k*n,q.y-l-A+f*n);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,d,b,c,f,k,g,e,n,v){var q=f*(g+n+1),t=k*(g+n+1),A=c.clone();c.x-=q;c.y-=t;return function(){a.begin();a.moveTo(A.x-t,A.y+q);a.quadTo(c.x-t,c.y+q,c.x,c.y);a.quadTo(c.x+t,c.y-q,A.x+t,A.y-q);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,k,g,e,n,v){d=f*n*1.118;b=k*n*1.118;f*=g+n;k*=g+n;var q=c.clone();q.x-=d;q.y-=b;c.x+=1*-f-d;c.y+=1*-k-b;return function(){a.begin();a.moveTo(q.x, +q.y);e?a.lineTo(q.x-f-k/2,q.y-k+f/2):a.lineTo(q.x+k/2-f,q.y-k-f/2);a.lineTo(q.x-f,q.y-k);a.close();v?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,k,g,e,n,v,q){k*=e+v;g*=e+v;var t=f.clone();return function(){d.begin();d.moveTo(t.x,t.y);n?d.lineTo(t.x-k-g/a,t.y-g+k/a):d.lineTo(t.x+g/a-k,t.y-g-k/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ha=function(a,d,b){return Ea(a,["width"],d,function(d,c,f,k,g){g=a.shape.getEdgeWidth()* +a.view.scale+b;return new mxPoint(k.x+c*d/4+f*g/2,k.y+f*d/4-c*g/2)},function(d,c,f,k,g,e){d=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));a.style.width=Math.round(2*d)/a.view.scale-b})},Ea=function(a,d,b,c,f){return X(a,d,function(d){var f=a.absolutePoints,k=f.length-1;d=a.view.translate;var g=a.view.scale,e=b?f[0]:f[k],f=b?f[1]:f[k-1],k=f.x-e.x,n=f.y-e.y,v=Math.sqrt(k*k+n*n),e=c.call(this,v,k/v,n/v,e,f);return new mxPoint(e.x/g-d.x,e.y/g-d.y)},function(d,c,k){var g=a.absolutePoints,e=g.length- +1;d=a.view.translate;var n=a.view.scale,v=b?g[0]:g[e],g=b?g[1]:g[e-1],e=g.x-v.x,q=g.y-v.y,t=Math.sqrt(e*e+q*q);c.x=(c.x+d.x)*n;c.y=(c.y+d.y)*n;f.call(this,t,e/t,q/t,v,g,c,k)})},va=function(a){return function(d){return[X(d,["arrowWidth","arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",Y.prototype.arrowWidth))),c=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",Y.prototype.arrowSize)));return new mxPoint(d.x+(1-c)*d.width,d.y+(1- +b)*d.height/2)},function(d,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(d.y+d.height/2-b.y)/d.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(d.x+d.width-b.x)/d.width))})]}},Na=function(a,d,b){return function(c){var f=[X(c,["size"],function(b){var c=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",d)))))*a;return new mxPoint(b.x+c,b.y+c)},function(d,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(d.width, +b.x-d.x),Math.min(d.height,b.y-d.y)))/a)})];b&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(oa(c));return f}},Ia=function(a,d,b,c,f){b=null!=b?b:1;return function(k){var g=[X(k,["size"],function(d){var b=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,c=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(d.x+Math.max(0,Math.min(d.width,c*(b?1:d.width))),d.getCenterY())},function(a,d,c){var g=null!=f?"0"!=mxUtils.getValue(this.state.style, +"fixedSize","0"):null;a=g?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));g&&!mxEvent.isAltDown(c.getEvent())&&(a=k.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(k.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(oa(k));return g}},Oa=function(a){return function(d){var b=[X(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",f.prototype.size))));return new mxPoint(d.x+b*d.width*.75,d.y+d.height/4)},function(d,b){this.state.style.size= +Math.max(0,Math.min(a,(b.x-d.x)/(.75*d.width)))},null,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(oa(d));return b}},Fa=function(){return function(a){var d=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(oa(a));return d}},oa=function(a,d){return X(a,[mxConstants.STYLE_ARCSIZE],function(b){var c=null!=d?d:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;return new mxPoint(b.x+b.width-Math.min(b.width/2,f),b.y+c)}f=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)*f),b.y+c)},function(d,b,c){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(d.width,2*(d.x+d.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]= +Math.round(Math.min(50,Math.max(0,100*(d.width-b.x+d.x)/Math.min(d.width,d.height))))})},X=function(a,d,b,c,f,k){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<d.length;a++)this.copyStyle(d[a])};g.getPosition=b;g.setPosition=c;g.ignoreGrid=null!=f?f:!0;if(k){var e=g.positionChanged;g.positionChanged=function(){e.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},Ja={link:function(a){return[Ha(a,!0,10), +Ha(a,!1,10)]},flexArrow:function(a){var d=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,k){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+ +c*(k+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,k,g,e,n){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(n.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])- +parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,k){d=(a.shape.getStartArrowWidth()-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(k+a.shape.strokewidth* +a.view.scale)-b*d/2)},function(b,c,f,k,g,e,n){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(n.getEvent())|| +(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<d&&(a.style.startWidth=a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,k){d=(a.shape.getEdgeWidth()- +a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(k+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,k,g,e,n){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2* +b)/a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(n.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,k){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)* +a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(k+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,k,g,e,n){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/ +a.view.scale;mxEvent.isControlDown(n.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(n.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<d&&(a.style.endWidth=a.style.startWidth))})));return b}, +swimlane:function(a){var d=[X(a,[mxConstants.STYLE_STARTSIZE],function(d){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(d.getCenterX(),d.y+Math.max(0,Math.min(d.height,b))):new mxPoint(d.x+Math.max(0,Math.min(d.width,b)),d.getCenterY())},function(d,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0, +Math.min(d.height,b.y-d.y))):Math.round(Math.max(0,Math.min(d.width,b.x-d.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));d.push(oa(a,b/2))}return d},label:Fa(),ext:Fa(),rectangle:Fa(),triangle:Fa(),rhombus:Fa(),umlLifeline:function(a){return[X(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",F.prototype.size))));return new mxPoint(a.getCenterX(), +a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))},!1)]},umlFrame:function(a){return[X(a,["width","height"],function(a){var d=Math.max(G.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",G.prototype.width))),b=Math.max(1.5*G.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",G.prototype.height)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.width=Math.round(Math.max(G.prototype.corner, +Math.min(a.width,d.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*G.prototype.corner,Math.min(a.height,d.y-a.y)))},!1)]},process:function(a){var d=[X(a,["size"],function(a){var d=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(a.x+a.width*d,a.y+a.height/4)},function(a,d){this.state.style.size=Math.max(0,Math.min(.5,(d.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(oa(a));return d},cross:function(a){return[X(a, +["size"],function(a){var d=Math.min(a.width,a.height),d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ka.prototype.size)))*d/2;return new mxPoint(a.getCenterX()-d,a.getCenterY()-d)},function(a,d){var b=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-d.y)/b*2,Math.max(0,a.getCenterX()-d.x)/b*2)))})]},note:function(a){return[X(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style, +"size",l.prototype.size)))));return new mxPoint(a.x+a.width-d,a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-d.x),Math.min(a.height,d.y-a.y))))})]},manualInput:function(a){var d=[X(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",V.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*d/4)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(d.y-a.y)/3)))})];mxUtils.getValue(a.style, +mxConstants.STYLE_ROUNDED,!1)&&d.push(oa(a));return d},dataStorage:function(a){return[X(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",M.prototype.size))));return new mxPoint(a.x+(1-d)*a.width,a.getCenterY())},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-d.x)/a.width))})]},callout:function(a){var d=[X(a,["size","position"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",x.prototype.size))), +b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",x.prototype.position)));mxUtils.getValue(this.state.style,"base",x.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-d)},function(a,d){mxUtils.getValue(this.state.style,"base",x.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-d.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),X(a,["position2"],function(a){var d=Math.max(0,Math.min(1, +mxUtils.getValue(this.state.style,"position2",x.prototype.position2)));return new mxPoint(a.x+d*a.width,a.y+a.height)},function(a,d){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),X(a,["base"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",x.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",x.prototype.position))),c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, +"base",x.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+c),a.y+a.height-d)},function(a,d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",x.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,d.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(oa(a));return d},internalStorage:function(a){var d=[X(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, +"dx",U.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",U.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(oa(a));return d},corner:function(a){return[X(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style, +"dx",ia.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",ia.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},tee:function(a){return[X(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",Z.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, +"dy",Z.prototype.dy)));return new mxPoint(a.x+(a.width+d)/2,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,d.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},singleArrow:va(1),doubleArrow:va(.5),folder:function(a){return[X(a,["tabWidth","tabHeight"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",p.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style, +"tabHeight",p.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(d=a.width-d);return new mxPoint(a.x+d,a.y+b)},function(a,d){var b=Math.max(0,Math.min(a.width,d.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},document:function(a){return[X(a, +["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",B.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-d)*a.height)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},tape:function(a){return[X(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",z.prototype.size))));return new mxPoint(a.getCenterX(),a.y+d*a.height/2)},function(a,d){this.state.style.size= +Math.max(0,Math.min(1,(d.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[X(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ea.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-d)*a.height)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},step:Ia(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:Ia(E.prototype.size,!0,.5,!0),curlyBracket:Ia(k.prototype.size,!1),display:Ia(sa.prototype.size, !1),cube:Na(1,a.prototype.size,!1),card:Na(.5,u.prototype.size,!0),loopLimit:Na(.5,S.prototype.size,!0),trapezoid:Oa(.5),parallelogram:Oa(1)};Graph.createHandle=X;Graph.handleFactory=Ja;mxVertexHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=Ja[a];null==a&&null!=this.state.shape&& this.state.shape.isRoundable()&&(a=Ja[mxConstants.SHAPE_RECTANGLE]);if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR);a=Ja[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var Ka=new mxPoint(1,0),La=new mxPoint(1, -0),va=mxUtils.toRadians(-30),Ka=mxUtils.getRotatedPoint(Ka,Math.cos(va),Math.sin(va)),va=mxUtils.toRadians(-150),La=mxUtils.getRotatedPoint(La,Math.cos(va),Math.sin(va));mxEdgeStyle.IsometricConnector=function(a,c,b,f,d){var e=a.view;f=null!=f&&0<f.length?f[0]:null;var g=a.absolutePoints,l=g[0],g=g[g.length-1];null!=f&&(f=e.transformControlPoint(a,f));null==l&&null!=c&&(l=new mxPoint(c.getCenterX(),c.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var n=Ka.x,v=Ka.y, -q=La.x,t=La.y,A="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=l){a=function(a,c,b){a-=k.x;var f=c-k.y;c=(t*a-q*f)/(n*t-v*q);a=(v*a-n*f)/(v*q-n*t);A?(b&&(k=new mxPoint(k.x+n*c,k.y+v*c),d.push(k)),k=new mxPoint(k.x+q*a,k.y+t*a)):(b&&(k=new mxPoint(k.x+q*a,k.y+t*a),d.push(k)),k=new mxPoint(k.x+n*c,k.y+v*c));d.push(k)};var k=l;null==f&&(f=new mxPoint(l.x+(g.x-l.x)/2,l.y+(g.y-l.y)/2));a(f.x,f.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector); -var Pa=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,c){if(c==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Pa.apply(this,arguments)};b.prototype.constraints=[];e.prototype.getConstraints=function(a,c,b){a=[];var f=Math.tan(mxUtils.toRadians(30)),d=(.5-f)/2,f=Math.min(c,b/(.5+f));c=(c-f)/2;b=(b-f)/2;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b+.25*f));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c+.5*f,b+f*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+f,b+.25*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+f,b+.75*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.5*f,b+(1-d)*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b+.75*f));return a};x.prototype.getConstraints=function(a,c,b){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style, -"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var d=c*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,c,.5*(b-f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b-f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-f)));c>=2*f&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0, +0),va=mxUtils.toRadians(-30),Ka=mxUtils.getRotatedPoint(Ka,Math.cos(va),Math.sin(va)),va=mxUtils.toRadians(-150),La=mxUtils.getRotatedPoint(La,Math.cos(va),Math.sin(va));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var k=a.view;c=null!=c&&0<c.length?c[0]:null;var g=a.absolutePoints,e=g[0],g=g[g.length-1];null!=c&&(c=k.transformControlPoint(a,c));null==e&&null!=d&&(e=new mxPoint(d.getCenterX(),d.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var n=Ka.x,v=Ka.y, +q=La.x,t=La.y,A="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=e){a=function(a,d,b){a-=l.x;var c=d-l.y;d=(t*a-q*c)/(n*t-v*q);a=(v*a-n*c)/(v*q-n*t);A?(b&&(l=new mxPoint(l.x+n*d,l.y+v*d),f.push(l)),l=new mxPoint(l.x+q*a,l.y+t*a)):(b&&(l=new mxPoint(l.x+q*a,l.y+t*a),f.push(l)),l=new mxPoint(l.x+n*d,l.y+v*d));f.push(l)};var l=e;null==c&&(c=new mxPoint(e.x+(g.x-e.x)/2,e.y+(g.y-e.y)/2));a(c.x,c.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector); +var Pa=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Pa.apply(this,arguments)};b.prototype.constraints=[];e.prototype.getConstraints=function(a,d,b){a=[];var c=Math.tan(mxUtils.toRadians(30)),f=(.5-c)/2,c=Math.min(d,b/(.5+c));d=(d-c)/2;b=(b-c)/2;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.25*c));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,d+.5*c,b+c*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d+c,b+.25*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d+c,b+.75*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d+.5*c,b+(1-f)*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.75*c));return a};x.prototype.getConstraints=function(a,d,b){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var c=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style, +"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var f=d*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,d,.5*(b-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-c)));d>=2*c&&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,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5, -0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;z.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.getConstraints=function(a,c,b){a=[];var f=Math.max(0,Math.min(c, -Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-f),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*f,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(1, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c>=2*f&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};u.prototype.getConstraints=function(a,c,b){a=[];var f=Math.max(0,Math.min(c,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(c+f),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -.5),!1));c>=2*f&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};a.prototype.getConstraints=function(a,c,b){a=[];var f=Math.max(0,Math.min(c,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-f),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*f,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+f),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,b-.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-f)));return a}; -p.prototype.getConstraints=function(a,c,b){a=[];var f=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,0)),a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,f,d)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+f),d))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*f,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-f,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-f,d)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-f),d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c,.25*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.75*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,.75*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};U.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;ta.prototype.constraints=mxEllipse.prototype.constraints;K.prototype.constraints=mxEllipse.prototype.constraints; -ma.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;oa.prototype.constraints=mxRectangleShape.prototype.constraints;sa.prototype.getConstraints=function(a,c,b){a=[];var f=Math.min(c,b/2),d=Math.min(c-f,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c-f),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-f,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c-f),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));return a};S.prototype.constraints=mxRectangleShape.prototype.constraints;ea.prototype.constraints= +0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;y.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d, +Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*c,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b+c)));a.push(new mxConnectionConstraint(new mxPoint(1, +1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));d>=2*c&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};u.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*(d+c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b+c)));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1, +.5),!1));d>=2*c&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};a.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*c,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b+c)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b-.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-c)));return a}; +p.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,0)),a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,c,f)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),f))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,f)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,d,.25*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.75*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,.75*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};U.prototype.constraints=mxRectangleShape.prototype.constraints;M.prototype.constraints=mxRectangleShape.prototype.constraints;ta.prototype.constraints=mxEllipse.prototype.constraints;K.prototype.constraints=mxEllipse.prototype.constraints; +ma.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;pa.prototype.constraints=mxRectangleShape.prototype.constraints;sa.prototype.getConstraints=function(a,d,b){a=[];var c=Math.min(d,b/2),f=Math.min(d-c,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(f+d-c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(f+d-c),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));return a};S.prototype.constraints=mxRectangleShape.prototype.constraints;ea.prototype.constraints= mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1, .7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];v.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1, 1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];H.prototype.constraints=[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(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!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(.25, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];m.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1, -1),!1)];y.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];t.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0), +1),!1)];z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];t.prototype.constraints=[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(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!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)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints= [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(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,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(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4, .1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88, -.25),!1)];c.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;B.prototype.constraints=[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(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)];mxArrow.prototype.constraints=null;Y.prototype.getConstraints=function(a,c,b){a=[];var f=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1, -0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*c+.25*f,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+f),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+f),.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+f),b));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(c-f),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-f),.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-f),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*c-.25*f,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*d));return a};ga.prototype.getConstraints=function(a,c,b){a=[];var f=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style, -"dx",this.dx)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+f),d));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,f,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,b));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};qa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];aa.prototype.getConstraints=function(a,c,b){a=[];var f=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, -"arrowSize",this.arrowSize)))),f=(b-f)/2;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*(c-d),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-d),b-f));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,0,b-f));return a};P.prototype.getConstraints=function(a,c,b){a=[];var f=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",aa.prototype.arrowWidth)))),d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",aa.prototype.arrowSize)))),f=(b-f)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,f));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,c-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b-f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));return a};ka.prototype.getConstraints=function(a,c,b){a=[];var f=Math.min(b,c),d=Math.max(0,Math.min(f,f*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),f=(b-d)/2,e=f+d,g=(c-d)/2,d=g+d;a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,g,.5*f));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,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b-.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b));a.push(new mxConnectionConstraint(new mxPoint(.5, -1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b-.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+d),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,f));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(0, -0),!1,null,.5*(c+d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,f));return a};D.prototype.constraints= -null;ja.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)];T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175, +.25),!1)];d.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;B.prototype.constraints=[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(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)];mxArrow.prototype.constraints=null;Z.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1, +0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d+.25*c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),b));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*(d-c),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d-.25*c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*f));return a};ia.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style, +"dx",this.dx)))),f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),f));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};na.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, +1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];Y.prototype.getConstraints=function(a,d,b){a=[];var c=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, +"arrowSize",this.arrowSize)))),c=(b-c)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-f),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-f),b-c));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,0,b-c));return a};P.prototype.getConstraints=function(a,d,b){a=[];var c=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",Y.prototype.arrowWidth)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",Y.prototype.arrowSize)))),c=(b-c)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,c));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,d-f,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));return a};ka.prototype.getConstraints=function(a,d,b){a=[];var c=Math.min(b,d),f=Math.max(0,Math.min(c,c*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),c=(b-f)/2,k=c+f,g=(d-f)/2,f=g+f;a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,g,.5*c));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,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b-.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b));a.push(new mxConnectionConstraint(new mxPoint(.5, +1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b-.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+f),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,k));a.push(new mxConnectionConstraint(new mxPoint(0, +0),!1,null,.5*(d+f),k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,c));return a};F.prototype.constraints= +null;ga.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)];T.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)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.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();var b=d.getDeletableCells(d.getSelectionCells());if(null!=b&&0<b.length){var e=d.selectParentAfterDelete?d.model.getParents(b):null;d.removeCells(b,a);if(null!=e){a=[];for(b=0;b<e.length;b++)d.model.contains(e[b])&&(d.model.isVertex(e[b])||d.model.isEdge(e[b]))&&a.push(e[b]);d.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,d=e.graph,k=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...", -function(){d.openLink(b.getUrl())});this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var d=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(d.documentElement))}catch(c){mxUtils.alert(mxResources.get("invalidOrMissingFile")+ -": "+c.message)}}));b.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=k;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=k;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=k;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,296,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(b);b.showDialog(a.container, -620,420,!0,!1);a.init()});this.addAction("pageSetup...",function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=k;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN? -Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){mxClipboard.cut(d)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{mxClipboard.copy(d)}catch(u){b.handleError(u)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&mxClipboard.paste(d)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){d.getModel().beginUpdate(); -try{var b=mxClipboard.paste(d);if(null!=b){a=!0;for(var e=0;e<b.length&&a;e++)a=a&&d.model.isEdge(b[e]);var c=d.view.translate,f=d.view.scale,g=c.x,q=c.y,c=null;if(1==b.length&&a){var n=d.getCellGeometry(b[0]);null!=n&&(c=n.getTerminalPoint(!0))}c=null!=c?c:d.getBoundingBoxFromGeometry(b,a);if(null!=c){var l=Math.round(d.snap(d.popupMenuHandler.triggerX/f-g)),A=Math.round(d.snap(d.popupMenuHandler.triggerY/f-q));d.cellsMoved(b,l-c.x,A-c.y)}}}finally{d.getModel().endUpdate()}}});this.addAction("copySize", -function(a){a=d.getSelectionCell();d.isEnabled()&&null!=a&&d.getModel().isVertex(a)&&(a=d.getCellGeometry(a),null!=a&&(b.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shift+X");this.addAction("pasteSize",function(a){if(d.isEnabled()&&!d.isSelectionEmpty()&&null!=b.copiedSize){d.getModel().beginUpdate();try{var e=d.getSelectionCells();for(a=0;a<e.length;a++)if(d.getModel().isVertex(e[a])){var k=d.getCellGeometry(e[a]);null!=k&&(k=k.clone(),k.width=b.copiedSize.width,k.height= -b.copiedSize.height,d.getModel().setGeometry(e[a],k))}}finally{d.getModel().endUpdate()}}},null,null,"Alt+Shift+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){try{d.setSelectionCells(d.duplicateCells())}catch(u){b.handleError(u)}},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"), -function(){d.turnShapes(d.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){d.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){d.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){d.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){d.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate(); -try{var a=d.isCellMovable(d.getSelectionCell())?1:0;d.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);d.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);d.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);d.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);d.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);d.toggleCellStyles("connectable",a)}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){d.home()},null,null,"Home");this.addAction("exitGroup",function(){d.exitGroup()}, -null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){d.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){d.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){d.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){d.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){d.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group", -function(){1==d.getSelectionCount()?d.setCellStyles("container","1"):d.setSelectionCell(d.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==d.getSelectionCount()&&0==d.getModel().getChildCount(d.getSelectionCell())?d.setCellStyles("container","0"):d.setSelectionCells(d.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){d.removeCellsFromParent()});this.addAction("edit",function(){d.isEnabled()&&d.startEditingAtCell()}, -null,null,"F2/Enter");this.addAction("editData...",function(){var a=d.getSelectionCell()||d.getModel().getRoot();b.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),e="";if(mxUtils.isNode(d.value)){var c=d.value.getAttribute("tooltip");null!=c&&(e=c)}e=new TextareaDialog(b,mxResources.get("editTooltip")+":",e,function(c){a.setTooltipForCell(d,c)});b.showDialog(e.container, -320,200,!0,!0);e.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=d.getLinkForCell(d.getSelectionCell());null!=a&&d.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),e=a.getLinkForCell(d)||"";b.showLinkDialog(e,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(d,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.put("insertImage",new Action(mxResources.get("image")+ -"...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&(d.clearSelection(),b.actions.get("image").funct())})).isEnabled=k;this.put("insertLink",new Action(mxResources.get("link")+"...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"),function(a,b){a=mxUtils.trim(a);if(0<a.length){var e=null,c=d.getLinkTitle(a);null!=b&&0<b.length&&(e=b[0].iconUrl,c=b[0].name||b[0].type,c=c.charAt(0).toUpperCase()+c.substring(1),30<c.length&& -(c=c.substring(0,30)+"..."));var f=d.getFreeInsertPoint(),e=new mxCell(c,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=e?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+e:"spacing=10;"));e.vertex=!0;d.setLinkForCell(e,a);d.cellSizeUpdated(e,!0);d.getModel().beginUpdate();try{e=d.addCell(e),d.fireEvent(new mxEventObject("cellsInserted","cells",[e]))}finally{d.getModel().endUpdate()}d.setSelectionCell(e);d.scrollCellToVisible(d.getSelectionCell())}})})).isEnabled= -k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var d=a.getSelectedElement(),e=a.getParentByName(d,"A",a.cellEditor.textarea),c="";if(null==e&&null!=d&&null!=d.getElementsByTagName)for(var f=d.getElementsByTagName("a"),g=0;g<f.length&&null==e;g++)f[g].textContent==d.textContent&&(e=f[g]);null!=e&&"A"==e.nodeName&&(c=e.getAttribute("href")||"",a.selectNode(e));var q=a.cellEditor.saveSelection();b.showLinkDialog(c,mxResources.get("apply"), -mxUtils.bind(this,function(c){a.cellEditor.restoreSelection(q);null!=c&&a.insertLink(c)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=d.getSelectionCells();if(null!=a){d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var e=a[b];if(d.getModel().getChildCount(e))d.updateGroupBounds([e],20);else{var c=d.view.getState(e),f=d.getCellGeometry(e);d.getModel().isVertex(e)&&null!=c&&null!=c.text&& -null!=f&&d.isWrapping(e)?(f=f.clone(),f.height=c.text.boundingBox.height/d.view.scale,d.getModel().setGeometry(e,f)):d.updateCellSize(e)}}}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=d.getView().getState(d.getSelectionCell());if(null!=a){d.stopEditing();a="1"==a.style.html?null:"1";d.getModel().beginUpdate();try{for(var e=d.getSelectionCells(),k=0;k<e.length;k++)if(state=d.getView().getState(e[k]),null!=state){var c=mxUtils.getValue(state.style, -"html","0");if("1"==c&&null==a){var f=d.convertValueToString(state.cell);"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(f=f.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var g=document.createElement("div");g.innerHTML=f;f=mxUtils.extractTextWithWhitespace(g.childNodes);d.cellLabelChanged(state.cell,f);d.setCellStyles("html",a,[e[k]])}else"0"==c&&"1"==a&&(f=mxUtils.htmlEntities(d.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(f=f.replace(/\n/g,"<br/>")),d.cellLabelChanged(state.cell, -d.sanitizeHtml(f)),d.setCellStyles("html",a,[e[k]]))}b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=a?a:"0"],"cells",e))}finally{d.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=d.getView().getState(d.getSelectionCell()),b="wrap";d.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=d.getView().getState(d.getSelectionCell()); -null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&d.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){d.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){d.isFastZoomEnabled()?d.lazyZoom(!0,!0,b.buttonZoomDelay): -d.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");this.addAction("zoomOut",function(a){d.isFastZoomEnabled()?d.lazyZoom(!1,!0,b.buttonZoomDelay):d.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){var a=d.isSelectionEmpty()?d.getGraphBounds():d.getBoundingBox(d.getSelectionCells()),b=d.view.translate,e=d.view.scale;a.width/=e;a.height/=e;a.x=a.x/e-b.x;a.y=a.y/e-b.y;var e=d.container.clientWidth-10,c=d.container.clientHeight- -10,f=Math.floor(20*Math.min(e/a.width,c/a.height))/20;d.zoomTo(f);mxUtils.hasScrollbars(d.container)&&(d.container.scrollTop=(a.y+b.y)*f-Math.max((c-a.height*f)/2+5,0),d.container.scrollLeft=(a.x+b.x)*f-Math.max((e-a.width*f)/2+5,0))},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/a.width/b,(d.container.clientHeight-10)/ -a.height/b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop=a.y*d.view.scale-1,d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/(2*a.width)/b,(d.container.clientHeight-10)/a.height/ -b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop=Math.min(a.y,(d.container.scrollHeight-d.container.clientHeight)/2),d.container.scrollLeft=Math.min(a.x,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();d.zoomTo(Math.floor(20*(d.container.clientWidth-10)/d.pageFormat.width/d.pageScale)/20);if(mxUtils.hasScrollbars(d.container)){var a= -d.getPagePadding();d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*d.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&d.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null, -Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var m=null,m=this.addAction("grid",function(){d.setGridEnabled(!d.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null, -Editor.ctrlKey+"+Shift+G");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.isGridEnabled()});m.setEnabled(!1);m=this.addAction("guides",function(){d.graphHandler.guidesEnabled=!d.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.graphHandler.guidesEnabled});m.setEnabled(!1);m=this.addAction("tooltips",function(){d.tooltipHandler.setEnabled(!d.tooltipHandler.isEnabled())});m.setToggleAction(!0); -m.setSelectedCallback(function(){return d.tooltipHandler.isEnabled()});m=this.addAction("collapseExpand",function(){var a=new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!d.foldingEnabled;d.model.execute(a)});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.foldingEnabled});m.isEnabled=k;m=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.scrollbars});m=this.addAction("pageView", -mxUtils.bind(this,function(){b.setPageVisible(!d.pageVisible)}));m.setToggleAction(!0);m.setSelectedCallback(function(){return d.pageVisible});m=this.addAction("connectionArrows",function(){d.connectionArrowsEnabled=!d.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionArrowsEnabled});m=this.addAction("connectionPoints",function(){d.setConnectable(!d.connectionHandler.isEnabled()); -b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isEnabled()});m=this.addAction("copyConnect",function(){d.connectionHandler.setCreateTarget(!d.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isCreateTarget()});m.isEnabled=k;m=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)}); -m.setToggleAction(!0);m.setSelectedCallback(function(){return b.editor.autosave});m.isEnabled=k;m.visible=!1;this.addAction("help",function(){var a="";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);d.openLink(RESOURCES_PATH+"/help"+a+".html")});var p=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){p||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){p=!1}),p=!0)},null,null,"F1"));m=mxUtils.bind(this,function(a, -b,e,c){return this.addAction(a,function(){if(null!=e&&d.cellEditor.isContentEditing())e();else{d.stopEditing(!1);d.getModel().beginUpdate();try{var a=d.getSelectionCells();d.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,b,a);(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontStyle= -null;"I"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&d.updateLabelElements(d.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&&d.replaceElement(a)});for(var c=0;c<a.length;c++)0==d.model.getChildCount(a[c])&&d.autoSizeCell(a[c],!1)}finally{d.getModel().endUpdate()}}},null,null,c)});m("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");m("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic", +Actions.prototype.init=function(){function a(a){c.escape();var b=c.getDeletableCells(c.getSelectionCells());if(null!=b&&0<b.length){var e=c.selectParentAfterDelete?c.model.getParents(b):null;c.removeCells(b,a);if(null!=e){a=[];for(b=0;b<e.length;b++)c.model.contains(e[b])&&(c.model.isVertex(e[b])||c.model.isEdge(e[b]))&&a.push(e[b]);c.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,c=e.graph,l=function(){return Action.prototype.isEnabled.apply(this,arguments)&&c.isEnabled()};this.addAction("new...", +function(){c.openLink(b.getUrl())});this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var c=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(c.documentElement))}catch(d){mxUtils.alert(mxResources.get("invalidOrMissingFile")+ +": "+d.message)}}));b.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=l;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=l;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=l;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,296,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(b);b.showDialog(a.container, +620,420,!0,!1);a.init()});this.addAction("pageSetup...",function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=l;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(c,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN? +Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){mxClipboard.cut(c)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{mxClipboard.copy(c)}catch(u){b.handleError(u)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&mxClipboard.paste(c)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){c.getModel().beginUpdate(); +try{var b=mxClipboard.paste(c);if(null!=b){a=!0;for(var e=0;e<b.length&&a;e++)a=a&&c.model.isEdge(b[e]);var d=c.view.translate,f=c.view.scale,k=d.x,q=d.y,d=null;if(1==b.length&&a){var n=c.getCellGeometry(b[0]);null!=n&&(d=n.getTerminalPoint(!0))}d=null!=d?d:c.getBoundingBoxFromGeometry(b,a);if(null!=d){var g=Math.round(c.snap(c.popupMenuHandler.triggerX/f-k)),A=Math.round(c.snap(c.popupMenuHandler.triggerY/f-q));c.cellsMoved(b,g-d.x,A-d.y)}}}finally{c.getModel().endUpdate()}}});this.addAction("copySize", +function(a){a=c.getSelectionCell();c.isEnabled()&&null!=a&&c.getModel().isVertex(a)&&(a=c.getCellGeometry(a),null!=a&&(b.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shift+X");this.addAction("pasteSize",function(a){if(c.isEnabled()&&!c.isSelectionEmpty()&&null!=b.copiedSize){c.getModel().beginUpdate();try{var e=c.getSelectionCells();for(a=0;a<e.length;a++)if(c.getModel().isVertex(e[a])){var l=c.getCellGeometry(e[a]);null!=l&&(l=l.clone(),l.width=b.copiedSize.width,l.height= +b.copiedSize.height,c.getModel().setGeometry(e[a],l))}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){try{c.setSelectionCells(c.duplicateCells())}catch(u){b.handleError(u)}},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"), +function(){c.turnShapes(c.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){c.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){c.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){c.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){c.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!c.isSelectionEmpty()){c.getModel().beginUpdate(); +try{var a=c.isCellMovable(c.getSelectionCell())?1:0;c.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);c.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);c.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);c.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);c.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);c.toggleCellStyles("connectable",a)}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){c.home()},null,null,"Home");this.addAction("exitGroup",function(){c.exitGroup()}, +null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){c.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){c.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){c.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){c.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){c.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group", +function(){1==c.getSelectionCount()?c.setCellStyles("container","1"):c.setSelectionCell(c.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==c.getSelectionCount()&&0==c.getModel().getChildCount(c.getSelectionCell())?c.setCellStyles("container","0"):c.setSelectionCells(c.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){c.removeCellsFromParent()});this.addAction("edit",function(){c.isEnabled()&&c.startEditingAtCell()}, +null,null,"F2/Enter");this.addAction("editData...",function(){var a=c.getSelectionCell()||c.getModel().getRoot();b.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),e="";if(mxUtils.isNode(c.value)){var d=c.value.getAttribute("tooltip");null!=d&&(e=d)}e=new TextareaDialog(b,mxResources.get("editTooltip")+":",e,function(d){a.setTooltipForCell(c,d)});b.showDialog(e.container, +320,200,!0,!0);e.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=c.getLinkForCell(c.getSelectionCell());null!=a&&c.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),e=a.getLinkForCell(c)||"";b.showLinkDialog(e,mxResources.get("apply"),function(d){d=mxUtils.trim(d);a.setLinkForCell(c,0<d.length?d:null)})}},null,null,"Alt+Shift+L");this.put("insertImage",new Action(mxResources.get("image")+ +"...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(c.clearSelection(),b.actions.get("image").funct())})).isEnabled=l;this.put("insertLink",new Action(mxResources.get("link")+"...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"),function(a,b){a=mxUtils.trim(a);if(0<a.length){var e=null,d=c.getLinkTitle(a);null!=b&&0<b.length&&(e=b[0].iconUrl,d=b[0].name||b[0].type,d=d.charAt(0).toUpperCase()+d.substring(1),30<d.length&& +(d=d.substring(0,30)+"..."));var f=c.getFreeInsertPoint(),e=new mxCell(d,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=e?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+e:"spacing=10;"));e.vertex=!0;c.setLinkForCell(e,a);c.cellSizeUpdated(e,!0);c.getModel().beginUpdate();try{e=c.addCell(e),c.fireEvent(new mxEventObject("cellsInserted","cells",[e]))}finally{c.getModel().endUpdate()}c.setSelectionCell(e);c.scrollCellToVisible(c.getSelectionCell())}})})).isEnabled= +l;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var c=a.getSelectedElement(),e=a.getParentByName(c,"A",a.cellEditor.textarea),d="";if(null==e&&null!=c&&null!=c.getElementsByTagName)for(var f=c.getElementsByTagName("a"),k=0;k<f.length&&null==e;k++)f[k].textContent==c.textContent&&(e=f[k]);null!=e&&"A"==e.nodeName&&(d=e.getAttribute("href")||"",a.selectNode(e));var q=a.cellEditor.saveSelection();b.showLinkDialog(d,mxResources.get("apply"), +mxUtils.bind(this,function(d){a.cellEditor.restoreSelection(q);null!=d&&a.insertLink(d)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=l;this.addAction("autosize",function(){var a=c.getSelectionCells();if(null!=a){c.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var e=a[b];if(c.getModel().getChildCount(e))c.updateGroupBounds([e],20);else{var d=c.view.getState(e),f=c.getCellGeometry(e);c.getModel().isVertex(e)&&null!=d&&null!=d.text&& +null!=f&&c.isWrapping(e)?(f=f.clone(),f.height=d.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(e,f)):c.updateCellSize(e)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell());if(null!=a){c.stopEditing();a="1"==a.style.html?null:"1";c.getModel().beginUpdate();try{for(var e=c.getSelectionCells(),l=0;l<e.length;l++)if(state=c.getView().getState(e[l]),null!=state){var d=mxUtils.getValue(state.style, +"html","0");if("1"==d&&null==a){var f=c.convertValueToString(state.cell);"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(f=f.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var k=document.createElement("div");k.innerHTML=f;f=mxUtils.extractTextWithWhitespace(k.childNodes);c.cellLabelChanged(state.cell,f);c.setCellStyles("html",a,[e[l]])}else"0"==d&&"1"==a&&(f=mxUtils.htmlEntities(c.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(f=f.replace(/\n/g,"<br/>")),c.cellLabelChanged(state.cell, +c.sanitizeHtml(f)),c.setCellStyles("html",a,[e[l]]))}b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=a?a:"0"],"cells",e))}finally{c.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=c.getView().getState(c.getSelectionCell()),b="wrap";c.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);c.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=c.getView().getState(c.getSelectionCell()); +null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&c.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){c.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){c.isFastZoomEnabled()?c.lazyZoom(!0,!0,b.buttonZoomDelay): +c.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");this.addAction("zoomOut",function(a){c.isFastZoomEnabled()?c.lazyZoom(!1,!0,b.buttonZoomDelay):c.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){var a=c.isSelectionEmpty()?c.getGraphBounds():c.getBoundingBox(c.getSelectionCells()),b=c.view.translate,e=c.view.scale;a.width/=e;a.height/=e;a.x=a.x/e-b.x;a.y=a.y/e-b.y;var e=c.container.clientWidth-10,d=c.container.clientHeight- +10,f=Math.floor(20*Math.min(e/a.width,d/a.height))/20;c.zoomTo(f);mxUtils.hasScrollbars(c.container)&&(c.container.scrollTop=(a.y+b.y)*f-Math.max((d-a.height*f)/2+5,0),c.container.scrollLeft=(a.x+b.x)*f-Math.max((e-a.width*f)/2+5,0))},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/a.width/b,(c.container.clientHeight-10)/ +a.height/b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop=a.y*c.view.scale-1,c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/(2*a.width)/b,(c.container.clientHeight-10)/a.height/ +b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop=Math.min(a.y,(c.container.scrollHeight-c.container.clientHeight)/2),c.container.scrollLeft=Math.min(a.x,(c.container.scrollWidth-c.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();c.zoomTo(Math.floor(20*(c.container.clientWidth-10)/c.pageFormat.width/c.pageScale)/20);if(mxUtils.hasScrollbars(c.container)){var a= +c.getPagePadding();c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*c.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&c.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null, +Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*c.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var m=null,m=this.addAction("grid",function(){c.setGridEnabled(!c.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null, +Editor.ctrlKey+"+Shift+G");m.setToggleAction(!0);m.setSelectedCallback(function(){return c.isGridEnabled()});m.setEnabled(!1);m=this.addAction("guides",function(){c.graphHandler.guidesEnabled=!c.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.graphHandler.guidesEnabled});m.setEnabled(!1);m=this.addAction("tooltips",function(){c.tooltipHandler.setEnabled(!c.tooltipHandler.isEnabled())});m.setToggleAction(!0); +m.setSelectedCallback(function(){return c.tooltipHandler.isEnabled()});m=this.addAction("collapseExpand",function(){var a=new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!c.foldingEnabled;c.model.execute(a)});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.foldingEnabled});m.isEnabled=l;m=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.scrollbars});m=this.addAction("pageView", +mxUtils.bind(this,function(){b.setPageVisible(!c.pageVisible)}));m.setToggleAction(!0);m.setSelectedCallback(function(){return c.pageVisible});m=this.addAction("connectionArrows",function(){c.connectionArrowsEnabled=!c.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");m.setToggleAction(!0);m.setSelectedCallback(function(){return c.connectionArrowsEnabled});m=this.addAction("connectionPoints",function(){c.setConnectable(!c.connectionHandler.isEnabled()); +b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(function(){return c.connectionHandler.isEnabled()});m=this.addAction("copyConnect",function(){c.connectionHandler.setCreateTarget(!c.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.connectionHandler.isCreateTarget()});m.isEnabled=l;m=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)}); +m.setToggleAction(!0);m.setSelectedCallback(function(){return b.editor.autosave});m.isEnabled=l;m.visible=!1;this.addAction("help",function(){var a="";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);c.openLink(RESOURCES_PATH+"/help"+a+".html")});var p=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){p||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){p=!1}),p=!0)},null,null,"F1"));m=mxUtils.bind(this,function(a, +b,e,d){return this.addAction(a,function(){if(null!=e&&c.cellEditor.isContentEditing())e();else{c.stopEditing(!1);c.getModel().beginUpdate();try{var a=c.getSelectionCells();c.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,b,a);(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontStyle= +null;"I"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.updateLabelElements(c.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&&c.replaceElement(a)});for(var d=0;d<a.length;d++)0==c.model.getChildCount(a[d])&&c.autoSizeCell(a[d],!1)}finally{c.getModel().endUpdate()}}},null,null,d)});m("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");m("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic", !1,null)},Editor.ctrlKey+"+I");m("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){b.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")});this.addAction("strokeColor...",function(){b.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){b.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){b.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)}); -this.addAction("backgroundColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)});this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED, -null),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dashed",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED, -mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dotted",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("sharp", -function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("rounded",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged", -"keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!d.isSelectionEmpty()&&d.isEnabled()){d.getModel().beginUpdate();try{var a=d.getSelectionCells(),e=d.view.getState(a[0]),k=null!=e?e.style:d.getCellStyle(a[0]),c="1"==mxUtils.getValue(k,mxConstants.STYLE_ROUNDED,"0")?"0":"1";d.setCellStyles(mxConstants.STYLE_ROUNDED,c);d.setCellStyles(mxConstants.STYLE_CURVED, -null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[c,"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("curved",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}); -this.addAction("collapsible",function(){var a=d.view.getState(d.getSelectionCell()),e="1";null!=a&&null!=d.getFoldingImage(a)&&(e="0");d.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",d.getSelectionCells()))});this.addAction("editStyle...",mxUtils.bind(this,function(){var a=d.getSelectionCells();if(null!=a&&0<a.length){var b=d.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"", -function(b){null!=b&&d.setCellStyle(mxUtils.trim(b),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){d.isEnabled()&&!d.isSelectionEmpty()&&b.setDefaultStyle(d.getSelectionCell())},null,null,Editor.ctrlKey+"+Shift+D");this.addAction("clearDefaultStyle",function(){d.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=d.getSelectionCell(); -if(null!=a&&d.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var k=d.view.translate,c=d.view.scale,f=k.x,k=k.y,a=d.getModel().getParent(a),g=d.getCellGeometry(a);d.getModel().isVertex(a)&&null!=g;)f+=g.x,k+=g.y,a=d.getModel().getParent(a),g=d.getCellGeometry(a);f=Math.round(d.snap(d.popupMenuHandler.triggerX/c-f));c=Math.round(d.snap(d.popupMenuHandler.triggerY/c-k));b.addPointAt(b.state,f,c)}}});this.addAction("removeWaypoint",function(){var a= -b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=d.getSelectionCells();if(null!=a){a=d.addAllEdges(a);d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var e=a[b];if(d.getModel().isEdge(e)){var c=d.getCellGeometry(e);null!=c&&(c=c.clone(),c.points=null,d.getModel().setGeometry(e,c))}}}finally{d.getModel().endUpdate()}}},null,null,"Alt+Shift+C");m=this.addAction("subscript",mxUtils.bind(this, -function(){d.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");m=this.addAction("superscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=d.getView().getState(d.getSelectionCell()),k="";null!= -e&&(k=e.style[mxConstants.STYLE_IMAGE]||k);var c=d.cellEditor.saveSelection();b.showImageDialog(a,k,function(a,b,e){if(d.cellEditor.isContentEditing())d.cellEditor.restoreSelection(c),d.insertImage(a,b,e);else{var f=d.getSelectionCells();if(null!=a&&(0<a.length||0<f.length)){var g=null;d.getModel().beginUpdate();try{if(0==f.length){var q=d.getFreeInsertPoint(),g=f=[d.insertVertex(d.getDefaultParent(),null,"",q.x,q.y,b,e,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")]; -d.fireEvent(new mxEventObject("cellsInserted","cells",g))}d.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,f);var k=d.view.getState(f[0]),t=null!=k?k.style:d.getCellStyle(f[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?d.setCellStyles(mxConstants.STYLE_SHAPE,"image",f):0==a.length&&d.setCellStyles(mxConstants.STYLE_SHAPE,null,f);if(1==d.getSelectionCount()&&null!=b&&null!=e){var m=f[0],z=d.getModel().getGeometry(m);null!=z&&(z=z.clone(),z.width=b,z.height=e, -d.getModel().setGeometry(m,z))}}finally{d.getModel().endUpdate()}null!=g&&(d.setSelectionCells(g),d.scrollCellToVisible(g[0]))}}},d.cellEditor.isContentEditing(),!d.cellEditor.isContentEditing())}}).isEnabled=k;m=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide", +this.addAction("backgroundColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)});this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED, +null),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("dashed",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED, +mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("dotted",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("sharp", +function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("rounded",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged", +"keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!c.isSelectionEmpty()&&c.isEnabled()){c.getModel().beginUpdate();try{var a=c.getSelectionCells(),e=c.view.getState(a[0]),l=null!=e?e.style:c.getCellStyle(a[0]),d="1"==mxUtils.getValue(l,mxConstants.STYLE_ROUNDED,"0")?"0":"1";c.setCellStyles(mxConstants.STYLE_ROUNDED,d);c.setCellStyles(mxConstants.STYLE_CURVED, +null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[d,"0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}});this.addAction("curved",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED,"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}); +this.addAction("collapsible",function(){var a=c.view.getState(c.getSelectionCell()),e="1";null!=a&&null!=c.getFoldingImage(a)&&(e="0");c.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",c.getSelectionCells()))});this.addAction("editStyle...",mxUtils.bind(this,function(){var a=c.getSelectionCells();if(null!=a&&0<a.length){var b=c.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"", +function(b){null!=b&&c.setCellStyle(mxUtils.trim(b),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){c.isEnabled()&&!c.isSelectionEmpty()&&b.setDefaultStyle(c.getSelectionCell())},null,null,Editor.ctrlKey+"+Shift+D");this.addAction("clearDefaultStyle",function(){c.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=c.getSelectionCell(); +if(null!=a&&c.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var l=c.view.translate,d=c.view.scale,f=l.x,l=l.y,a=c.getModel().getParent(a),k=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=k;)f+=k.x,l+=k.y,a=c.getModel().getParent(a),k=c.getCellGeometry(a);f=Math.round(c.snap(c.popupMenuHandler.triggerX/d-f));d=Math.round(c.snap(c.popupMenuHandler.triggerY/d-l));b.addPointAt(b.state,f,d)}}});this.addAction("removeWaypoint",function(){var a= +b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=c.getSelectionCells();if(null!=a){a=c.addAllEdges(a);c.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var e=a[b];if(c.getModel().isEdge(e)){var d=c.getCellGeometry(e);null!=d&&(d=d.clone(),d.points=null,c.getModel().setGeometry(e,d))}}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+C");m=this.addAction("subscript",mxUtils.bind(this, +function(){c.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");m=this.addAction("superscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...",function(){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=c.getView().getState(c.getSelectionCell()),l="";null!= +e&&(l=e.style[mxConstants.STYLE_IMAGE]||l);var d=c.cellEditor.saveSelection();b.showImageDialog(a,l,function(a,b,e){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(d),c.insertImage(a,b,e);else{var f=c.getSelectionCells();if(null!=a&&(0<a.length||0<f.length)){var k=null;c.getModel().beginUpdate();try{if(0==f.length){var q=c.getFreeInsertPoint(),k=f=[c.insertVertex(c.getDefaultParent(),null,"",q.x,q.y,b,e,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")]; +c.fireEvent(new mxEventObject("cellsInserted","cells",k))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,f);var l=c.view.getState(f[0]),t=null!=l?l.style:c.getCellStyle(f[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image",f):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,f);if(1==c.getSelectionCount()&&null!=b&&null!=e){var m=f[0],y=c.getModel().getGeometry(m);null!=y&&(y=y.clone(),y.width=b,y.height=e, +c.getModel().setGeometry(m,y))}}finally{c.getModel().endUpdate()}null!=k&&(c.setSelectionCells(k),c.scrollCellToVisible(k[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=l;m=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide", function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("layers"))):this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+L");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));m=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+ "+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));m=this.addAction("outline",mxUtils.bind(this,function(){null==this.outlineWindow?(this.outlineWindow=new OutlineWindow(b,document.body.offsetWidth-260,100,180,180),this.outlineWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.setVisible(!0), b.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+O");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))}; -Actions.prototype.addAction=function(a,b,e,d,k){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,d,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]};function Action(a,b,e,d,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=d;this.shortcut=k;this.visible=!0} +Actions.prototype.addAction=function(a,b,e,c,l){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,c,l))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]};function Action(a,b,e,c,l){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=c;this.shortcut=l;this.visible=!0} mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled};Action.prototype.setToggleAction=function(a){this.toggleAction=a};Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.shadowData=this.data=b||"";this.shadowPages=null;this.stats={opened:0,merged:0,fileMerged:0,fileReloaded:0,conflicts:0,timeouts:0,saved:0,closed:0,destroyed:0,joined:0,checksumErrors:0,bytesSent:0,bytesReceived:0,msgSent:0,msgReceived:0,cacheHits:0,cacheMiss:0,cacheFail:0}};DrawioFile.SYNC=urlParams.sync||"auto";DrawioFile.LAST_WRITE_WINS=!0;mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.allChangesSavedKey="allChangesSaved"; DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null; DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.reportEnabled=!0;DrawioFile.prototype.ageStart=null;DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0}; DrawioFile.prototype.synchronizeFile=function(a,b){this.savingFile?null!=b&&b({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,b):this.updateFile(a,b)}; -DrawioFile.prototype.updateFile=function(a,b,e,d){null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():this.getLatestVersion(mxUtils.bind(this,function(k){try{null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():null!=k?this.mergeFile(k,a,b,d):this.reloadFile(a,b))}catch(m){null!=b&&b(m)}}),b))}; -DrawioFile.prototype.mergeFile=function(a,b,e,d){var k=!0;try{this.stats.fileMerged++;var m=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),p=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=p&&0<p.length){this.shadowPages=p;this.backupPatch=this.isModified()?this.ui.diffPages(m,this.ui.pages):null;var u=[this.ui.diffPages(null!=d?d:m,this.shadowPages)];if(!this.ignorePatches(u)){var y=this.ui.patchPages(m, -u[0]);d={};var B=this.ui.getHashValueForPages(y,d),m={},c=this.ui.getHashValueForPages(this.shadowPages,m);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",u,"checksum",c==B,B);if(null!=B&&B!=c){var f=this.compressReportData(this.getAnonymizedXmlForPages(p)),g=this.compressReportData(this.getAnonymizedXmlForPages(y)),q=this.ui.hashValue(a.getCurrentEtag()),n=this.ui.hashValue(this.getCurrentEtag());this.checksumError(e,u,"Shadow Details: "+JSON.stringify(d)+ -"\nChecksum: "+B+"\nCurrent: "+c+"\nCurrent Details: "+JSON.stringify(m)+"\nFrom: "+q+"\nTo: "+n+"\n\nFile Data:\n"+f+"\nPatched Shadow:\n"+g,null,"mergeFile");return}this.patch(u,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw k=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=b&&b()}catch(x){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged(); -null!=e&&e(x);try{if(k)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,x);else{var l=this.getCurrentUser(),A=null!=l?l.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),A,x)}}catch(t){}}}; -DrawioFile.prototype.getAnonymizedXmlForPages=function(a){var b=new mxCodec(mxUtils.createXmlDocument()),e=b.document.createElement("mxfile");if(null!=a)for(var d=0;d<a.length;d++){var k=b.encode(new mxGraphModel(a[d].root));"1"!=urlParams.dev&&(k=this.ui.anonymizeNode(k,!0));k.setAttribute("id",a[d].getId());a[d].viewState&&this.ui.editor.graph.saveViewState(a[d].viewState,k,!0);e.appendChild(k)}return mxUtils.getPrettyXml(e)}; +DrawioFile.prototype.updateFile=function(a,b,e,c){null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():this.getLatestVersion(mxUtils.bind(this,function(l){try{null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():null!=l?this.mergeFile(l,a,b,c):this.reloadFile(a,b))}catch(m){null!=b&&b(m)}}),b))}; +DrawioFile.prototype.mergeFile=function(a,b,e,c){var l=!0;try{this.stats.fileMerged++;var m=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),p=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=p&&0<p.length){this.shadowPages=p;this.backupPatch=this.isModified()?this.ui.diffPages(m,this.ui.pages):null;var u=[this.ui.diffPages(null!=c?c:m,this.shadowPages)];if(!this.ignorePatches(u)){var z=this.ui.patchPages(m, +u[0]);c={};var B=this.ui.getHashValueForPages(z,c),m={},d=this.ui.getHashValueForPages(this.shadowPages,m);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",u,"checksum",d==B,B);if(null!=B&&B!=d){var f=this.compressReportData(this.getAnonymizedXmlForPages(p)),k=this.compressReportData(this.getAnonymizedXmlForPages(z)),q=this.ui.hashValue(a.getCurrentEtag()),n=this.ui.hashValue(this.getCurrentEtag());this.checksumError(e,u,"Shadow Details: "+JSON.stringify(c)+ +"\nChecksum: "+B+"\nCurrent: "+d+"\nCurrent Details: "+JSON.stringify(m)+"\nFrom: "+q+"\nTo: "+n+"\n\nFile Data:\n"+f+"\nPatched Shadow:\n"+k,null,"mergeFile");return}this.patch(u,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw l=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=b&&b()}catch(x){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged(); +null!=e&&e(x);try{if(l)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,x);else{var g=this.getCurrentUser(),A=null!=g?g.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),A,x)}}catch(t){}}}; +DrawioFile.prototype.getAnonymizedXmlForPages=function(a){var b=new mxCodec(mxUtils.createXmlDocument()),e=b.document.createElement("mxfile");if(null!=a)for(var c=0;c<a.length;c++){var l=b.encode(new mxGraphModel(a[c].root));"1"!=urlParams.dev&&(l=this.ui.anonymizeNode(l,!0));l.setAttribute("id",a[c].getId());a[c].viewState&&this.ui.editor.graph.saveViewState(a[c].viewState,l,!0);e.appendChild(l)}return mxUtils.getPrettyXml(e)}; DrawioFile.prototype.compressReportData=function(a,b,e){b=null!=b?b:1E4;null!=e&&null!=a&&a.length>e?a=a.substring(0,e)+"[...]":null!=a&&a.length>b&&(a=Graph.compress(a)+"\n");return a}; -DrawioFile.prototype.checksumError=function(a,b,e,d,k){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=b)for(a=0;a<b.length;a++)this.ui.anonymizePatch(b[a]);var m=mxUtils.bind(this,function(a){var d=this.compressReportData(JSON.stringify(b,null,2));a=null!=a?this.compressReportData(this.getAnonymizedXmlForPages(this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement)), -25E3):"n/a";this.sendErrorReport("Checksum Error in "+k+" "+this.getHash(),(null!=e?e:"")+"\n\nPatches:\n"+d+(null!=a?"\n\nRemote:\n"+a:""),null,7E4)});null==d?m(null):this.getLatestVersion(mxUtils.bind(this,function(a){null!=a&&a.getCurrentEtag()==d?m(a):m(null)}),function(){})}else{var p=this.getCurrentUser(),u=null!=p?p.id:"unknown";EditorUi.logError("Checksum Error in "+k+" "+this.getId(),null,this.getMode()+"."+this.getId(),"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync")); -try{EditorUi.logEvent({category:"CHECKSUM-ERROR-SYNC-FILE-"+this.getHash(),action:k,label:"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync")})}catch(y){}}}catch(y){}}; -DrawioFile.prototype.sendErrorReport=function(a,b,e,d){try{var k=this.compressReportData(this.getAnonymizedXmlForPages(this.shadowPages),25E3),m=this.compressReportData(this.getAnonymizedXmlForPages(this.ui.pages),25E3),p=this.getCurrentUser(),u=null!=p?this.ui.hashValue(p.id):"unknown",y=null!=this.sync?"-client_"+this.sync.clientId:"-nosync",B=this.getTitle(),c=B.lastIndexOf("."),p="xml";0<c&&(p=B.substring(c));var f=null!=e?e.stack:Error().stack;EditorUi.sendReport(a+" "+(new Date).toISOString()+ -":\n\nBrowser="+navigator.userAgent+"\nFile="+this.ui.hashValue(this.getId())+" ("+this.getMode()+")"+(this.isModified()?" modified":"")+"\nSize/Type="+this.getSize()+" ("+p+")\nUser="+u+y+"\nPrefix="+this.ui.editor.graph.model.prefix+"\nSync="+DrawioFile.SYNC+(null!=this.sync?(this.sync.enabled?" enabled":"")+(this.sync.isConnected()?" connected":""):"")+"\nPlugins="+(null!=mxSettings.settings?mxSettings.getPlugins():"null")+"\n\nStats:\n"+JSON.stringify(this.stats,null,2)+(null!=b?"\n\n"+b:"")+ -(null!=e?"\n\nError: "+e.message:"")+"\n\nStack:\n"+f+"\n\nShadow:\n"+k+"\n\nData:\n"+m,d)}catch(g){}}; -DrawioFile.prototype.reloadFile=function(a,b){try{this.ui.spinner.stop();var e=mxUtils.bind(this,function(){this.stats.fileReloaded++;this.reportEnabled=!1;var b=this.ui.editor.graph.getViewState(),e=this.ui.editor.graph.getSelectionCells(),m=this.ui.currentPage;this.ui.loadFile(this.getHash(),!0,null,mxUtils.bind(this,function(){if(null==this.ui.fileLoadedError){this.ui.restoreViewState(m,b,e);null!=this.backupPatch&&this.patch([this.backupPatch]);var d=this.ui.getCurrentFile();null!=d&&(d.stats= -this.stats);null!=a&&a()}}),!0)});this.isModified()&&null==this.backupPatch?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.handleFileSuccess("manual"==DrawioFile.SYNC)}),e,mxResources.get("cancel"),mxResources.get("discardChanges")):e()}catch(d){null!=b&&b(d)}};DrawioFile.prototype.copyFile=function(a,b){this.ui.editor.editAsNew(this.ui.getFileData(!0),this.ui.getCopyFilename(this))}; +DrawioFile.prototype.checksumError=function(a,b,e,c,l){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=b)for(a=0;a<b.length;a++)this.ui.anonymizePatch(b[a]);var m=mxUtils.bind(this,function(a){var c=this.compressReportData(JSON.stringify(b,null,2));a=null!=a?this.compressReportData(this.getAnonymizedXmlForPages(this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement)), +25E3):"n/a";this.sendErrorReport("Checksum Error in "+l+" "+this.getHash(),(null!=e?e:"")+"\n\nPatches:\n"+c+(null!=a?"\n\nRemote:\n"+a:""),null,7E4)});null==c?m(null):this.getLatestVersion(mxUtils.bind(this,function(a){null!=a&&a.getCurrentEtag()==c?m(a):m(null)}),function(){})}else{var p=this.getCurrentUser(),u=null!=p?p.id:"unknown";EditorUi.logError("Checksum Error in "+l+" "+this.getId(),null,this.getMode()+"."+this.getId(),"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync")); +try{EditorUi.logEvent({category:"CHECKSUM-ERROR-SYNC-FILE-"+this.getHash(),action:l,label:"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync")})}catch(z){}}}catch(z){}}; +DrawioFile.prototype.sendErrorReport=function(a,b,e,c){try{var l=this.compressReportData(this.getAnonymizedXmlForPages(this.shadowPages),25E3),m=this.compressReportData(this.getAnonymizedXmlForPages(this.ui.pages),25E3),p=this.getCurrentUser(),u=null!=p?this.ui.hashValue(p.id):"unknown",z=null!=this.sync?"-client_"+this.sync.clientId:"-nosync",B=this.getTitle(),d=B.lastIndexOf("."),p="xml";0<d&&(p=B.substring(d));var f=null!=e?e.stack:Error().stack;EditorUi.sendReport(a+" "+(new Date).toISOString()+ +":\n\nBrowser="+navigator.userAgent+"\nFile="+this.ui.hashValue(this.getId())+" ("+this.getMode()+")"+(this.isModified()?" modified":"")+"\nSize/Type="+this.getSize()+" ("+p+")\nUser="+u+z+"\nPrefix="+this.ui.editor.graph.model.prefix+"\nSync="+DrawioFile.SYNC+(null!=this.sync?(this.sync.enabled?" enabled":"")+(this.sync.isConnected()?" connected":""):"")+"\nPlugins="+(null!=mxSettings.settings?mxSettings.getPlugins():"null")+"\n\nStats:\n"+JSON.stringify(this.stats,null,2)+(null!=b?"\n\n"+b:"")+ +(null!=e?"\n\nError: "+e.message:"")+"\n\nStack:\n"+f+"\n\nShadow:\n"+l+"\n\nData:\n"+m,c)}catch(k){}}; +DrawioFile.prototype.reloadFile=function(a,b){try{this.ui.spinner.stop();var e=mxUtils.bind(this,function(){this.stats.fileReloaded++;this.reportEnabled=!1;var b=this.ui.editor.graph.getViewState(),e=this.ui.editor.graph.getSelectionCells(),m=this.ui.currentPage;this.ui.loadFile(this.getHash(),!0,null,mxUtils.bind(this,function(){if(null==this.ui.fileLoadedError){this.ui.restoreViewState(m,b,e);null!=this.backupPatch&&this.patch([this.backupPatch]);var c=this.ui.getCurrentFile();null!=c&&(c.stats= +this.stats);null!=a&&a()}}),!0)});this.isModified()&&null==this.backupPatch?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.handleFileSuccess("manual"==DrawioFile.SYNC)}),e,mxResources.get("cancel"),mxResources.get("discardChanges")):e()}catch(c){null!=b&&b(c)}};DrawioFile.prototype.copyFile=function(a,b){this.ui.editor.editAsNew(this.ui.getFileData(!0),this.ui.getCopyFilename(this))}; DrawioFile.prototype.ignorePatches=function(a){for(var b=!0,e=0;e<a.length&&b;e++)b=b&&0==Object.keys(a[e]).length;return b}; -DrawioFile.prototype.patch=function(a,b){var e=this.ui.editor.undoManager,d=e.history.slice(),k=e.indexOfNextAdd,m=this.ui.editor.graph;m.container.style.visibility="hidden";var p=this.changeListenerEnabled;this.changeListenerEnabled=!1;var u=m.foldingEnabled,y=m.mathEnabled,B=m.cellRenderer.redraw;m.cellRenderer.redraw=function(a){a.view.graph.isEditing(a.cell)&&(a.view.graph.scrollCellToVisible(a.cell),a.view.graph.cellEditor.resize());B.apply(this,arguments)};m.model.beginUpdate();try{for(var c= -0;c<a.length;c++)this.ui.pages=this.ui.patchPages(this.ui.pages,a[c],!0,b,this.isModified());0==this.ui.pages.length&&this.ui.pages.push(this.ui.createPage());0>mxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{m.container.style.visibility="";m.model.endUpdate();m.cellRenderer.redraw=B;this.changeListenerEnabled=p;e.history=d;e.indexOfNextAdd=k;e.fireEvent(new mxEventObject(mxEvent.CLEAR));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)y!= +DrawioFile.prototype.patch=function(a,b){var e=this.ui.editor.undoManager,c=e.history.slice(),l=e.indexOfNextAdd,m=this.ui.editor.graph;m.container.style.visibility="hidden";var p=this.changeListenerEnabled;this.changeListenerEnabled=!1;var u=m.foldingEnabled,z=m.mathEnabled,B=m.cellRenderer.redraw;m.cellRenderer.redraw=function(a){a.view.graph.isEditing(a.cell)&&(a.view.graph.scrollCellToVisible(a.cell),a.view.graph.cellEditor.resize());B.apply(this,arguments)};m.model.beginUpdate();try{for(var d= +0;d<a.length;d++)this.ui.pages=this.ui.patchPages(this.ui.pages,a[d],!0,b,this.isModified());0==this.ui.pages.length&&this.ui.pages.push(this.ui.createPage());0>mxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{m.container.style.visibility="";m.model.endUpdate();m.cellRenderer.redraw=B;this.changeListenerEnabled=p;e.history=c;e.indexOfNextAdd=l;e.fireEvent(new mxEventObject(mxEvent.CLEAR));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)z!= m.mathEnabled?(this.ui.editor.updateGraphComponents(),m.refresh()):(u!=m.foldingEnabled?m.view.revalidate():m.view.validate(),m.sizeDidChange());this.ui.updateTabContainer()}}; -DrawioFile.prototype.save=function(a,b,e,d,k,m){try{if(this.isEditable())if(!k&&this.invalidChecksum)if(null!=e)e({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=b&&b();else if(null!=e)e({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(p){if(null!=e)e(p);else throw p;}}; -DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed()))};DrawioFile.prototype.isCompressedStorage=function(){return!0};DrawioFile.prototype.isCompressed=function(){var a=null!=this.ui.fileNode?this.ui.fileNode.getAttribute("compressed"):null;return null!=a?"false"!=a:this.isCompressedStorage()&&Editor.compressXml};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,d){}; +DrawioFile.prototype.save=function(a,b,e,c,l,m){try{if(this.isEditable())if(!l&&this.invalidChecksum)if(null!=e)e({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=b&&b();else if(null!=e)e({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(p){if(null!=e)e(p);else throw p;}}; +DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed()))};DrawioFile.prototype.isCompressedStorage=function(){return!0};DrawioFile.prototype.isCompressed=function(){var a=null!=this.ui.fileNode?this.ui.fileNode.getAttribute("compressed"):null;return null!=a?"false"!=a:this.isCompressedStorage()&&Editor.compressXml};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,c){}; DrawioFile.prototype.getPublicUrl=function(a){a(null)};DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return!this.inConflictState&&this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,e){}; DrawioFile.prototype.isMovable=function(){return!1};DrawioFile.prototype.isTrashed=function(){return!1};DrawioFile.prototype.move=function(a,b,e){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""}; DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data}; @@ -2781,26 +2781,26 @@ DrawioFile.prototype.showRefreshDialog=function(a,b,e){null==e&&(e=mxResources.g b)}),null,mxResources.get("synchronize"),mxUtils.bind(this,function(){this.reloadFile(a,b)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150))}; DrawioFile.prototype.showCopyDialog=function(a,b,e){this.invalidChecksum=this.inConflictState=!1;this.addUnsavedStatus();this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedOverwriteDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a,b)}),null,mxResources.get("overwrite"),e,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150)}; DrawioFile.prototype.showConflictDialog=function(a,b){this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedSyncDialog"),mxResources.get("overwrite"),a,null,mxResources.get("synchronize"),b,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog();this.handleFileError(null,!1)}),340,150)}; -DrawioFile.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var e=window.location.protocol+"//"+window.location.host+"/"+this.ui.getSearch("create title mode url drive splash state".split(" "))+"#"+this.getHash(),d=mxResources.get("redirectToNewApp");null!=b&&(d+=" ("+b+")");var k=mxUtils.bind(this,function(){var b=mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href==e?window.location.reload(): -window.location.href=e});null==a&&this.isModified()?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1}),b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});null!=a?this.isModified()?this.ui.confirm(d,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()}),k,mxResources.get("cancel"),mxResources.get("discardChanges")):this.ui.confirm(d,k,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()})):this.ui.alert(mxResources.get("redirectToNewApp"), -k)}};DrawioFile.prototype.handleFileSuccess=function(a){this.ui.spinner.stop();this.ui.getCurrentFile()==this&&(this.isModified()?this.fileChanged():a?(this.isTrashed()?this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.allChangesSavedKey))+" ("+mxUtils.htmlEntities(mxResources.get("fileMovedToTrash"))+")"):this.addAllSavedStatus(),null!=this.sync&&(this.sync.resetUpdateStatusThread(),this.sync.remoteFileChanged&&(this.sync.remoteFileChanged=!1,this.sync.fileChangedNotify()))):this.ui.editor.setStatus(""))}; +DrawioFile.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var e=window.location.protocol+"//"+window.location.host+"/"+this.ui.getSearch("create title mode url drive splash state".split(" "))+"#"+this.getHash(),c=mxResources.get("redirectToNewApp");null!=b&&(c+=" ("+b+")");var l=mxUtils.bind(this,function(){var b=mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href==e?window.location.reload(): +window.location.href=e});null==a&&this.isModified()?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1}),b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});null!=a?this.isModified()?this.ui.confirm(c,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()}),l,mxResources.get("cancel"),mxResources.get("discardChanges")):this.ui.confirm(c,l,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()})):this.ui.alert(mxResources.get("redirectToNewApp"), +l)}};DrawioFile.prototype.handleFileSuccess=function(a){this.ui.spinner.stop();this.ui.getCurrentFile()==this&&(this.isModified()?this.fileChanged():a?(this.isTrashed()?this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.allChangesSavedKey))+" ("+mxUtils.htmlEntities(mxResources.get("fileMovedToTrash"))+")"):this.addAllSavedStatus(),null!=this.sync&&(this.sync.resetUpdateStatusThread(),this.sync.remoteFileChanged&&(this.sync.remoteFileChanged=!1,this.sync.fileChangedNotify()))):this.ui.editor.setStatus(""))}; DrawioFile.prototype.handleFileError=function(a,b){this.ui.spinner.stop();if(this.ui.getCurrentFile()==this)if(this.inConflictState)this.handleConflictError(a,b);else if(this.isModified()&&this.addUnsavedStatus(a),b)this.ui.handleError(a,null!=a?mxResources.get("errorSavingFile"):null);else if(!this.isModified()){var e=null!=a?null!=a.error?a.error.message:a.message:null;null!=e&&60<e.length&&(e=e.substring(0,60)+"...");this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+ mxUtils.htmlEntities(mxResources.get("error"))+(null!=e?" ("+mxUtils.htmlEntities(e)+")":"")+"</div>")}}; -DrawioFile.prototype.handleConflictError=function(a,b){var e=mxUtils.bind(this,function(){this.handleFileSuccess(!0)}),d=mxUtils.bind(this,function(a){this.handleFileError(a,!0)}),k=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("saving"))&&(this.ui.editor.setStatus(""),this.save(!0,e,d,null,!0,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage))}),m=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("updatingDocument"))&& -this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get("saving"))&&this.save(!0,e,d,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),d)});"none"==DrawioFile.SYNC?this.showCopyDialog(e,d,k):this.invalidChecksum?this.showRefreshDialog(e,d,this.getErrorMessage(a)):b?this.showConflictDialog(k,m):this.addConflictStatus(mxUtils.bind(this,function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument"))); -this.synchronizeFile(e,d)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){return null!=a?null!=a.error?a.error.message:a.message:null};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval}; +DrawioFile.prototype.handleConflictError=function(a,b){var e=mxUtils.bind(this,function(){this.handleFileSuccess(!0)}),c=mxUtils.bind(this,function(a){this.handleFileError(a,!0)}),l=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("saving"))&&(this.ui.editor.setStatus(""),this.save(!0,e,c,null,!0,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage))}),m=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("updatingDocument"))&& +this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get("saving"))&&this.save(!0,e,c,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),c)});"none"==DrawioFile.SYNC?this.showCopyDialog(e,c,l):this.invalidChecksum?this.showRefreshDialog(e,c,this.getErrorMessage(a)):b?this.showConflictDialog(l,m):this.addConflictStatus(mxUtils.bind(this,function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument"))); +this.synchronizeFile(e,c)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){return null!=a?null!=a.error?a.error.message:a.message:null};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval}; DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&(this.ui.scheduleSanityCheck(),this.ageStart= this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())}; -DrawioFile.prototype.fileSaved=function(a,b,e,d){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,d,a)}catch(p){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(p);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,p);else{var k= -this.getCurrentUser(),m=null!=k?k.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,p)}}catch(u){}}}; -DrawioFile.prototype.autosave=function(a,b,e,d){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<b?a:0;this.clearAutosave();var k=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==k&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}),mxUtils.bind(this, -function(a){null!=d&&d(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=e&&e(null)}),a);this.autosaveThread=k};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)}; +DrawioFile.prototype.fileSaved=function(a,b,e,c){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,c,a)}catch(p){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=c&&c(p);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,p);else{var l= +this.getCurrentUser(),m=null!=l?l.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,p)}}catch(u){}}}; +DrawioFile.prototype.autosave=function(a,b,e,c){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<b?a:0;this.clearAutosave();var l=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==l&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}),mxUtils.bind(this, +function(a){null!=c&&c(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=e&&e(null)}),a);this.autosaveThread=l};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)}; DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))}; -DrawioFile.prototype.close=function(a){this.updateFileData();this.stats.closed++;this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),d=0<e?a.substring(e):"",e=b.lastIndexOf(".");return d===(0<e?b.substring(e):"")}return a==b}; +DrawioFile.prototype.close=function(a){this.updateFileData();this.stats.closed++;this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),c=0<e?a.substring(e):"",e=b.lastIndexOf(".");return c===(0<e?b.substring(e):"")}return a==b}; DrawioFile.prototype.removeListeners=function(){null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};DrawioFile.prototype.destroy=function(){this.stats.destroyed++;this.clearAutosave();this.removeListeners();null!=this.sync&&(this.sync.destroy(),this.sync=null)};DrawioFile.prototype.commentsSupported=function(){return!1}; -DrawioFile.prototype.commentsRefreshNeeded=function(){return!0};DrawioFile.prototype.commentsSaveNeeded=function(){return!1};DrawioFile.prototype.getComments=function(a,b){a([])};DrawioFile.prototype.addComment=function(a,b,e){b(Date.now())};DrawioFile.prototype.canReplyToReplies=function(){return!0};DrawioFile.prototype.canComment=function(){return!0};DrawioFile.prototype.newComment=function(a,b){return new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};LocalFile=function(a,b,e,d){DrawioFile.call(this,a,b);this.title=e;this.mode=d?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)}; -LocalFile.prototype.saveFile=function(a,b,e,d){this.title=a;this.updateFileData();b=this.getData();var k=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),m=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,k?"image/png":"text/xml",k);else if(b.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+ -(k?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});k?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(a)}),d,this.ui.getCurrentFile()!=this?this.getData():null):m(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()}; +DrawioFile.prototype.commentsRefreshNeeded=function(){return!0};DrawioFile.prototype.commentsSaveNeeded=function(){return!1};DrawioFile.prototype.getComments=function(a,b){a([])};DrawioFile.prototype.addComment=function(a,b,e){b(Date.now())};DrawioFile.prototype.canReplyToReplies=function(){return!0};DrawioFile.prototype.canComment=function(){return!0};DrawioFile.prototype.newComment=function(a,b){return new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};LocalFile=function(a,b,e,c){DrawioFile.call(this,a,b);this.title=e;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)}; +LocalFile.prototype.saveFile=function(a,b,e,c){this.title=a;this.updateFileData();b=this.getData();var l=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),m=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,l?"image/png":"text/xml",l);else if(b.length<MAX_REQUEST_SIZE){var c=a.lastIndexOf("."),c=0<c?a.substring(c+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+c+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+ +(l?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});l?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):m(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()}; LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.installListeners()};(function(){Editor.prototype.appName="draw.io";Editor.prototype.fileExtensions=[{ext:"html",title:"filetypeHtml"},{ext:"png",title:"filetypePng"},{ext:"svg",title:"filetypeSvg"}];Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=": IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,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": @@ -2823,54 +2823,54 @@ type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",di defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter", dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1.5,isVisible:function(a){return"1"==mxUtils.getValue(a.style,"comic","0")}},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"collapsible",dispName:"Collapsible",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1},{name:"recursiveResize", dispName:"Resize Children",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable", -dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,c){return 0<a.vertices.length&&c.editorUi.editor.graph.isContainer(a.vertices[0])}}];Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; -Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.deflateRaw(a,{to:"string"})};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(a,{to:"string"})};Editor.extractGraphModel=function(a,c){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),f=[];if(null!=b&&0<b.length)for(var d=0;d<b.length;d++)if("mxgraph"==b[d].getAttribute("class")){f.push(b[d]);break}0<f.length&& -(b=f[0].getAttribute("data-mxgraph"),null!=b?(f=JSON.parse(b),null!=f&&null!=f.xml&&(f=mxUtils.parseXml(f.xml),a=f.documentElement)):(f=f[0].getElementsByTagName("div"),0<f.length&&(b=mxUtils.getTextContent(f[0]),b=Graph.decompress(b),0<b.length&&(f=mxUtils.parseXml(b),a=f.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)), -null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||c||(f=null,"diagram"==a.nodeName?f=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(f=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=f&&(a=Editor.parseDiagramNode(f)));null==a||"mxGraphModel"==a.nodeName||c&&"mxfile"==a.nodeName||(a=null);return a};Editor.parseDiagramNode=function(a){var c=mxUtils.trim(mxUtils.getTextContent(a)),b=null;0< -c.length?(a=Graph.decompress(c),null!=a&&0<a.length&&(b=mxUtils.parseXml(a).documentElement)):(a=mxUtils.getChildNodes(a),0<a.length&&(b=mxUtils.createXmlDocument(),b.appendChild(b.importNode(a[0],!0)),b=b.documentElement));return b};Editor.getDiagramNodeXml=function(a){var c=mxUtils.getTextContent(a),b=null;0<c.length?b=Graph.decompress(c):null!=a.firstChild&&(b=mxUtils.getXml(a.firstChild));return b};Editor.extractGraphModelFromPng=function(a){var c=null;try{var b=a.substring(a.indexOf(",")+1), -f=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(f,mxUtils.bind(this,function(a,b,d){a=f.substring(a+8,a+8+d);"zTXt"==b?(d=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,d)&&(a=pako.inflateRaw(a.substring(d+2),{to:"string"}).replace(/\+/g," "),null!=a&&0<a.length&&(c=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&("mxGraphModel"==a[0]||"mxfile"==a[0])&&(c=a[1]));if(null!=c||"IDAT"==b)return!0}))}catch(N){}null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)); -null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));return c};Editor.extractParserError=function(a,c){var b=null,f=null!=a?a.getElementsByTagName("parsererror"):null;null!=f&&0<f.length&&(b=c||mxResources.get("invalidChars"),f=f[0].getElementsByTagName("div"),0<f.length&&(b=mxUtils.getTextContent(f[0])));return b};Editor.configure=function(a,c){if(null!=a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors= +dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,d){return 0<a.vertices.length&&d.editorUi.editor.graph.isContainer(a.vertices[0])}}];Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; +Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.deflateRaw(a,{to:"string"})};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(a,{to:"string"})};Editor.extractGraphModel=function(a,d){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),c=[];if(null!=b&&0<b.length)for(var f=0;f<b.length;f++)if("mxgraph"==b[f].getAttribute("class")){c.push(b[f]);break}0<c.length&& +(b=c[0].getAttribute("data-mxgraph"),null!=b?(c=JSON.parse(b),null!=c&&null!=c.xml&&(c=mxUtils.parseXml(c.xml),a=c.documentElement)):(c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0]),b=Graph.decompress(b),0<b.length&&(c=mxUtils.parseXml(b),a=c.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)), +null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||d||(c=null,"diagram"==a.nodeName?c=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(c=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=c&&(a=Editor.parseDiagramNode(c)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};Editor.parseDiagramNode=function(a){var d=mxUtils.trim(mxUtils.getTextContent(a)),b=null;0< +d.length?(a=Graph.decompress(d),null!=a&&0<a.length&&(b=mxUtils.parseXml(a).documentElement)):(a=mxUtils.getChildNodes(a),0<a.length&&(b=mxUtils.createXmlDocument(),b.appendChild(b.importNode(a[0],!0)),b=b.documentElement));return b};Editor.getDiagramNodeXml=function(a){var d=mxUtils.getTextContent(a),b=null;0<d.length?b=Graph.decompress(d):null!=a.firstChild&&(b=mxUtils.getXml(a.firstChild));return b};Editor.extractGraphModelFromPng=function(a){var d=null;try{var b=a.substring(a.indexOf(",")+1), +c=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,b,f){a=c.substring(a+8,a+8+f);"zTXt"==b?(f=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,f)&&(a=pako.inflateRaw(a.substring(f+2),{to:"string"}).replace(/\+/g," "),null!=a&&0<a.length&&(d=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&("mxGraphModel"==a[0]||"mxfile"==a[0])&&(d=a[1]));if(null!=d||"IDAT"==b)return!0}))}catch(N){}null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d)); +null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d));return d};Editor.extractParserError=function(a,d){var b=null,c=null!=a?a.getElementsByTagName("parsererror"):null;null!=c&&0<c.length&&(b=d||mxResources.get("invalidChars"),c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0])));return b};Editor.configure=function(a,d){if(null!=a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors= a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength=a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;DrawioFile.prototype.autosaveDelay=a.autosaveDelay||DrawioFile.prototype.autosaveDelay;null!=a.templateFile&&(EditorUi.templateFile=a.templateFile);null!=a.globalVars&& (Editor.globalVars=a.globalVars);null!=a.compressXml&&(Editor.compressXml=a.compressXml);a.customFonts&&(Menus.prototype.defaultFonts=a.customFonts.concat(Menus.prototype.defaultFonts));a.customPresetColors&&(ColorDialog.prototype.presetColors=a.customPresetColors.concat(ColorDialog.prototype.presetColors));null!=a.customColorSchemes&&(StyleFormatPanel.prototype.defaultColorSchemes=a.customColorSchemes.concat(StyleFormatPanel.prototype.defaultColorSchemes));if(null!=a.css){var b=document.createElement("style"); -b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var f=document.getElementsByTagName("script")[0];f.parentNode.insertBefore(b,f)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=a.enabledLibraries&&(Sidebar.prototype.enabledLibraries=a.enabledLibraries);null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&& +b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=a.enabledLibraries&&(Sidebar.prototype.enabledLibraries=a.enabledLibraries);null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&& (Editor.enableCustomLibraries=a.enableCustomLibraries);null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&& -(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&&(b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),f=document.getElementsByTagName("script")[0],f.parentNode.insertBefore(b,f),Editor.prototype.fontCss=a.fontCss);null!=a.autosaveDelay&&(b=parseInt(a.autosaveDelay),!isNaN(b)&&0<b?DrawioFile.prototype.autosaveDelay=b:EditorUi.debug("Invalid autosaveDelay: "+a.autosaveDelay));if(null!=a.plugins&&!c)for(App.initPluginCallback(), -b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.GOOGLE_FONTS="https://fonts.googleapis.com/css?family=";Editor.GUID_ALPHABET="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";Editor.GUID_LENGTH=20;Editor.guid=function(a){a=null!=a?a:Editor.GUID_LENGTH;for(var c=[],b=0;b<a;b++)c.push(Editor.GUID_ALPHABET.charAt(Math.floor(Math.random()*Editor.GUID_ALPHABET.length)));return c.join("")};Editor.prototype.timeout=25E3;Editor.prototype.useForeignObjectForMath=!1;Editor.prototype.editButtonLink= -null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(c){c=null!=c&&"mxlibrary"!=c.nodeName?this.extractGraphModel(c):null;if(null!=c){var b=c.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],f=b.getElementsByTagName("div");null!=f&&0<f.length&&(b=f[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==c.nodeName){b=c.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!= -b&&""!=b)b!=this.graph.currentStyle&&(f=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(),null!=f&&(d=new mxCodec(f.ownerDocument),d.decode(f,this.graph.getStylesheet())));else if(f=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=f){var d=new mxCodec(f.ownerDocument);d.decode(f,this.graph.getStylesheet())}this.graph.currentStyle=b;this.graph.mathEnabled="1"==urlParams.math|| -"1"==c.getAttribute("math");b=c.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==c.getAttribute("shadow"),!1);if(b= -c.getAttribute("extFonts"))try{for(b=b.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}}),f=0;f<b.length;f++)this.graph.addExtFont(b[f].name,b[f].url)}catch(N){console.log("ExtFonts format error: "+N.message)}}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&& -"default-style2"!=this.graph.currentStyle&&c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");if(null!=this.graph.extFonts&&0<this.graph.extFonts.length){var f=this.graph.extFonts.map(function(a){return a.name+"^"+a.url});c.setAttribute("extFonts",f.join("|"))}return c};Editor.prototype.isDataSvg= -function(a){try{var c=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=c&&(null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)){var b=mxUtils.parseXml(c).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(I){}return!1};Editor.prototype.extractGraphModel=function(a,c){return Editor.extractGraphModel.apply(this,arguments)};var e=Editor.prototype.resetGraph; -Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();e.apply(this,arguments)};var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){d.apply(this, -arguments);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform()};Editor.initMath=function(a,c){a=null!=a?a:DRAW_MATH_URL+"/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset", -MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(c||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a= -0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init=function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,c){null!=this.graph.container&&this.graph.mathEnabled&&!this.graph.blockMathRender&& -Editor.MathJaxRender(this.graph.container)}))};var f=document.getElementsByTagName("script");if(null!=f&&0<f.length){var d=document.createElement("script");d.type="text/javascript";d.src=a;f[0].parentNode.appendChild(d)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var c= -[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,f,d){void 0!==b?c.push(b.replace(/\\'/g,"'")):void 0!==f?c.push(f.replace(/\\"/g,'"')):void 0!==d&&c.push(d);return""});/,\s*$/.test(a)&&c.push("");return c};Editor.prototype.isCorsEnabledForUrl=function(a){if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)return!0;null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors))); -return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.blob.core.windows.net\//.test(a)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};Editor.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var c=a.convert, -b=this;a.convert=function(f){if(null!=f){var d="http://"==f.substring(0,7)||"https://"==f.substring(0,8);d&&!navigator.onLine?f=EditorUi.prototype.svgBrokenImage.src:!d||f.substring(0,a.baseUrl.length)==a.baseUrl||EditorUi.prototype.crossOriginImages&&b.isCorsEnabledForUrl(f)?"chrome-extension://"==f.substring(0,19)||mxClient.IS_CHROMEAPP||(f=c.apply(this,arguments)):f=PROXY_URL+"?url="+encodeURIComponent(f)}return f};return a};Editor.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+ -btoa(unescape(encodeURIComponent(a)))};Editor.prototype.convertImageToDataUri=function(a,c){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){c(this.createSvgDataUri(a.getText()))}),function(){c(EditorUi.prototype.svgBrokenImage.src)});else{var b=new Image;EditorUi.prototype.crossOriginImages&&(b.crossOrigin="anonymous");b.onload=function(){var a=document.createElement("canvas"),f=a.getContext("2d");a.height=b.height;a.width=b.width;f.drawImage(b,0,0);try{c(a.toDataURL())}catch(D){c(EditorUi.prototype.svgBrokenImage.src)}}; -b.onerror=function(){c(EditorUi.prototype.svgBrokenImage.src)};b.src=a}};Editor.prototype.convertImages=function(a,c,b,f){null==f&&(f=this.createImageUrlConverter());var d=0,e=b||{};b=mxUtils.bind(this,function(b,g){for(var l=a.getElementsByTagName(b),n=0;n<l.length;n++)mxUtils.bind(this,function(b){var l=f.convert(b.getAttribute(g));if(null!=l&&"data:"!=l.substring(0,5)){var n=e[l];null==n?(d++,this.convertImageToDataUri(l,function(f){null!=f&&(e[l]=f,b.setAttribute(g,f));d--;0==d&&c(a)})):b.setAttribute(g, -n)}else null!=l&&b.setAttribute(g,l)})(l[n])});b("image","xlink:href");b("img","src");0==d&&c(a)};Editor.prototype.base64Encode=function(a){for(var c="",b=0,f=a.length,d,e,g;b<f;){d=a.charCodeAt(b++)&255;if(b==f){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);c+="==";break}e=a.charCodeAt(b++);if(b==f){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>> -2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(e&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2);c+="=";break}g=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(e&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2|(g&192)>>6); -c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return c};Editor.prototype.loadUrl=function(a,c,b,f,d,e){try{var g=f||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);d=null!=d?d:!0;var l=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=c){var f=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a= -mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var f=Array(a.length),d=0;d<a.length;d++)f[d]=String.fromCharCode(a[d]);f=f.join("")}e=null!=e?e:"data:image/png;base64,";f=e+this.base64Encode(f)}c(f)}}else null!=b&&b({code:App.ERROR_UNKNOWN},a)}),function(){null!=b&&b({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){d&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:l})})});l()}catch(R){null!=b&&b(R)}};Editor.prototype.loadFonts=function(a){if(null!=this.fontCss&&null==this.resolvedFontCss){var c= -function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.fontCss.split("url("),f=0,d={},e=mxUtils.bind(this,function(){if(0==f){for(var e=[b[0]],g=1;g<b.length;g++){var l=b[g].indexOf(")");e.push('url("');e.push(d[c(b[g].substring(0,l))]);e.push('"'+b[g].substring(l))}this.resolvedFontCss=e.join("");a()}});if(0<b.length)for(var g=1;g<b.length;g++){var l=b[g].indexOf(")"),n=null,q=b[g].indexOf("format(",l);0<q&&(n=c(b[g].substring(q+7,b[g].indexOf(")", -q))));mxUtils.bind(this,function(a){if(null==d[a]){d[a]=a;f++;var c="application/x-font-ttf";if("svg"==n||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(a))c="application/x-font-opentype";else if("woff"==n||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==n||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==n||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==n||/(\.sfnt)($|\?)/i.test(a))c= -"application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(c){d[a]=c;f--;e()}),mxUtils.bind(this,function(a){f--;e()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(b[g].substring(0,l)),n)}}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var c=document.getElementsByTagName("style"),b=0;b<c.length;b++)0<mxUtils.getTextContent(c[b]).indexOf("MathJax")&& -a[0].appendChild(c[b].cloneNode(!0))};Editor.prototype.addFontCss=function(a){var c=a.getElementsByTagName("defs");null!=this.fontCss&&null!=c&&0<c.length&&(a=a.ownerDocument,a=null!=a.createElementNS?a.createElementNS(mxConstants.NS_SVG,"style"):a.createElement("style"),a.setAttribute("type","text/css"),mxUtils.setTextContent(a,this.fontCss),c[0][0].appendChild(a))};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||(null==this.graph.extFonts||0==this.graph.extFonts.length)&& -this.useCanvasForExport};Editor.prototype.exportToCanvas=function(a,c,b,f,d,e,g,l,n,q,t,k,A,x){e=null!=e?e:!0;k=null!=k?k:this.graph;A=null!=A?A:0;var v=n?null:k.background;v==mxConstants.NONE&&(v=null);null==v&&(v=f);null==v&&0==n&&(v=this.graph.defaultPageBackgroundColor);this.convertImages(k.getSvg(v,null,null,x,null,null!=g?g:!0,null,null,null,q),mxUtils.bind(this,function(b){var f=new Image;f.onload=mxUtils.bind(this,function(){try{var g=document.createElement("canvas"),n=parseInt(b.getAttribute("width")), -q=parseInt(b.getAttribute("height"));l=null!=l?l:1;null!=c&&(l=e?Math.min(1,Math.min(3*c/(4*q),c/n)):c/n);n=Math.ceil(l*n)+2*A;q=Math.ceil(l*q)+2*A;g.setAttribute("width",n);g.setAttribute("height",q);var t=g.getContext("2d");null!=v&&(t.beginPath(),t.rect(0,0,n,q),t.fillStyle=v,t.fill());t.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(f,A/l,A/l);a(g)},0):(t.drawImage(f,A/l,A/l),a(g))}catch(aa){null!=d&&d(aa)}});f.onerror=function(a){null!=d&&d(a)};try{q&&this.graph.addSvgShadow(b); -var g=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;b.getElementsByTagName("defs")[0].appendChild(a)}k.mathEnabled&&this.addMathCss(b);f.src=this.createSvgDataUri(mxUtils.getXml(b))});this.loadFonts(g)}catch(U){null!=d&&d(U)}}),b,t)};Editor.prototype.writeGraphModelToPng=function(a,c,b,f,d){function e(a,c){var b=n;n+=c;return a.substring(b,n)}function g(a){a=e(a,4);return a.charCodeAt(3)+ -(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function l(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(e(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(e(a,4),"IHDR"!=e(a,4))null!=d&&d();else{e(a,17);d=a.substring(0,n);do{var q=g(a);if("IDAT"==e(a,4)){d=a.substring(0,n-8);b=b+String.fromCharCode(0)+("zTXt"==c?String.fromCharCode(0): -"")+f;f=4294967295;f=EditorUi.prototype.updateCRC(f,c,0,4);f=EditorUi.prototype.updateCRC(f,b,0,b.length);d+=l(b.length)+c+b+l(f^4294967295);d+=a.substring(n-8,a.length);break}d+=a.substring(n-8,n-4+q);e(a,q);e(a,4)}while(q);return"data:image/png;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,c){k.apply(this, -arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,c){var b=null;null!=a.editor.graph.getModel().getParent(c)?b=c.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var p=Format.prototype.init; +(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&&(b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);null!=a.autosaveDelay&&(b=parseInt(a.autosaveDelay),!isNaN(b)&&0<b?DrawioFile.prototype.autosaveDelay=b:EditorUi.debug("Invalid autosaveDelay: "+a.autosaveDelay));if(null!=a.plugins&&!d)for(App.initPluginCallback(), +b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.GOOGLE_FONTS="https://fonts.googleapis.com/css?family=";Editor.GUID_ALPHABET="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";Editor.GUID_LENGTH=20;Editor.guid=function(a){a=null!=a?a:Editor.GUID_LENGTH;for(var d=[],b=0;b<a;b++)d.push(Editor.GUID_ALPHABET.charAt(Math.floor(Math.random()*Editor.GUID_ALPHABET.length)));return d.join("")};Editor.prototype.timeout=25E3;Editor.prototype.useForeignObjectForMath=!1;Editor.prototype.editButtonLink= +null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(d){d=null!=d&&"mxlibrary"!=d.nodeName?this.extractGraphModel(d):null;if(null!=d){var b=d.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],c=b.getElementsByTagName("div");null!=c&&0<c.length&&(b=c[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==d.nodeName){b=d.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!= +b&&""!=b)b!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(),null!=c&&(f=new mxCodec(c.ownerDocument),f.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var f=new mxCodec(c.ownerDocument);f.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=b;this.graph.mathEnabled="1"==urlParams.math|| +"1"==d.getAttribute("math");b=d.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1);if(b= +d.getAttribute("extFonts"))try{for(b=b.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}}),c=0;c<b.length;c++)this.graph.addExtFont(b[c].name,b[c].url)}catch(N){console.log("ExtFonts format error: "+N.message)}}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var d=b.apply(this,arguments);null!=this.graph.currentStyle&& +"default-style2"!=this.graph.currentStyle&&d.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&d.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));d.setAttribute("math",this.graph.mathEnabled?"1":"0");d.setAttribute("shadow",this.graph.shadowVisible?"1":"0");if(null!=this.graph.extFonts&&0<this.graph.extFonts.length){var c=this.graph.extFonts.map(function(a){return a.name+"^"+a.url});d.setAttribute("extFonts",c.join("|"))}return d};Editor.prototype.isDataSvg= +function(a){try{var d=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=d&&(null!=d&&"<"!=d.charAt(0)&&"%"!=d.charAt(0)&&(d=unescape(window.atob?atob(d):Base64.decode(cont,d))),null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d)),null!=d&&0<d.length)){var b=mxUtils.parseXml(d).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(I){}return!1};Editor.prototype.extractGraphModel=function(a,d){return Editor.extractGraphModel.apply(this,arguments)};var e=Editor.prototype.resetGraph; +Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();e.apply(this,arguments)};var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this, +arguments);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform()};Editor.initMath=function(a,d){a=null!=a?a:DRAW_MATH_URL+"/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset", +MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(d||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a= +0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init=function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,d){null!=this.graph.container&&this.graph.mathEnabled&&!this.graph.blockMathRender&& +Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var f=document.createElement("script");f.type="text/javascript";f.src=a;c[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var d= +[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,c,f){void 0!==b?d.push(b.replace(/\\'/g,"'")):void 0!==c?d.push(c.replace(/\\"/g,'"')):void 0!==f&&d.push(f);return""});/,\s*$/.test(a)&&d.push("");return d};Editor.prototype.isCorsEnabledForUrl=function(a){if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)return!0;null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors))); +return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.blob.core.windows.net\//.test(a)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};Editor.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var d=a.convert, +b=this;a.convert=function(c){if(null!=c){var f="http://"==c.substring(0,7)||"https://"==c.substring(0,8);f&&!navigator.onLine?c=EditorUi.prototype.svgBrokenImage.src:!f||c.substring(0,a.baseUrl.length)==a.baseUrl||EditorUi.prototype.crossOriginImages&&b.isCorsEnabledForUrl(c)?"chrome-extension://"==c.substring(0,19)||mxClient.IS_CHROMEAPP||(c=d.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};Editor.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+ +btoa(unescape(encodeURIComponent(a)))};Editor.prototype.convertImageToDataUri=function(a,d){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){d(this.createSvgDataUri(a.getText()))}),function(){d(EditorUi.prototype.svgBrokenImage.src)});else{var b=new Image;EditorUi.prototype.crossOriginImages&&(b.crossOrigin="anonymous");b.onload=function(){var a=document.createElement("canvas"),c=a.getContext("2d");a.height=b.height;a.width=b.width;c.drawImage(b,0,0);try{d(a.toDataURL())}catch(F){d(EditorUi.prototype.svgBrokenImage.src)}}; +b.onerror=function(){d(EditorUi.prototype.svgBrokenImage.src)};b.src=a}};Editor.prototype.convertImages=function(a,d,b,c){null==c&&(c=this.createImageUrlConverter());var f=0,k=b||{};b=mxUtils.bind(this,function(b,g){for(var e=a.getElementsByTagName(b),n=0;n<e.length;n++)mxUtils.bind(this,function(b){var e=c.convert(b.getAttribute(g));if(null!=e&&"data:"!=e.substring(0,5)){var n=k[e];null==n?(f++,this.convertImageToDataUri(e,function(c){null!=c&&(k[e]=c,b.setAttribute(g,c));f--;0==f&&d(a)})):b.setAttribute(g, +n)}else null!=e&&b.setAttribute(g,e)})(e[n])});b("image","xlink:href");b("img","src");0==f&&d(a)};Editor.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,f,k,g;b<c;){f=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);d+="==";break}k=a.charCodeAt(b++);if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>> +2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(k&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);d+="=";break}g=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(k&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(g&192)>>6); +d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return d};Editor.prototype.loadUrl=function(a,d,b,c,f,k){try{var g=c||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);f=null!=f?f:!0;var e=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=d){var c=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a= +mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var c=Array(a.length),f=0;f<a.length;f++)c[f]=String.fromCharCode(a[f]);c=c.join("")}k=null!=k?k:"data:image/png;base64,";c=k+this.base64Encode(c)}d(c)}}else null!=b&&b({code:App.ERROR_UNKNOWN},a)}),function(){null!=b&&b({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){f&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:e})})});e()}catch(R){null!=b&&b(R)}};Editor.prototype.loadFonts=function(a){if(null!=this.fontCss&&null==this.resolvedFontCss){var d= +function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.fontCss.split("url("),c=0,f={},k=mxUtils.bind(this,function(){if(0==c){for(var k=[b[0]],g=1;g<b.length;g++){var e=b[g].indexOf(")");k.push('url("');k.push(f[d(b[g].substring(0,e))]);k.push('"'+b[g].substring(e))}this.resolvedFontCss=k.join("");a()}});if(0<b.length)for(var g=1;g<b.length;g++){var e=b[g].indexOf(")"),n=null,q=b[g].indexOf("format(",e);0<q&&(n=d(b[g].substring(q+7,b[g].indexOf(")", +q))));mxUtils.bind(this,function(a){if(null==f[a]){f[a]=a;c++;var d="application/x-font-ttf";if("svg"==n||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(a))d="application/x-font-opentype";else if("woff"==n||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==n||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==n||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==n||/(\.sfnt)($|\?)/i.test(a))d= +"application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(d){f[a]=d;c--;k()}),mxUtils.bind(this,function(a){c--;k()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[g].substring(0,e)),n)}}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var d=document.getElementsByTagName("style"),b=0;b<d.length;b++)0<mxUtils.getTextContent(d[b]).indexOf("MathJax")&& +a[0].appendChild(d[b].cloneNode(!0))};Editor.prototype.addFontCss=function(a){var d=a.getElementsByTagName("defs");null!=this.fontCss&&null!=d&&0<d.length&&(a=a.ownerDocument,a=null!=a.createElementNS?a.createElementNS(mxConstants.NS_SVG,"style"):a.createElement("style"),a.setAttribute("type","text/css"),mxUtils.setTextContent(a,this.fontCss),d[0][0].appendChild(a))};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||(null==this.graph.extFonts||0==this.graph.extFonts.length)&& +this.useCanvasForExport};Editor.prototype.exportToCanvas=function(a,d,b,c,f,k,g,e,n,q,t,l,A,x){k=null!=k?k:!0;l=null!=l?l:this.graph;A=null!=A?A:0;var v=n?null:l.background;v==mxConstants.NONE&&(v=null);null==v&&(v=c);null==v&&0==n&&(v=this.graph.defaultPageBackgroundColor);this.convertImages(l.getSvg(v,null,null,x,null,null!=g?g:!0,null,null,null,q),mxUtils.bind(this,function(b){var c=new Image;c.onload=mxUtils.bind(this,function(){try{var g=document.createElement("canvas"),n=parseInt(b.getAttribute("width")), +q=parseInt(b.getAttribute("height"));e=null!=e?e:1;null!=d&&(e=k?Math.min(1,Math.min(3*d/(4*q),d/n)):d/n);n=Math.ceil(e*n)+2*A;q=Math.ceil(e*q)+2*A;g.setAttribute("width",n);g.setAttribute("height",q);var t=g.getContext("2d");null!=v&&(t.beginPath(),t.rect(0,0,n,q),t.fillStyle=v,t.fill());t.scale(e,e);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(c,A/e,A/e);a(g)},0):(t.drawImage(c,A/e,A/e),a(g))}catch(Y){null!=f&&f(Y)}});c.onerror=function(a){null!=f&&f(a)};try{q&&this.graph.addSvgShadow(b); +var g=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;b.getElementsByTagName("defs")[0].appendChild(a)}l.mathEnabled&&this.addMathCss(b);c.src=this.createSvgDataUri(mxUtils.getXml(b))});this.loadFonts(g)}catch(U){null!=f&&f(U)}}),b,t)};Editor.prototype.writeGraphModelToPng=function(a,d,b,c,f){function k(a,d){var b=n;n+=d;return a.substring(b,n)}function g(a){a=k(a,4);return a.charCodeAt(3)+ +(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function e(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=f&&f();else if(k(a,4),"IHDR"!=k(a,4))null!=f&&f();else{k(a,17);f=a.substring(0,n);do{var q=g(a);if("IDAT"==k(a,4)){f=a.substring(0,n-8);b=b+String.fromCharCode(0)+("zTXt"==d?String.fromCharCode(0): +"")+c;c=4294967295;c=EditorUi.prototype.updateCRC(c,d,0,4);c=EditorUi.prototype.updateCRC(c,b,0,b.length);f+=e(b.length)+d+b+e(c^4294967295);f+=a.substring(n-8,a.length);break}f+=a.substring(n-8,n-4+q);k(a,q);k(a,4)}while(q);return"data:image/png;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";var l=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,d){l.apply(this, +arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,d){var b=null;null!=a.editor.graph.getModel().getParent(d)?b=d.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var p=Format.prototype.init; Format.prototype.init=function(){p.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var u=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?u.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible= -function(a){return!1};var y=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=y.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var c=this.editorUi,b=c.editor.graph,f=this.createOption(mxResources.get("shadow"),function(){return b.shadowVisible},function(a){var f=new ChangePageSetup(c);f.ignoreColor=!0;f.ignoreImage=!0;f.shadowVisible=a;b.model.execute(f)},{install:function(a){this.listener=function(){a(b.shadowVisible)}; -c.addListener("shadowVisibleChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});Editor.shadowOptionEnabled||(f.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(f,60));a.appendChild(f)}return a};var B=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(a){a=B.apply(this,arguments);var c=this.editorUi,b=c.editor.graph;if(b.isEnabled()){var f=c.getCurrentFile();if(null!=f&&f.isAutosaveOptional()){var d= -this.createOption(mxResources.get("autosave"),function(){return c.editor.autosave},function(a){c.editor.setAutosave(a);c.editor.autosave&&f.isModified()&&f.fileChanged()},{install:function(a){this.listener=function(){a(c.editor.autosave)};c.editor.addListener("autosaveChanged",this.listener)},destroy:function(){c.editor.removeListener(this.listener)}});a.appendChild(d)}}if(this.isMathOptionVisible()&&b.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"), -function(){return b.mathEnabled},function(a){c.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};c.addListener("mathEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});d.style.paddingTop="5px";a.appendChild(d);var e=c.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");e.style.position="relative";e.style.marginLeft="6px";e.style.top="2px";d.appendChild(e)}return a};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties= +function(a){return!1};var z=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=z.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var d=this.editorUi,b=d.editor.graph,c=this.createOption(mxResources.get("shadow"),function(){return b.shadowVisible},function(a){var c=new ChangePageSetup(d);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=a;b.model.execute(c)},{install:function(a){this.listener=function(){a(b.shadowVisible)}; +d.addListener("shadowVisibleChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var B=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(a){a=B.apply(this,arguments);var d=this.editorUi,b=d.editor.graph;if(b.isEnabled()){var c=d.getCurrentFile();if(null!=c&&c.isAutosaveOptional()){var f= +this.createOption(mxResources.get("autosave"),function(){return d.editor.autosave},function(a){d.editor.setAutosave(a);d.editor.autosave&&c.isModified()&&c.fileChanged()},{install:function(a){this.listener=function(){a(d.editor.autosave)};d.editor.addListener("autosaveChanged",this.listener)},destroy:function(){d.editor.removeListener(this.listener)}});a.appendChild(f)}}if(this.isMathOptionVisible()&&b.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"), +function(){return b.mathEnabled},function(a){d.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};d.addListener("mathEnabledChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});f.style.paddingTop="5px";a.appendChild(f);var k=d.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");k.style.position="relative";k.style.marginLeft="6px";k.style.top="2px";f.appendChild(k)}return a};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties= [{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.link.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.flexArrow.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:10},{name:"startWidth",dispName:"Start Width",type:"float",min:0,defVal:20},{name:"endWidth", dispName:"End Width",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.process.prototype.customProperties=[{name:"size",dispName:"Indent",type:"float",min:0,max:.5,defVal:.1}];mxCellRenderer.defaultShapes.rhombus.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,max:50,defVal:mxConstants.LINE_ARCSIZE},{name:"double",dispName:"Double",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.partialRectangle.prototype.customProperties=[{name:"top",dispName:"Top Line", type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left Line",type:"bool",defVal:!0},{name:"right",dispName:"Right Line",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.parallelogram.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"size",dispName:"Slope Angle",type:"float",min:0,max:1,defVal:.2}];mxCellRenderer.defaultShapes.hexagon.prototype.customProperties=[{name:"arcSize", @@ -2891,604 +2891,605 @@ type:"float",min:0,defVal:20},{name:"dy",dispName:"Width2",type:"float",min:0,de {fill:"#008a00",stroke:"#005700",font:"#ffffff"},{fill:"#1ba1e2",stroke:"#006EAF",font:"#ffffff"},{fill:"#0050ef",stroke:"#001DBC",font:"#ffffff"},{fill:"#6a00ff",stroke:"#3700CC",font:"#ffffff"},{fill:"#aa00ff",stroke:"#7700CC",font:"#ffffff"},{fill:"#d80073",stroke:"#A50040",font:"#ffffff"},{fill:"#a20025",stroke:"#6F0000",font:"#ffffff"}],[{fill:"#e51400",stroke:"#B20000",font:"#ffffff"},{fill:"#fa6800",stroke:"#C73500",font:"#ffffff"},{fill:"#f0a30a",stroke:"#BD7000",font:"#ffffff"},{fill:"#e3c800", stroke:"#B09500",font:"#ffffff"},{fill:"#6d8764",stroke:"#3A5431",font:"#ffffff"},{fill:"#647687",stroke:"#314354",font:"#ffffff"},{fill:"#76608a",stroke:"#432D57",font:"#ffffff"},{fill:"#a0522d",stroke:"#6D1F00",font:"#ffffff"}],[{fill:"",stroke:""},{fill:mxConstants.NONE,stroke:""},{fill:"#fad7ac",stroke:"#b46504"},{fill:"#fad9d5",stroke:"#ae4132"},{fill:"#b0e3e6",stroke:"#0e8088"},{fill:"#b1ddf0",stroke:"#10739e"},{fill:"#d0cee2",stroke:"#56517e"},{fill:"#bac8d3",stroke:"#23445d"}],[{fill:"",stroke:""}, {fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill:"",stroke:""},{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff", -stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes=null;StyleFormatPanel.prototype.findCommonProperties=function(a,c,b){if(null!=c){var f=function(a){if(null!=a)if(b)for(var f=0;f<a.length;f++)c[a[f].name]=a[f];else for(var d in c){for(var e=!1,f=0;f<a.length;f++)if(a[f].name==d&&a[f].type==c[d].type){e=!0;break}e||delete c[d]}},d=this.editorUi.editor.graph.view.getState(a);null!=d&& -null!=d.shape&&(d.shape.commonCustomPropAdded||(d.shape.commonCustomPropAdded=!0,d.shape.customProperties=d.shape.customProperties||[],d.cell.vertex?Array.prototype.push.apply(d.shape.customProperties,Editor.commonVertexProperties):Array.prototype.push.apply(d.shape.customProperties,Editor.commonEdgeProperties)),f(d.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{f(JSON.parse(a))}catch(D){}}};var c=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a= -this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));c.apply(this,arguments);if(Editor.enableCustomProperties){for(var b={},f=a.vertices,d=a.edges,e=0;e<f.length;e++)this.findCommonProperties(f[e],b,0==e);for(e=0;e<d.length;e++)this.findCommonProperties(d[e],b,0==f.length&&0==e);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(b).length&&this.container.appendChild(this.addProperties(this.createPanel(), -b,a))}};var f=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));c.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");c.style.marginBottom="2px";c.style.width="100px";c.style.marginRight="2px";a.appendChild(c);c=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this, -function(a){this.editorUi.actions.get("pasteStyle").funct()}));c.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");c.style.marginBottom="2px";c.style.width="100px";a.appendChild(c);mxUtils.br(a);return f.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=function(a,c,b){function f(a,c,b,f){k.getModel().beginUpdate();try{var d=[],e=[];if(null!=b.index){for(var g=[],l=b.parentRow.nextSibling;l&& -l.getAttribute("data-pName")==a;)g.push(l.getAttribute("data-pValue")),l=l.nextSibling;b.index<g.length?null!=f?g.splice(f,1):g[b.index]=c:g.push(c);null!=b.size&&g.length>b.size&&(g=g.slice(0,b.size));c=g.join(",");null!=b.countProperty&&(k.setCellStyles(b.countProperty,g.length,k.getSelectionCells()),d.push(b.countProperty),e.push(g.length))}k.setCellStyles(a,c,k.getSelectionCells());d.push(a);e.push(c);if(null!=b.dependentProps)for(a=0;a<b.dependentProps.length;a++){var n=b.dependentPropsDefVal[a], -q=b.dependentPropsVals[a];if(q.length>c)q=q.slice(0,c);else for(var A=q.length;A<c;A++)q.push(n);q=q.join(",");k.setCellStyles(b.dependentProps[a],q,k.getSelectionCells());d.push(b.dependentProps[a]);e.push(q)}if("function"==typeof b.onChange)b.onChange(k,c);t.editorUi.fireEvent(new mxEventObject("styleChanged","keys",d,"values",e,"cells",k.getSelectionCells()))}finally{k.getModel().endUpdate()}}function d(c,b,f){var d=mxUtils.getOffset(a,!0),e=mxUtils.getOffset(c,!0);b.style.position="absolute"; -b.style.left=e.x-d.x+"px";b.style.top=e.y-d.y+"px";b.style.width=c.offsetWidth+"px";b.style.height=c.offsetHeight-(f?4:0)+"px";b.style.zIndex=5}function e(a,c,b){var d=document.createElement("div");d.style.width="32px";d.style.height="4px";d.style.margin="2px";d.style.border="1px solid black";d.style.background=c&&"none"!=c?c:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(t,function(e){this.editorUi.pickColor(c,function(c){d.style.background="none"==c?"url('"+Dialog.prototype.noColorImage+ -"')":c;f(a,c,b)});mxEvent.consume(e)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(d);return btn}function g(a,c,b,d,e,g,l){null!=c&&(c=c.split(","),A.push({name:a,values:c,type:b,defVal:d,countProperty:e,parentRow:g,isDeletable:!0,flipBkg:l}));btn=mxUtils.button("+",mxUtils.bind(t,function(c){for(var n=g,t=0;null!=n.nextSibling;)if(n.nextSibling.getAttribute("data-pName")==a)n=n.nextSibling,t++;else break;var k={type:b,parentRow:g,index:t,isDeletable:!0, -defVal:d,countProperty:e},t=q(a,"",k,0==t%2,l);f(a,d,k);n.parentNode.insertBefore(t,n.nextSibling);mxEvent.consume(c)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function l(a,c,b,f,d,e,g){if(0<d){var l=Array(d);c=null!=c?c.split(","):[];for(var n=0;n<d;n++)l[n]=null!=c[n]?c[n]:null!=f?f:"";A.push({name:a,values:l,type:b,defVal:f,parentRow:e,flipBkg:g,size:d})}return document.createElement("div")}function n(a,c,b){var d=document.createElement("input");d.type= -"checkbox";d.checked="1"==c;mxEvent.addListener(d,"change",function(){f(a,d.checked?"1":"0",b)});return d}function q(c,b,q,k,A){var x=q.dispName,v=q.type,z=document.createElement("tr");z.className="gePropRow"+(A?"Dark":"")+(k?"Alt":"")+" gePropNonHeaderRow";z.setAttribute("data-pName",c);z.setAttribute("data-pValue",b);k=!1;null!=q.index&&(z.setAttribute("data-index",q.index),x=(null!=x?x:"")+"["+q.index+"]",k=!0);var m=document.createElement("td");m.className="gePropRowCell";m.innerHTML=mxUtils.htmlEntities(mxResources.get(x, -null,x));k&&(m.style.textAlign="right");z.appendChild(m);m=document.createElement("td");m.className="gePropRowCell";if("color"==v)m.appendChild(e(c,b,q));else if("bool"==v||"boolean"==v)m.appendChild(n(c,b,q));else if("enum"==v){var G=q.enumList;for(A=0;A<G.length;A++)if(x=G[A],x.val==b){m.innerHTML=mxUtils.htmlEntities(mxResources.get(x.dispName,null,x.dispName));break}mxEvent.addListener(m,"click",mxUtils.bind(t,function(){var e=document.createElement("select");d(m,e);for(var g=0;g<G.length;g++){var l= -G[g],n=document.createElement("option");n.value=mxUtils.htmlEntities(l.val);n.innerHTML=mxUtils.htmlEntities(mxResources.get(l.dispName,null,l.dispName));e.appendChild(n)}e.value=b;a.appendChild(e);mxEvent.addListener(e,"change",function(){var a=mxUtils.htmlEntities(e.value);f(c,a,q)});e.focus();mxEvent.addListener(e,"blur",function(){a.removeChild(e)})}))}else"dynamicArr"==v?m.appendChild(g(c,b,q.subType,q.subDefVal,q.countProperty,z,A)):"staticArr"==v?m.appendChild(l(c,b,q.subType,q.subDefVal,q.size, -z,A)):(m.innerHTML=b,mxEvent.addListener(m,"click",mxUtils.bind(t,function(){function e(){var a=g.value,a=0==a.length&&"string"!=v?0:a;q.allowAuto&&("auto"==a.trim().toLowerCase()?(a="auto",v="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=q.min&&a<q.min?a=q.min:null!=q.max&&a>q.max&&(a=q.max);a=mxUtils.htmlEntities(("int"==v?parseInt(a):a)+"");f(c,a,q)}var g=document.createElement("input");d(m,g,!0);g.value=b;g.className="gePropEditor";"int"!=v&&"float"!=v||q.allowAuto||(g.type="number",g.step= -"int"==v?"1":"any",null!=q.min&&(g.min=parseFloat(q.min)),null!=q.max&&(g.max=parseFloat(q.max)));a.appendChild(g);mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&e()});g.focus();mxEvent.addListener(g,"blur",function(){e()})})));q.isDeletable&&(A=mxUtils.button("-",mxUtils.bind(t,function(a){f(c,"",q,q.index);mxEvent.consume(a)})),A.style.height="16px",A.style.width="25px",A.style["float"]="right",A.className="geColorBtn",m.appendChild(A));z.appendChild(m);return z}var t=this,k=this.editorUi.editor.graph, -A=[];a.style.position="relative";a.style.padding="0";var x=document.createElement("table");x.style.whiteSpace="nowrap";x.style.width="100%";var v=document.createElement("tr");v.className="gePropHeader";var z=document.createElement("th");z.className="gePropHeaderCell";var m=document.createElement("img");m.src=Sidebar.prototype.expandedImage;z.appendChild(m);mxUtils.write(z,mxResources.get("property"));v.style.cursor="pointer";var p=function(){var c=x.querySelectorAll(".gePropNonHeaderRow"),b;if(t.editorUi.propertiesCollapsed){m.src= -Sidebar.prototype.collapsedImage;b="none";for(var f=a.childNodes.length-1;0<=f;f--)try{var d=a.childNodes[f],e=d.nodeName.toUpperCase();"INPUT"!=e&&"SELECT"!=e||a.removeChild(d)}catch(ma){}}else m.src=Sidebar.prototype.expandedImage,b="";for(f=0;f<c.length;f++)c[f].style.display=b};mxEvent.addListener(v,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;p()});v.appendChild(z);z=document.createElement("th");z.className="gePropHeaderCell";z.innerHTML=mxResources.get("value"); -v.appendChild(z);x.appendChild(v);var E=!1,C=!1,F;for(F in c)if(v=c[F],"function"!=typeof v.isVisible||v.isVisible(b,this)){var J=null!=b.style[F]?mxUtils.htmlEntities(b.style[F]+""):v.defVal;if("separator"==v.type)C=!C;else{if("staticArr"==v.type)v.size=parseInt(b.style[v.sizeProperty]||c[v.sizeProperty].defVal)||0;else if(null!=v.dependentProps){for(var u=v.dependentProps,L=[],y=[],z=0;z<u.length;z++){var B=b.style[u[z]];y.push(c[u[z]].subDefVal);L.push(null!=B?B.split(","):[])}v.dependentPropsDefVal= -y;v.dependentPropsVals=L}x.appendChild(q(F,J,v,E,C));E=!E}}for(z=0;z<A.length;z++)for(v=A[z],c=v.parentRow,b=0;b<v.values.length;b++)F=q(v.name,v.values[b],{type:v.type,parentRow:v.parentRow,isDeletable:v.isDeletable,index:b,defVal:v.defVal,countProperty:v.countProperty,size:v.size},0==b%2,v.flipBkg),c.parentNode.insertBefore(F,c.nextSibling),c=F;a.appendChild(x);p();return a};StyleFormatPanel.prototype.addStyles=function(a){function c(a){function c(a){var c=mxUtils.button("",function(c){f.getModel().beginUpdate(); -try{var b=f.getSelectionCells();for(c=0;c<b.length;c++){for(var d=f.getModel().getStyle(b[c]),g=0;g<e.length;g++)d=mxUtils.removeStylename(d,e[g]);var l=f.getModel().isVertex(b[c])?f.defaultVertexStyle:f.defaultEdgeStyle;null!=a?(d=mxUtils.setStyle(d,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(l,mxConstants.STYLE_GRADIENTCOLOR,null)),d=""==a.fill?mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(l,mxConstants.STYLE_FILLCOLOR, -null)),d=""==a.stroke?mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(l,mxConstants.STYLE_STROKECOLOR,null)),f.getModel().isVertex(b[c])&&(d=mxUtils.setStyle(d,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(l,mxConstants.STYLE_FONTCOLOR,null)))):(d=mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(l,mxConstants.STYLE_FILLCOLOR,"#ffffff")),d=mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(l, -mxConstants.STYLE_STROKECOLOR,"#000000")),d=mxUtils.setStyle(d,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(l,mxConstants.STYLE_GRADIENTCOLOR,null)),f.getModel().isVertex(b[c])&&(d=mxUtils.setStyle(d,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(l,mxConstants.STYLE_FONTCOLOR,null))));f.getModel().setStyle(b[c],d)}}finally{f.getModel().endUpdate()}});c.className="geStyleButton";c.style.width="36px";c.style.height="30px";c.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&& -(mxClient.IS_QUIRKS||10>document.documentMode)?c.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":c.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?c.style.background="url('"+Dialog.prototype.noColorImage+"')":c.style.backgroundColor=""==a.fill?mxUtils.getValue(f.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(f.defaultVertexStyle, -mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),c.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(f.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(f.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var b=mxUtils.getValue(f.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(f.defaultVertexStyle, -mxConstants.STYLE_STROKECOLOR,"#000000");c.style.backgroundColor=b;c.style.border="1px solid "+g}d.appendChild(c)}d.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(d),c(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var f=this.editorUi.editor.graph,d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.paddingLeft="24px";d.style.paddingRight="20px"; -a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(d);var e="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var g=document.createElement("div");g.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; -mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));var l=document.createElement("div");l.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; -1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(l));mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(l);c(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&& -(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var f=this.editorUi.editor.graph,d=f.view.getState(f.getSelectionCell());1==f.getSelectionCount()&&null!=d&&null!=d.shape&&null!=d.shape.stencil?(c=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, -function(a){this.editorUi.actions.get("editShape").funct()})),c.setAttribute("title",mxResources.get("editShape")),c.style.marginBottom="2px",null==b?c.style.width="202px":(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c)):c.image&&(c=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==b?c.style.width="202px": -(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= -"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var g=Graph.prototype.init;Graph.prototype.init=function(){function a(a){c=a;try{if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)c=document.createEventObject(a),c.type=a.type,c.canBubble=a.canBubble,c.cancelable=a.cancelable,c.view=a.view,c.detail=a.detail,c.screenX=a.screenX,c.screenY=a.screenY,c.clientX=a.clientX,c.clientY=a.clientY,c.ctrlKey=a.ctrlKey,c.altKey=a.altKey,c.shiftKey=a.shiftKey,c.metaKey=a.metaKey,c.button= -a.button,c.relatedTarget=a.relatedTarget}catch(D){}}g.apply(this,arguments);window.mxFreehand&&(this.freehand=new mxFreehand(this));var c=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){c=null});this.isMouseInsertPoint=function(){return null!=c};var b=this.getInsertPoint;this.getInsertPoint=function(){return null!=c?this.getPointForEvent(c):b.apply(this,arguments)};var f=this.layoutManager.getLayout; -this.layoutManager.getLayout=function(a){var c=this.graph.getCellStyle(a);if(null!=c){if("rack"==c.childLayout){var b=new mxStackLayout(this.graph,!1);b.gridSize=null!=c.rackUnitSize?parseFloat(c.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;b.fill=!0;b.marginLeft=c.marginLeft||0;b.marginRight=c.marginRight||0;b.marginTop=c.marginTop||0;b.marginBottom=c.marginBottom||0;b.allowGaps=c.allowGaps||0;b.resizeParent=!1;return b}if("undefined"!==typeof mxTableLayout&&"tableLayout"== -c.childLayout)return b=new mxTableLayout(this.graph),b.rows=c.tableRows||2,b.columns=c.tableColumns||2,b.colPercentages=c.colPercentages,b.rowPercentages=c.rowPercentages,b.equalColumns="1"==mxUtils.getValue(c,"equalColumns",b.colPercentages?"0":"1"),b.equalRows="1"==mxUtils.getValue(c,"equalRows",b.rowPercentages?"0":"1"),b.resizeParent="1"==mxUtils.getValue(c,"resizeParent","1"),b.border=c.tableBorder||b.border,b.marginLeft=c.marginLeft||0,b.marginRight=c.marginRight||0,b.marginTop=c.marginTop|| -0,b.marginBottom=c.marginBottom||0,b.autoAddCol="1"==mxUtils.getValue(c,"autoAddCol","0"),b.autoAddRow="1"==mxUtils.getValue(c,"autoAddRow",b.autoAddCol?"0":"1"),b.colWidths=c.colWidths||"100",b.rowHeights=c.rowHeights||"50",b}return f.apply(this,arguments)};this.updateGlobalUrlVariables()};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars)); -if(null!=a)for(var c in a)this.globalVars[c]=a[c]}catch(L){null!=window.console&&console.log("Error in vars URL parameter: "+L)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var q=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var c=q.apply(this,arguments);null==c&&null!=this.globalVars&&(c=this.globalVars[a]);return c};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a= -this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var n=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,c,b,f,d,e,g,l,q,t,k){var A=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&&(A=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var x=n.apply(this,arguments);if(k&&null!=this.extFonts&&0<this.extFonts.length){var v= -x.ownerDocument,z=null!=v.createElementNS?v.createElementNS(mxConstants.NS_SVG,"style"):v.createElement("style");null!=v.setAttributeNS?z.setAttributeNS("type","text/css"):z.setAttribute("type","text/css");for(var m="",E=0;E<this.extFonts.length;E++)var p=this.extFonts[E].name,G=this.extFonts[E].url,m=0==G.indexOf(Editor.GOOGLE_FONTS)?m+("@import url("+G+");"):m+('@font-face {font-family: "'+p+'";src: url("'+G+'");}');z.appendChild(v.createTextNode(m));x.getElementsByTagName("defs")[0].appendChild(z)}null!= -A&&(this.stylesheet=A,this.refresh());return x};var l=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var a=l.apply(this,arguments);if(this.mathEnabled){this.container.getBoundingClientRect();var c=a.drawText;a.drawText=function(a,b){if(null!=b.addForeignObject&&null!=a.text&&a.text.checkBounds()&&null!=a.text.node&&null==a.text.node.ownerSVGElement){b.save();var f=a.text.node.cloneNode(!0);f.style.transformOrigin="";f.style.transform="";f.style.top="0px";f.style.left= -"0px";for(var d=f.getElementsByTagName("math");0<d.length;)d[0].parentNode.removeChild(d[0]);var e=a.text.scale,d=a.text.bounds.x/e,g=a.text.bounds.y/e,l=a.text.bounds.width/e,e=a.text.bounds.height/e;a.text.updateTransform(b,d,g,l,e);a.text.configureCanvas(b,d,g,l,e);var n=mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML,q=n||b instanceof mxVmlCanvas2D?"html":"",t=a.text.value;n||"html"!=q||(t=mxUtils.htmlEntities(t,!1));"html"!=q||mxUtils.isNode(a.text.value)||(t=mxUtils.replaceTrailingNewlines(t, -"<div><br></div>"));var t=!mxUtils.isNode(a.text.value)&&a.text.replaceLinefeeds&&"html"==q?t.replace(/\n/g,"<br/>"):t,k=a.text.textDirection;k!=mxConstants.TEXT_DIRECTION_AUTO||n||(k=a.text.getAutoDirection());k!=mxConstants.TEXT_DIRECTION_LTR&&k!=mxConstants.TEXT_DIRECTION_RTL&&(k=null);b.addForeignObject(d+b.state.dx,g+b.state.dy,l,e,t,a.text.align,a.text.valign,a.text.wrap,q,a.text.overflow,a.text.clipped,a.text.getTextRotation(),k,f,b.root.ownerSVGElement);b.restore()}else c.apply(this,arguments)}}return a}; +stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes=null;StyleFormatPanel.prototype.findCommonProperties=function(a,d,b){if(null!=d){var c=function(a){if(null!=a)if(b)for(var c=0;c<a.length;c++)d[a[c].name]=a[c];else for(var f in d){for(var k=!1,c=0;c<a.length;c++)if(a[c].name==f&&a[c].type==d[f].type){k=!0;break}k||delete d[f]}},f=this.editorUi.editor.graph.view.getState(a);null!=f&& +null!=f.shape&&(f.shape.commonCustomPropAdded||(f.shape.commonCustomPropAdded=!0,f.shape.customProperties=f.shape.customProperties||[],f.cell.vertex?Array.prototype.push.apply(f.shape.customProperties,Editor.commonVertexProperties):Array.prototype.push.apply(f.shape.customProperties,Editor.commonEdgeProperties)),c(f.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{c(JSON.parse(a))}catch(F){}}};var d=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a= +this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));d.apply(this,arguments);if(Editor.enableCustomProperties){for(var b={},c=a.vertices,f=a.edges,k=0;k<c.length;k++)this.findCommonProperties(c[k],b,0==k);for(k=0;k<f.length;k++)this.findCommonProperties(f[k],b,0==c.length&&0==k);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(b).length&&this.container.appendChild(this.addProperties(this.createPanel(), +b,a))}};var f=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var d=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));d.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");d.style.marginBottom="2px";d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this, +function(a){this.editorUi.actions.get("pasteStyle").funct()}));d.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");d.style.marginBottom="2px";d.style.width="100px";a.appendChild(d);mxUtils.br(a);return f.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=function(a,d,b){function c(a,d,b,c){l.getModel().beginUpdate();try{var f=[],k=[];if(null!=b.index){for(var g=[],e=b.parentRow.nextSibling;e&& +e.getAttribute("data-pName")==a;)g.push(e.getAttribute("data-pValue")),e=e.nextSibling;b.index<g.length?null!=c?g.splice(c,1):g[b.index]=d:g.push(d);null!=b.size&&g.length>b.size&&(g=g.slice(0,b.size));d=g.join(",");null!=b.countProperty&&(l.setCellStyles(b.countProperty,g.length,l.getSelectionCells()),f.push(b.countProperty),k.push(g.length))}l.setCellStyles(a,d,l.getSelectionCells());f.push(a);k.push(d);if(null!=b.dependentProps)for(a=0;a<b.dependentProps.length;a++){var n=b.dependentPropsDefVal[a], +q=b.dependentPropsVals[a];if(q.length>d)q=q.slice(0,d);else for(var A=q.length;A<d;A++)q.push(n);q=q.join(",");l.setCellStyles(b.dependentProps[a],q,l.getSelectionCells());f.push(b.dependentProps[a]);k.push(q)}if("function"==typeof b.onChange)b.onChange(l,d);t.editorUi.fireEvent(new mxEventObject("styleChanged","keys",f,"values",k,"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}function f(d,b,c){var f=mxUtils.getOffset(a,!0),k=mxUtils.getOffset(d,!0);b.style.position="absolute"; +b.style.left=k.x-f.x+"px";b.style.top=k.y-f.y+"px";b.style.width=d.offsetWidth+"px";b.style.height=d.offsetHeight-(c?4:0)+"px";b.style.zIndex=5}function k(a,d,b){var f=document.createElement("div");f.style.width="32px";f.style.height="4px";f.style.margin="2px";f.style.border="1px solid black";f.style.background=d&&"none"!=d?d:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(t,function(k){this.editorUi.pickColor(d,function(d){f.style.background="none"==d?"url('"+Dialog.prototype.noColorImage+ +"')":d;c(a,d,b)});mxEvent.consume(k)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(f);return btn}function g(a,d,b,f,k,g,e){null!=d&&(d=d.split(","),A.push({name:a,values:d,type:b,defVal:f,countProperty:k,parentRow:g,isDeletable:!0,flipBkg:e}));btn=mxUtils.button("+",mxUtils.bind(t,function(d){for(var n=g,t=0;null!=n.nextSibling;)if(n.nextSibling.getAttribute("data-pName")==a)n=n.nextSibling,t++;else break;var l={type:b,parentRow:g,index:t,isDeletable:!0, +defVal:f,countProperty:k},t=q(a,"",l,0==t%2,e);c(a,f,l);n.parentNode.insertBefore(t,n.nextSibling);mxEvent.consume(d)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function e(a,d,b,c,f,k,g){if(0<f){var e=Array(f);d=null!=d?d.split(","):[];for(var n=0;n<f;n++)e[n]=null!=d[n]?d[n]:null!=c?c:"";A.push({name:a,values:e,type:b,defVal:c,parentRow:k,flipBkg:g,size:f})}return document.createElement("div")}function n(a,d,b){var f=document.createElement("input");f.type= +"checkbox";f.checked="1"==d;mxEvent.addListener(f,"change",function(){c(a,f.checked?"1":"0",b)});return f}function q(d,b,q,l,A){var x=q.dispName,v=q.type,y=document.createElement("tr");y.className="gePropRow"+(A?"Dark":"")+(l?"Alt":"")+" gePropNonHeaderRow";y.setAttribute("data-pName",d);y.setAttribute("data-pValue",b);l=!1;null!=q.index&&(y.setAttribute("data-index",q.index),x=(null!=x?x:"")+"["+q.index+"]",l=!0);var m=document.createElement("td");m.className="gePropRowCell";m.innerHTML=mxUtils.htmlEntities(mxResources.get(x, +null,x));l&&(m.style.textAlign="right");y.appendChild(m);m=document.createElement("td");m.className="gePropRowCell";if("color"==v)m.appendChild(k(d,b,q));else if("bool"==v||"boolean"==v)m.appendChild(n(d,b,q));else if("enum"==v){var G=q.enumList;for(A=0;A<G.length;A++)if(x=G[A],x.val==b){m.innerHTML=mxUtils.htmlEntities(mxResources.get(x.dispName,null,x.dispName));break}mxEvent.addListener(m,"click",mxUtils.bind(t,function(){var k=document.createElement("select");f(m,k);for(var g=0;g<G.length;g++){var e= +G[g],n=document.createElement("option");n.value=mxUtils.htmlEntities(e.val);n.innerHTML=mxUtils.htmlEntities(mxResources.get(e.dispName,null,e.dispName));k.appendChild(n)}k.value=b;a.appendChild(k);mxEvent.addListener(k,"change",function(){var a=mxUtils.htmlEntities(k.value);c(d,a,q)});k.focus();mxEvent.addListener(k,"blur",function(){a.removeChild(k)})}))}else"dynamicArr"==v?m.appendChild(g(d,b,q.subType,q.subDefVal,q.countProperty,y,A)):"staticArr"==v?m.appendChild(e(d,b,q.subType,q.subDefVal,q.size, +y,A)):(m.innerHTML=b,mxEvent.addListener(m,"click",mxUtils.bind(t,function(){function k(){var a=g.value,a=0==a.length&&"string"!=v?0:a;q.allowAuto&&(null!=a.trim&&"auto"==a.trim().toLowerCase()?(a="auto",v="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=q.min&&a<q.min?a=q.min:null!=q.max&&a>q.max&&(a=q.max);a=mxUtils.htmlEntities(("int"==v?parseInt(a):a)+"");c(d,a,q)}var g=document.createElement("input");f(m,g,!0);g.value=b;g.className="gePropEditor";"int"!=v&&"float"!=v||q.allowAuto||(g.type="number", +g.step="int"==v?"1":"any",null!=q.min&&(g.min=parseFloat(q.min)),null!=q.max&&(g.max=parseFloat(q.max)));a.appendChild(g);mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&k()});g.focus();mxEvent.addListener(g,"blur",function(){k()})})));q.isDeletable&&(A=mxUtils.button("-",mxUtils.bind(t,function(a){c(d,"",q,q.index);mxEvent.consume(a)})),A.style.height="16px",A.style.width="25px",A.style["float"]="right",A.className="geColorBtn",m.appendChild(A));y.appendChild(m);return y}var t=this,l= +this.editorUi.editor.graph,A=[];a.style.position="relative";a.style.padding="0";var x=document.createElement("table");x.style.whiteSpace="nowrap";x.style.width="100%";var v=document.createElement("tr");v.className="gePropHeader";var y=document.createElement("th");y.className="gePropHeaderCell";var m=document.createElement("img");m.src=Sidebar.prototype.expandedImage;y.appendChild(m);mxUtils.write(y,mxResources.get("property"));v.style.cursor="pointer";var p=function(){var d=x.querySelectorAll(".gePropNonHeaderRow"), +b;if(t.editorUi.propertiesCollapsed){m.src=Sidebar.prototype.collapsedImage;b="none";for(var c=a.childNodes.length-1;0<=c;c--)try{var f=a.childNodes[c],k=f.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(f)}catch(ma){}}else m.src=Sidebar.prototype.expandedImage,b="";for(c=0;c<d.length;c++)d[c].style.display=b};mxEvent.addListener(v,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;p()});v.appendChild(y);y=document.createElement("th");y.className="gePropHeaderCell"; +y.innerHTML=mxResources.get("value");v.appendChild(y);x.appendChild(v);var D=!1,C=!1,E;for(E in d)if(v=d[E],"function"!=typeof v.isVisible||v.isVisible(b,this)){var J=null!=b.style[E]?mxUtils.htmlEntities(b.style[E]+""):v.defVal;if("separator"==v.type)C=!C;else{if("staticArr"==v.type)v.size=parseInt(b.style[v.sizeProperty]||d[v.sizeProperty].defVal)||0;else if(null!=v.dependentProps){for(var u=v.dependentProps,L=[],z=[],y=0;y<u.length;y++){var B=b.style[u[y]];z.push(d[u[y]].subDefVal);L.push(null!= +B?B.split(","):[])}v.dependentPropsDefVal=z;v.dependentPropsVals=L}x.appendChild(q(E,J,v,D,C));D=!D}}for(y=0;y<A.length;y++)for(v=A[y],d=v.parentRow,b=0;b<v.values.length;b++)E=q(v.name,v.values[b],{type:v.type,parentRow:v.parentRow,isDeletable:v.isDeletable,index:b,defVal:v.defVal,countProperty:v.countProperty,size:v.size},0==b%2,v.flipBkg),d.parentNode.insertBefore(E,d.nextSibling),d=E;a.appendChild(x);p();return a};StyleFormatPanel.prototype.addStyles=function(a){function d(a){function d(a){var d= +mxUtils.button("",function(d){c.getModel().beginUpdate();try{var b=c.getSelectionCells();for(d=0;d<b.length;d++){for(var f=c.getModel().getStyle(b[d]),g=0;g<k.length;g++)f=mxUtils.removeStylename(f,k[g]);var e=c.getModel().isVertex(b[d])?c.defaultVertexStyle:c.defaultEdgeStyle;null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),f=""==a.fill?mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR, +a.fill||mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,null)),f=""==a.stroke?mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,null)),c.getModel().isVertex(b[d])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null)))):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,"#ffffff")),f= +mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,"#000000")),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),c.getModel().isVertex(b[d])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null))));c.getModel().setStyle(b[d],f)}}finally{c.getModel().endUpdate()}});d.className="geStyleButton";d.style.width="36px";d.style.height="30px";d.style.margin= +"0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?d.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":d.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?d.style.background="url('"+Dialog.prototype.noColorImage+"')":d.style.backgroundColor=""==a.fill?mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR, +"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),d.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var b=mxUtils.getValue(c.defaultVertexStyle, +mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");d.style.backgroundColor=b;d.style.border="1px solid "+g}f.appendChild(d)}f.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(f),d(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var c=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace= +"nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var g=document.createElement("div");g.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; +mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var e=document.createElement("div");e.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; +1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(e));mxEvent.addListener(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(e);d(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var d=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&& +(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var c=this.editorUi.editor.graph,f=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(d=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, +function(a){this.editorUi.actions.get("editShape").funct()})),d.setAttribute("title",mxResources.get("editShape")),d.style.marginBottom="2px",null==b?d.style.width="202px":(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d)):d.image&&(d=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),d.setAttribute("title",mxResources.get("editImage")),d.style.marginBottom="2px",null==b?d.style.width="202px": +(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= +"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var k=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;try{if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=document.createEventObject(a),d.type=a.type,d.canBubble=a.canBubble,d.cancelable=a.cancelable,d.view=a.view,d.detail=a.detail,d.screenX=a.screenX,d.screenY=a.screenY,d.clientX=a.clientX,d.clientY=a.clientY,d.ctrlKey=a.ctrlKey,d.altKey=a.altKey,d.shiftKey=a.shiftKey,d.metaKey=a.metaKey,d.button= +a.button,d.relatedTarget=a.relatedTarget}catch(F){}}k.apply(this,arguments);window.mxFreehand&&(this.freehand=new mxFreehand(this));var d=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){d=null});this.isMouseInsertPoint=function(){return null!=d};var b=this.getInsertPoint;this.getInsertPoint=function(){return null!=d?this.getPointForEvent(d):b.apply(this,arguments)};var c=this.layoutManager.getLayout; +this.layoutManager.getLayout=function(a){var d=this.graph.getCellStyle(a);if(null!=d){if("rack"==d.childLayout){var b=new mxStackLayout(this.graph,!1);b.gridSize=null!=d.rackUnitSize?parseFloat(d.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;b.fill=!0;b.marginLeft=d.marginLeft||0;b.marginRight=d.marginRight||0;b.marginTop=d.marginTop||0;b.marginBottom=d.marginBottom||0;b.allowGaps=d.allowGaps||0;b.resizeParent=!1;return b}if("undefined"!==typeof mxTableLayout&&"tableLayout"== +d.childLayout)return b=new mxTableLayout(this.graph),b.rows=d.tableRows||2,b.columns=d.tableColumns||2,b.colPercentages=d.colPercentages,b.rowPercentages=d.rowPercentages,b.equalColumns="1"==mxUtils.getValue(d,"equalColumns",b.colPercentages?"0":"1"),b.equalRows="1"==mxUtils.getValue(d,"equalRows",b.rowPercentages?"0":"1"),b.resizeParent="1"==mxUtils.getValue(d,"resizeParent","1"),b.border=d.tableBorder||b.border,b.marginLeft=d.marginLeft||0,b.marginRight=d.marginRight||0,b.marginTop=d.marginTop|| +0,b.marginBottom=d.marginBottom||0,b.autoAddCol="1"==mxUtils.getValue(d,"autoAddCol","0"),b.autoAddRow="1"==mxUtils.getValue(d,"autoAddRow",b.autoAddCol?"0":"1"),b.colWidths=d.colWidths||"100",b.rowHeights=d.rowHeights||"50",b}return c.apply(this,arguments)};this.updateGlobalUrlVariables()};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars)); +if(null!=a)for(var d in a)this.globalVars[d]=a[d]}catch(L){null!=window.console&&console.log("Error in vars URL parameter: "+L)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var q=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var d=q.apply(this,arguments);null==d&&null!=this.globalVars&&(d=this.globalVars[a]);return d};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a= +this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var n=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,d,b,c,f,k,g,e,q,t,l){var A=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&&(A=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var x=n.apply(this,arguments);if(l&&null!=this.extFonts&&0<this.extFonts.length){var v= +x.ownerDocument,y=null!=v.createElementNS?v.createElementNS(mxConstants.NS_SVG,"style"):v.createElement("style");null!=v.setAttributeNS?y.setAttributeNS("type","text/css"):y.setAttribute("type","text/css");for(var m="",D=0;D<this.extFonts.length;D++)var p=this.extFonts[D].name,G=this.extFonts[D].url,m=0==G.indexOf(Editor.GOOGLE_FONTS)?m+("@import url("+G+");"):m+('@font-face {font-family: "'+p+'";src: url("'+G+'");}');y.appendChild(v.createTextNode(m));x.getElementsByTagName("defs")[0].appendChild(y)}null!= +A&&(this.stylesheet=A,this.refresh());return x};var g=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var a=g.apply(this,arguments);if(this.mathEnabled){this.container.getBoundingClientRect();var d=a.drawText;a.drawText=function(a,b){if(null!=b.addForeignObject&&null!=a.text&&a.text.checkBounds()&&null!=a.text.node&&null==a.text.node.ownerSVGElement){b.save();var c=a.text.node.cloneNode(!0);c.style.transformOrigin="";c.style.transform="";c.style.top="0px";c.style.left= +"0px";for(var f=c.getElementsByTagName("math");0<f.length;)f[0].parentNode.removeChild(f[0]);var k=a.text.scale,f=a.text.bounds.x/k,g=a.text.bounds.y/k,e=a.text.bounds.width/k,k=a.text.bounds.height/k;a.text.updateTransform(b,f,g,e,k);a.text.configureCanvas(b,f,g,e,k);var n=mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML,q=n||b instanceof mxVmlCanvas2D?"html":"",t=a.text.value;n||"html"!=q||(t=mxUtils.htmlEntities(t,!1));"html"!=q||mxUtils.isNode(a.text.value)||(t=mxUtils.replaceTrailingNewlines(t, +"<div><br></div>"));var t=!mxUtils.isNode(a.text.value)&&a.text.replaceLinefeeds&&"html"==q?t.replace(/\n/g,"<br/>"):t,l=a.text.textDirection;l!=mxConstants.TEXT_DIRECTION_AUTO||n||(l=a.text.getAutoDirection());l!=mxConstants.TEXT_DIRECTION_LTR&&l!=mxConstants.TEXT_DIRECTION_RTL&&(l=null);b.addForeignObject(f+b.state.dx,g+b.state.dy,e,k,t,a.text.align,a.text.valign,a.text.wrap,q,a.text.overflow,a.text.clipped,a.text.getTextRotation(),l,c,b.root.ownerSVGElement);b.restore()}else d.apply(this,arguments)}}return a}; var A=Graph.prototype.isCssTransformsSupported;Graph.prototype.isCssTransformsSupported=function(){return A.apply(this,arguments)&&!mxClient.IS_SF};var x=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){x.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode||"svg"!=this.graph.container.firstChild.nodeName? null==this.webKitForceRepaintNode||this.graph.mathEnabled&&("svg"==this.graph.container.firstChild.nodeName||this.graph.container.firstChild==this.webKitForceRepaintNode)||(null!=this.webKitForceRepaintNode.parentNode&&this.webKitForceRepaintNode.parentNode.removeChild(this.webKitForceRepaintNode),this.webKitForceRepaintNode=null):(this.webKitForceRepaintNode=document.createElement("div"),this.webKitForceRepaintNode.style.cssText="position:absolute;",a.ownerSVGElement.parentNode.insertBefore(this.webKitForceRepaintNode, -a.ownerSVGElement))}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var c=0;c<a.actions.length;c++){var b=a.actions[c];if(null!=b.open)if(this.isCustomLink(b.open)){if(!this.customLinkClicked(b.open))return}else this.openLink(b.open)}this.model.beginUpdate();try{for(c= -0;c<a.actions.length;c++)b=a.actions[c],null!=b.toggle&&this.toggleCells(this.getCellsForAction(b.toggle,!0)),null!=b.show&&this.setCellsVisible(this.getCellsForAction(b.show,!0),!0),null!=b.hide&&this.setCellsVisible(this.getCellsForAction(b.hide,!0),!1)}finally{this.model.endUpdate()}for(c=0;c<a.actions.length;c++){var b=a.actions[c],f=[];null!=b.select&&this.isEnabled()&&(f=this.getCellsForAction(b.select),this.setSelectionCells(f));null!=b.highlight&&(f=this.getCellsForAction(b.highlight),this.highlightCells(f, -b.highlight.color,b.highlight.duration,b.highlight.opacity));null!=b.scroll&&(f=this.getCellsForAction(b.scroll));0<f.length&&this.scrollCellToVisible(f[0])}}};Graph.prototype.updateCustomLinksForCell=function(a,c){var b=this.getLinkForCell(c);null!=b&&"data:action/json,"==b.substring(0,17)&&this.setLinkForCell(c,this.updateCustomLink(a,b));if(this.isHtmlLabel(c)){var f=document.createElement("div");f.innerHTML=this.getLabel(c);for(var d=f.getElementsByTagName("a"),e=!1,g=0;g<d.length;g++)b=d[g].getAttribute("href"), -null!=b&&"data:action/json,"==b.substring(0,17)&&(d[g].setAttribute("href",this.updateCustomLink(a,b)),e=!0);e&&this.labelChanged(c,f.innerHTML)}};Graph.prototype.updateCustomLink=function(a,c){if("data:action/json,"==c.substring(0,17))try{var b=JSON.parse(c.substring(17));null!=b.actions&&(this.updateCustomLinkActions(a,b.actions),c="data:action/json,"+JSON.stringify(b))}catch(I){}return c};Graph.prototype.updateCustomLinkActions=function(a,c){for(var b=0;b<c.length;b++){var f=c[b];this.updateCustomLinkAction(a, -f.toggle);this.updateCustomLinkAction(a,f.show);this.updateCustomLinkAction(a,f.hide);this.updateCustomLinkAction(a,f.select);this.updateCustomLinkAction(a,f.highlight);this.updateCustomLinkAction(a,f.scroll)}};Graph.prototype.updateCustomLinkAction=function(a,c){if(null!=c&&null!=c.cells){for(var b=[],f=0;f<c.cells.length;f++)if("*"==c.cells[f])b.push(c.cells[f]);else{var d=a[c.cells[f]];null!=d?""!=d&&b.push(d):b.push(c.cells[f])}c.cells=b}};Graph.prototype.getCellsForAction=function(a,c){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags, -null,null,c))};Graph.prototype.getCellsById=function(a){var c=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var f=this.getDefaultParent(),c=c.concat(this.model.filterDescendants(function(a){return a!=f},f));else{var d=this.model.getCell(a[b]);null!=d&&c.push(d)}return c};Graph.prototype.getCellsForTags=function(a,c,b,f){var d=[];if(null!=a){c=null!=c?c:this.model.getDescendants(this.model.getRoot());b=null!=b?b:"tags";for(var e=0,g={},l=0;l<a.length;l++)0<a[l].length&&(g[a[l].toLowerCase()]= -!0,e++);for(l=0;l<c.length;l++)if(f&&this.model.getParent(c[l])==this.model.root||this.model.isVertex(c[l])||this.model.isEdge(c[l])){var n=null!=c[l].value&&"object"==typeof c[l].value?mxUtils.trim(c[l].value.getAttribute(b)||""):"",q=!1;if(0<n.length){if(n=n.toLowerCase().split(" "),n.length>=a.length){for(var t=q=0;t<n.length&&q<e;t++)null!=g[n[t]]&&q++;q=q==e}}else q=0==a.length;q&&d.push(c[l])}}return d};Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var c=0;c<a.length;c++)this.model.setVisible(a[c], -!this.model.isVisible(a[c]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible=function(a,c){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],c)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,c,b,f){for(var d=0;d<a.length;d++)this.highlightCell(a[d],c,b,f)};Graph.prototype.highlightCell=function(a,c,b,f){c=null!=c?c:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style, -mxConstants.STYLE_STROKEWIDTH,1)+4),e=new mxCellHighlight(this,c,d,!1);null!=f&&(e.opacity=f);e.highlight(a);window.setTimeout(function(){null!=e.shape&&(mxUtils.setPrefixedStyle(e.shape.node.style,"transition","all 1200ms ease-in-out"),e.shape.node.style.opacity=0);window.setTimeout(function(){e.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,c,b){b=null!=b?b:!1;var f=a.ownerDocument,d=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"filter"):f.createElement("filter"); -d.setAttribute("id",this.shadowId);var e=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):f.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");d.appendChild(e);e=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feOffset"):f.createElement("feOffset");e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy",this.svgShadowSize);e.setAttribute("result", -"offsetBlur");d.appendChild(e);e=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feFlood"):f.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");d.appendChild(e);e=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feComposite"):f.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2","offsetBlur");e.setAttribute("operator","in"); -e.setAttribute("result","offsetBlur");d.appendChild(e);e=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feBlend"):f.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");d.appendChild(e);e=a.getElementsByTagName("defs");0==e.length?(f=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"defs"):f.createElement("defs"),null!=a.firstChild?a.insertBefore(f,a.firstChild):a.appendChild(f)):f=e[0];f.appendChild(d);b||(c=null!=c?c:a.getElementsByTagName("g")[0], -null!=c&&(c.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),c=a.getAttribute("viewBox"),null!=c&&0<c.length&&(c=c.split(" "),3<c.length&&(w=parseFloat(c[2])+6,h=parseFloat(c[3])+6,a.setAttribute("viewBox",c[0]+" "+c[1]+" "+w+" "+h))))));return d};Graph.prototype.setShadowVisible=function(a,c){mxClient.IS_SVG&&(c=null!=c?c:!0,(this.shadowVisible= -a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),c&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),c,b=0;do c=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(c),"locked","0"));null!=c&&this.setDefaultParent(c)}};mxStencilRegistry.libraries.mockup= -[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.dfd=[SHAPES_PATH+"/mxDFD.js"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.kubernetes=[SHAPES_PATH+"/mxKubernetes.js",STENCIL_PATH+ -"/kubernetes.xml"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+ -"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/miscellaneous"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries["electrical/transmission"]= -[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries["electrical/logic_gates"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries["electrical/abstract"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/abstract.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]= -[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]= -[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js", -STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"]; -mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc= -[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var c=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?c="mxgraph.er":"sysML"==a.substring(0,5)&&(c="mxgraph.sysml"));return c};var F=mxMarker.createMarker;mxMarker.createMarker=function(a,c,b,f,d,e,g,l,n,q){if(null!=b&&null==mxMarker.markers[b]){var t= -this.getPackageForType(b);null!=t&&mxStencilRegistry.getStencil(t)}return F.apply(this,arguments)};PrintDialog.prototype.create=function(a,c){function b(){x.value=Math.max(1,Math.min(l,Math.max(parseInt(x.value),parseInt(A.value))));A.value=Math.max(1,Math.min(l,Math.min(parseInt(x.value),parseInt(A.value))))}function f(c){function b(c,b,e){var g=c.useCssTransforms,l=c.currentTranslate,n=c.currentScale,q=c.view.translate,t=c.view.scale;c.useCssTransforms&&(c.useCssTransforms=!1,c.currentTranslate= -new mxPoint(0,0),c.currentScale=1,c.view.translate=new mxPoint(0,0),c.view.scale=1);var k=c.getGraphBounds(),A=0,x=0,z=ta.get(),m=1/c.pageScale,p=E.checked;if(p)var m=parseInt(S.value),C=parseInt(ea.value),m=Math.min(z.height*C/(k.height/c.view.scale),z.width*m/(k.width/c.view.scale));else m=parseInt(v.value)/(100*c.pageScale),isNaN(m)&&(f=1/c.pageScale,v.value="100 %");z=mxRectangle.fromRectangle(z);z.width=Math.ceil(z.width*f);z.height=Math.ceil(z.height*f);m*=f;!p&&c.pageVisible?(k=c.getPageLayout(), -A-=k.x*z.width,x-=k.y*z.height):p=!0;if(null==b){b=PrintDialog.createPrintPreview(c,m,z,0,A,x,p);b.pageSelector=!1;b.mathEnabled=!1;A=a.getCurrentFile();null!=A&&(b.title=A.getTitle());var F=b.writeHead;b.writeHead=function(b){F.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"));if(null!=c.extFonts)for(var f=0;f<c.extFonts.length;f++){var d=c.extFonts[f].name,e=c.extFonts[f].url;0==e.indexOf(Editor.GOOGLE_FONTS)?b.writeln('<link rel="stylesheet" href="'+ -e+'" charset="UTF-8" type="text/css">'):(b.writeln('<style type="text/css">'),b.writeln('@font-face {\n\tfont-family: "'+d+'";\n\tsrc: url("'+e+'");\n}'),b.writeln("</style>"))}};if("undefined"!==typeof MathJax){var G=b.renderPage;b.renderPage=function(a,c,b,f,d,e){var g=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var l=G.apply(this,arguments);mxClient.NO_FO=g;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:l.className= -"geDisableMathJax";return l}}A=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(A=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());b.open(null,null,e,!0);null!=A&&(d.stylesheet=A,d.refresh())}else{z=c.background;if(null==z||""==z||z==mxConstants.NONE)z="#ffffff";b.backgroundColor=z;b.autoOrigin=p;b.appendGraph(c,m,A,x,e,!0);if(null!=c.extFonts&&null!=b.wnd)for(e=0;e<c.extFonts.length;e++)A=c.extFonts[e].name,x=c.extFonts[e].url,0==x.indexOf(Editor.GOOGLE_FONTS)?b.wnd.document.writeln('<link rel="stylesheet" href="'+ -x+'" charset="UTF-8" type="text/css">'):(b.wnd.document.writeln('<style type="text/css">'),b.wnd.document.writeln('@font-face {\n\tfont-family: "'+A+'";\n\tsrc: url("'+x+'");\n}'),b.wnd.document.writeln("</style>"))}g&&(c.useCssTransforms=g,c.currentTranslate=l,c.currentScale=n,c.view.translate=q,c.view.scale=t);return b}var f=parseInt(K.value)/100;isNaN(f)&&(f=1,K.value="100 %");var f=.75*f,e=A.value,g=x.value,l=!t.checked,q=null;l&&(l=e==n&&g==n);if(!l&&null!=a.pages&&a.pages.length){var k=0,l= -a.pages.length-1;t.checked||(k=parseInt(e)-1,l=parseInt(g)-1);for(var z=k;z<=l;z++){var m=a.pages[z],e=m==a.currentPage?d:null;if(null==e){var e=a.createTemporaryGraph(d.getStylesheet()),g=!0,k=!1,p=null,C=null;null==m.viewState&&null==m.root&&a.updatePageRoot(m);null!=m.viewState&&(g=m.viewState.pageVisible,k=m.viewState.mathEnabled,p=m.viewState.background,C=m.viewState.backgroundImage,e.extFonts=m.viewState.extFonts);e.background=p;e.backgroundImage=null!=C?new mxImage(C.src,C.width,C.height): -null;e.pageVisible=g;e.mathEnabled=k;var F=e.getGlobalVariable;e.getGlobalVariable=function(c){return"page"==c?m.getName():"pagenumber"==c?z+1:"pagecount"==c?null!=a.pages?a.pages.length:1:F.apply(this,arguments)};document.body.appendChild(e.container);a.updatePageRoot(m);e.model.setRoot(m.root)}q=b(e,q,z!=l);e!=d&&e.container.parentNode.removeChild(e.container)}}else q=b(d);null==q?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(q.mathEnabled&&(l=q.wnd.document,l.writeln('<script type="text/x-mathjax-config">'), -l.writeln("MathJax.Hub.Config({"),l.writeln("showMathMenu: false,"),l.writeln('messageStyle: "none",'),l.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),l.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),l.writeln('"HTML-CSS": {'),l.writeln("imageFont: null"),l.writeln("},"),l.writeln("TeX: {"),l.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),l.writeln("},"),l.writeln("tex2jax: {"),l.writeln('\tignoreClass: "geDisableMathJax"'), -l.writeln("},"),l.writeln("asciimath2jax: {"),l.writeln('\tignoreClass: "geDisableMathJax"'),l.writeln("}"),l.writeln("});"),c&&(l.writeln("MathJax.Hub.Queue(function () {"),l.writeln("window.print();"),l.writeln("});")),l.writeln("\x3c/script>"),l.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),q.closeDocument(),!q.mathEnabled&&c&&PrintDialog.printPreview(q))}var d=a.editor.graph,e=document.createElement("div"),g=document.createElement("h3");g.style.width= -"100%";g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,c||mxResources.get("print"));e.appendChild(g);var l=1,n=1,q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");q.appendChild(t);g=document.createElement("span"); -mxUtils.write(g,mxResources.get("printAllPages"));q.appendChild(g);mxUtils.br(q);var k=t.cloneNode(!0);t.setAttribute("checked","checked");k.setAttribute("value","range");q.appendChild(k);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");q.appendChild(g);var A=document.createElement("input");A.style.cssText="margin:0 8px 0 8px;";A.setAttribute("value","1");A.setAttribute("type","number");A.setAttribute("min","1");A.style.width="50px";q.appendChild(A);g=document.createElement("span"); -mxUtils.write(g,mxResources.get("to"));q.appendChild(g);var x=A.cloneNode(!0);q.appendChild(x);mxEvent.addListener(A,"focus",function(){k.checked=!0});mxEvent.addListener(x,"focus",function(){k.checked=!0});mxEvent.addListener(A,"change",b);mxEvent.addListener(x,"change",b);if(null!=a.pages&&(l=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){n=g+1;A.value=n;x.value=n;break}A.setAttribute("max",l);x.setAttribute("max",l);1<l&&e.appendChild(q);var z=document.createElement("div"); -z.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");z.appendChild(m);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));z.appendChild(g);var v=document.createElement("input");v.style.cssText="margin:0 8px 0 8px;";v.setAttribute("value","100 %");v.style.width="50px";z.appendChild(v);mxEvent.addListener(v,"focus",function(){m.checked=!0}); -e.appendChild(z);var q=q.cloneNode(!1),E=m.cloneNode(!0);E.setAttribute("value","fit");m.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(E);q.appendChild(g);z=document.createElement("table");z.style.display="inline-block";var p=document.createElement("tbody"),C=document.createElement("tr"),F=C.cloneNode(!0),u=document.createElement("td"),y=u.cloneNode(!0),J=u.cloneNode(!0),B=u.cloneNode(!0), -ja=u.cloneNode(!0),T=u.cloneNode(!0);u.style.textAlign="right";B.style.textAlign="right";mxUtils.write(u,mxResources.get("fitTo"));var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","1");S.setAttribute("min","1");S.setAttribute("type","number");S.style.width="40px";y.appendChild(S);g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsAcross"));J.appendChild(g);mxUtils.write(B,mxResources.get("fitToBy"));var ea=S.cloneNode(!0); -ja.appendChild(ea);mxEvent.addListener(S,"focus",function(){E.checked=!0});mxEvent.addListener(ea,"focus",function(){E.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));T.appendChild(g);C.appendChild(u);C.appendChild(y);C.appendChild(J);F.appendChild(B);F.appendChild(ja);F.appendChild(T);p.appendChild(C);p.appendChild(F);z.appendChild(p);q.appendChild(z);e.appendChild(q);q=document.createElement("div");g=document.createElement("div");g.style.fontWeight= -"bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));q.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var ta=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);q.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));q.appendChild(g);var K=document.createElement("input");K.style.cssText="margin:0 8px 0 8px;";K.setAttribute("value","100 %"); -K.style.width="60px";q.appendChild(K);e.appendChild(q);g=document.createElement("div");g.style.cssText="text-align:right;margin:48px 0 0 0;";q=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});q.className="geBtn";a.editor.cancelFirst&&g.appendChild(q);a.isOffline()||(z=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),z.className="geBtn",g.appendChild(z));PrintDialog.previewEnabled&&(z=mxUtils.button(mxResources.get("preview"), -function(){a.hideDialog();f(!1)}),z.className="geBtn",g.appendChild(z));z=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();f(!0)});z.className="geBtn gePrimaryBtn";g.appendChild(z);a.editor.cancelFirst||g.appendChild(q);e.appendChild(g);this.container=e};var z=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor|| -(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(z.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled), -null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var E=document.createElement("canvas"),C=new Image;C.onload=function(){try{E.getContext("2d").drawImage(C,0,0);var a=E.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(J){}};C.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(v){}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t"; +a.ownerSVGElement))}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var d=0;d<a.actions.length;d++){var b=a.actions[d];if(null!=b.open)if(this.isCustomLink(b.open)){if(!this.customLinkClicked(b.open))return}else this.openLink(b.open)}this.model.beginUpdate();try{for(d= +0;d<a.actions.length;d++)b=a.actions[d],null!=b.toggle&&this.toggleCells(this.getCellsForAction(b.toggle,!0)),null!=b.show&&this.setCellsVisible(this.getCellsForAction(b.show,!0),!0),null!=b.hide&&this.setCellsVisible(this.getCellsForAction(b.hide,!0),!1)}finally{this.model.endUpdate()}for(d=0;d<a.actions.length;d++){var b=a.actions[d],c=[];null!=b.select&&this.isEnabled()&&(c=this.getCellsForAction(b.select),this.setSelectionCells(c));null!=b.highlight&&(c=this.getCellsForAction(b.highlight),this.highlightCells(c, +b.highlight.color,b.highlight.duration,b.highlight.opacity));null!=b.scroll&&(c=this.getCellsForAction(b.scroll));0<c.length&&this.scrollCellToVisible(c[0])}}};Graph.prototype.updateCustomLinksForCell=function(a,d){var b=this.getLinkForCell(d);null!=b&&"data:action/json,"==b.substring(0,17)&&this.setLinkForCell(d,this.updateCustomLink(a,b));if(this.isHtmlLabel(d)){var c=document.createElement("div");c.innerHTML=this.getLabel(d);for(var f=c.getElementsByTagName("a"),k=!1,g=0;g<f.length;g++)b=f[g].getAttribute("href"), +null!=b&&"data:action/json,"==b.substring(0,17)&&(f[g].setAttribute("href",this.updateCustomLink(a,b)),k=!0);k&&this.labelChanged(d,c.innerHTML)}};Graph.prototype.updateCustomLink=function(a,d){if("data:action/json,"==d.substring(0,17))try{var b=JSON.parse(d.substring(17));null!=b.actions&&(this.updateCustomLinkActions(a,b.actions),d="data:action/json,"+JSON.stringify(b))}catch(I){}return d};Graph.prototype.updateCustomLinkActions=function(a,d){for(var b=0;b<d.length;b++){var c=d[b];this.updateCustomLinkAction(a, +c.toggle);this.updateCustomLinkAction(a,c.show);this.updateCustomLinkAction(a,c.hide);this.updateCustomLinkAction(a,c.select);this.updateCustomLinkAction(a,c.highlight);this.updateCustomLinkAction(a,c.scroll)}};Graph.prototype.updateCustomLinkAction=function(a,d){if(null!=d&&null!=d.cells){for(var b=[],c=0;c<d.cells.length;c++)if("*"==d.cells[c])b.push(d.cells[c]);else{var f=a[d.cells[c]];null!=f?""!=f&&b.push(f):b.push(d.cells[c])}d.cells=b}};Graph.prototype.getCellsForAction=function(a,d){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags, +null,null,d))};Graph.prototype.getCellsById=function(a){var d=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var c=this.getDefaultParent(),d=d.concat(this.model.filterDescendants(function(a){return a!=c},c));else{var f=this.model.getCell(a[b]);null!=f&&d.push(f)}return d};Graph.prototype.getCellsForTags=function(a,d,b,c){var f=[];if(null!=a){d=null!=d?d:this.model.getDescendants(this.model.getRoot());b=null!=b?b:"tags";for(var k=0,g={},e=0;e<a.length;e++)0<a[e].length&&(g[a[e].toLowerCase()]= +!0,k++);for(e=0;e<d.length;e++)if(c&&this.model.getParent(d[e])==this.model.root||this.model.isVertex(d[e])||this.model.isEdge(d[e])){var n=null!=d[e].value&&"object"==typeof d[e].value?mxUtils.trim(d[e].value.getAttribute(b)||""):"",q=!1;if(0<n.length){if(n=n.toLowerCase().split(" "),n.length>=a.length){for(var t=q=0;t<n.length&&q<k;t++)null!=g[n[t]]&&q++;q=q==k}}else q=0==a.length;q&&f.push(d[e])}}return f};Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var d=0;d<a.length;d++)this.model.setVisible(a[d], +!this.model.isVisible(a[d]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible=function(a,d){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],d)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,d,b,c){for(var f=0;f<a.length;f++)this.highlightCell(a[f],d,b,c)};Graph.prototype.highlightCell=function(a,d,b,c){d=null!=d?d:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var f=Math.max(5,mxUtils.getValue(a.style, +mxConstants.STYLE_STROKEWIDTH,1)+4),k=new mxCellHighlight(this,d,f,!1);null!=c&&(k.opacity=c);k.highlight(a);window.setTimeout(function(){null!=k.shape&&(mxUtils.setPrefixedStyle(k.shape.node.style,"transition","all 1200ms ease-in-out"),k.shape.node.style.opacity=0);window.setTimeout(function(){k.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,d,b){b=null!=b?b:!1;var c=a.ownerDocument,f=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter"); +f.setAttribute("id",this.shadowId);var k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result", +"offsetBlur");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):c.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in"); +k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");f.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c=k[0];c.appendChild(f);b||(d=null!=d?d:a.getElementsByTagName("g")[0], +null!=d&&(d.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),d=a.getAttribute("viewBox"),null!=d&&0<d.length&&(d=d.split(" "),3<d.length&&(w=parseFloat(d[2])+6,h=parseFloat(d[3])+6,a.setAttribute("viewBox",d[0]+" "+d[1]+" "+w+" "+h))))));return f};Graph.prototype.setShadowVisible=function(a,d){mxClient.IS_SVG&&(d=null!=d?d:!0,(this.shadowVisible= +a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),d&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),d,b=0;do d=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(d),"locked","0"));null!=d&&this.setDefaultParent(d)}};mxStencilRegistry.libraries.mockup= +[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.cisco19=[SHAPES_PATH+"/mxCisco19.js",STENCIL_PATH+"/cisco19.xml"];mxStencilRegistry.libraries.dfd=[SHAPES_PATH+"/mxDFD.js"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"]; +mxStencilRegistry.libraries.kubernetes=[SHAPES_PATH+"/mxKubernetes.js",STENCIL_PATH+"/kubernetes.xml"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js", +STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/miscellaneous"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/miscellaneous.xml"]; +mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries["electrical/logic_gates"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries["electrical/abstract"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/abstract.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]= +[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js", +STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js", +STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks= +[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"]; +mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var d=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?d="mxgraph.er":"sysML"==a.substring(0,5)&&(d="mxgraph.sysml"));return d};var E=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,k,g,e, +n,q){if(null!=b&&null==mxMarker.markers[b]){var t=this.getPackageForType(b);null!=t&&mxStencilRegistry.getStencil(t)}return E.apply(this,arguments)};PrintDialog.prototype.create=function(a,d){function b(){x.value=Math.max(1,Math.min(e,Math.max(parseInt(x.value),parseInt(A.value))));A.value=Math.max(1,Math.min(e,Math.min(parseInt(x.value),parseInt(A.value))))}function c(d){function b(d,b,k){var g=d.useCssTransforms,e=d.currentTranslate,n=d.currentScale,q=d.view.translate,t=d.view.scale;d.useCssTransforms&& +(d.useCssTransforms=!1,d.currentTranslate=new mxPoint(0,0),d.currentScale=1,d.view.translate=new mxPoint(0,0),d.view.scale=1);var l=d.getGraphBounds(),A=0,x=0,y=ta.get(),m=1/d.pageScale,p=D.checked;if(p)var m=parseInt(S.value),C=parseInt(ea.value),m=Math.min(y.height*C/(l.height/d.view.scale),y.width*m/(l.width/d.view.scale));else m=parseInt(v.value)/(100*d.pageScale),isNaN(m)&&(c=1/d.pageScale,v.value="100 %");y=mxRectangle.fromRectangle(y);y.width=Math.ceil(y.width*c);y.height=Math.ceil(y.height* +c);m*=c;!p&&d.pageVisible?(l=d.getPageLayout(),A-=l.x*y.width,x-=l.y*y.height):p=!0;if(null==b){b=PrintDialog.createPrintPreview(d,m,y,0,A,x,p);b.pageSelector=!1;b.mathEnabled=!1;A=a.getCurrentFile();null!=A&&(b.title=A.getTitle());var E=b.writeHead;b.writeHead=function(b){E.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"));if(null!=d.extFonts)for(var c=0;c<d.extFonts.length;c++){var f=d.extFonts[c].name,k=d.extFonts[c].url; +0==k.indexOf(Editor.GOOGLE_FONTS)?b.writeln('<link rel="stylesheet" href="'+k+'" charset="UTF-8" type="text/css">'):(b.writeln('<style type="text/css">'),b.writeln('@font-face {\n\tfont-family: "'+f+'";\n\tsrc: url("'+k+'");\n}'),b.writeln("</style>"))}};if("undefined"!==typeof MathJax){var G=b.renderPage;b.renderPage=function(a,d,b,c,f,k){var g=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var e=G.apply(this,arguments);mxClient.NO_FO= +g;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:e.className="geDisableMathJax";return e}}A=null;null!=f.themes&&"darkTheme"==f.defaultThemeName&&(A=f.stylesheet,f.stylesheet=f.getDefaultStylesheet(),f.refresh());b.open(null,null,k,!0);null!=A&&(f.stylesheet=A,f.refresh())}else{y=d.background;if(null==y||""==y||y==mxConstants.NONE)y="#ffffff";b.backgroundColor=y;b.autoOrigin=p;b.appendGraph(d,m,A,x,k,!0);if(null!=d.extFonts&&null!=b.wnd)for(k=0;k<d.extFonts.length;k++)A=d.extFonts[k].name, +x=d.extFonts[k].url,0==x.indexOf(Editor.GOOGLE_FONTS)?b.wnd.document.writeln('<link rel="stylesheet" href="'+x+'" charset="UTF-8" type="text/css">'):(b.wnd.document.writeln('<style type="text/css">'),b.wnd.document.writeln('@font-face {\n\tfont-family: "'+A+'";\n\tsrc: url("'+x+'");\n}'),b.wnd.document.writeln("</style>"))}g&&(d.useCssTransforms=g,d.currentTranslate=e,d.currentScale=n,d.view.translate=q,d.view.scale=t);return b}var c=parseInt(K.value)/100;isNaN(c)&&(c=1,K.value="100 %");var c=.75* +c,k=A.value,g=x.value,e=!t.checked,q=null;e&&(e=k==n&&g==n);if(!e&&null!=a.pages&&a.pages.length){var l=0,e=a.pages.length-1;t.checked||(l=parseInt(k)-1,e=parseInt(g)-1);for(var y=l;y<=e;y++){var m=a.pages[y],k=m==a.currentPage?f:null;if(null==k){var k=a.createTemporaryGraph(f.getStylesheet()),g=!0,l=!1,p=null,C=null;null==m.viewState&&null==m.root&&a.updatePageRoot(m);null!=m.viewState&&(g=m.viewState.pageVisible,l=m.viewState.mathEnabled,p=m.viewState.background,C=m.viewState.backgroundImage,k.extFonts= +m.viewState.extFonts);k.background=p;k.backgroundImage=null!=C?new mxImage(C.src,C.width,C.height):null;k.pageVisible=g;k.mathEnabled=l;var E=k.getGlobalVariable;k.getGlobalVariable=function(d){return"page"==d?m.getName():"pagenumber"==d?y+1:"pagecount"==d?null!=a.pages?a.pages.length:1:E.apply(this,arguments)};document.body.appendChild(k.container);a.updatePageRoot(m);k.model.setRoot(m.root)}q=b(k,q,y!=e);k!=f&&k.container.parentNode.removeChild(k.container)}}else q=b(f);null==q?a.handleError({message:mxResources.get("errorUpdatingPreview")}): +(q.mathEnabled&&(e=q.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln("showMathMenu: false,"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),e.writeln("TeX: {"),e.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'), +e.writeln("},"),e.writeln("tex2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("},"),e.writeln("asciimath2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("}"),e.writeln("});"),d&&(e.writeln("MathJax.Hub.Queue(function () {"),e.writeln("window.print();"),e.writeln("});")),e.writeln("\x3c/script>"),e.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),q.closeDocument(),!q.mathEnabled&&d&&PrintDialog.printPreview(q))}var f=a.editor.graph, +k=document.createElement("div"),g=document.createElement("h3");g.style.width="100%";g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,d||mxResources.get("print"));k.appendChild(g);var e=1,n=1,q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name", +"pages-printdialog");q.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));q.appendChild(g);mxUtils.br(q);var l=t.cloneNode(!0);t.setAttribute("checked","checked");l.setAttribute("value","range");q.appendChild(l);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");q.appendChild(g);var A=document.createElement("input");A.style.cssText="margin:0 8px 0 8px;";A.setAttribute("value","1");A.setAttribute("type","number");A.setAttribute("min", +"1");A.style.width="50px";q.appendChild(A);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));q.appendChild(g);var x=A.cloneNode(!0);q.appendChild(x);mxEvent.addListener(A,"focus",function(){l.checked=!0});mxEvent.addListener(x,"focus",function(){l.checked=!0});mxEvent.addListener(A,"change",b);mxEvent.addListener(x,"change",b);if(null!=a.pages&&(e=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){n=g+1;A.value=n;x.value=n;break}A.setAttribute("max", +e);x.setAttribute("max",e);1<e&&k.appendChild(q);var y=document.createElement("div");y.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");y.appendChild(m);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));y.appendChild(g);var v=document.createElement("input");v.style.cssText="margin:0 8px 0 8px;";v.setAttribute("value","100 %");v.style.width= +"50px";y.appendChild(v);mxEvent.addListener(v,"focus",function(){m.checked=!0});k.appendChild(y);var q=q.cloneNode(!1),D=m.cloneNode(!0);D.setAttribute("value","fit");m.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(D);q.appendChild(g);y=document.createElement("table");y.style.display="inline-block";var p=document.createElement("tbody"),C=document.createElement("tr"),E=C.cloneNode(!0), +u=document.createElement("td"),z=u.cloneNode(!0),J=u.cloneNode(!0),B=u.cloneNode(!0),ga=u.cloneNode(!0),T=u.cloneNode(!0);u.style.textAlign="right";B.style.textAlign="right";mxUtils.write(u,mxResources.get("fitTo"));var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","1");S.setAttribute("min","1");S.setAttribute("type","number");S.style.width="40px";z.appendChild(S);g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsAcross")); +J.appendChild(g);mxUtils.write(B,mxResources.get("fitToBy"));var ea=S.cloneNode(!0);ga.appendChild(ea);mxEvent.addListener(S,"focus",function(){D.checked=!0});mxEvent.addListener(ea,"focus",function(){D.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));T.appendChild(g);C.appendChild(u);C.appendChild(z);C.appendChild(J);E.appendChild(B);E.appendChild(ga);E.appendChild(T);p.appendChild(C);p.appendChild(E);y.appendChild(p);q.appendChild(y);k.appendChild(q); +q=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));q.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var ta=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);q.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));q.appendChild(g);var K=document.createElement("input"); +K.style.cssText="margin:0 8px 0 8px;";K.setAttribute("value","100 %");K.style.width="60px";q.appendChild(K);k.appendChild(q);g=document.createElement("div");g.style.cssText="text-align:right;margin:48px 0 0 0;";q=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});q.className="geBtn";a.editor.cancelFirst&&g.appendChild(q);a.isOffline()||(y=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),y.className="geBtn", +g.appendChild(y));PrintDialog.previewEnabled&&(y=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),y.className="geBtn",g.appendChild(y));y=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});y.className="geBtn gePrimaryBtn";g.appendChild(y);a.editor.cancelFirst||g.appendChild(q);k.appendChild(g);this.container=k};var y=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)):(y.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&& +(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var D=document.createElement("canvas"),C=new Image;C.onload=function(){try{D.getContext("2d").drawImage(C,0,0);var a=D.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(J){}}; +C.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(v){}})(); +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,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="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t"; EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":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.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.logError= -function(a,b,d,e,n){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,d,e,n);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var c=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",f=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:""; -n=null!=n?n:Error(a);(new Image).src=f+"/log?severity="+c+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(d)+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=n&&null!=n.stack?"&stack="+encodeURIComponent(n.stack):"")}}catch(x){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var c=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL: -"";(new Image).src=c+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(g){}}; -EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)a.push(arguments[b]);console.log.apply(console,a)}}catch(g){}};EditorUi.parsePng=function(a,b,d){function c(a,c){var b=e;e+=c;return a.substring(b,e)}function f(a){a=c(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(c(a, -4),"IHDR"!=c(a,4))null!=d&&d();else{c(a,17);do{d=f(a);var g=c(a,4);if(null!=b&&b(e-8,g,d))break;value=c(a,d);c(a,4);if("IEND"==g)break}while(d)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};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.timeout=Editor.prototype.timeout; +function(a,b,c,e,n){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,c,e,n);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var d=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",f=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:""; +n=null!=n?n:Error(a);(new Image).src=f+"/log?severity="+d+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=n&&null!=n.stack?"&stack="+encodeURIComponent(n.stack):"")}}catch(x){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL: +"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(k){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(k){}}; +EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)a.push(arguments[b]);console.log.apply(console,a)}}catch(k){}};EditorUi.parsePng=function(a,b,c){function d(a,d){var b=k;k+=d;return a.substring(b,k)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a, +4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(k-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};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.timeout=Editor.prototype.timeout; EditorUi.prototype.sidebarFooterHeight=38;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"/>'); EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.maxTextBytes=5E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.insertTemplateEnabled=!0;EditorUi.prototype.closableScratchpad= -!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(n){}try{var b=document.createElement("canvas"),d=new Image;d.onload=function(){try{b.getContext("2d").drawImage(d,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(l){}};d.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{b= -document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(n){}})();EditorUi.prototype.openLink=function(a,b,d){return this.editor.graph.openLink(a,b,d)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,d){localStorage.setItem(a,b);null!=d&&d()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a); +!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(n){}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(g){}};c.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(n){}try{b= +document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(n){}})();EditorUi.prototype.openLink=function(a,b,c){return this.editor.graph.openLink(a,b,c)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);null!=c&&c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a); b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(a){return this.isOfflineApp()|| -!navigator.onLine||!a&&"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,d){d=null!=d?d:24;var c=new Spinner({lines:12,length:d,width:Math.round(d/3),radius:Math.round(d/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=c.spin;c.spin=function(d,e){var g=!1;this.active||(f.call(this,d),this.active=!0,null!=e&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243", -g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight="10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),"..."!=e.substring(e.length-3,e.length)&&"!"!= -e.charAt(e.length-1)&&(e+="..."),g.innerHTML=e,d.appendChild(g),c.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0,b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(d,e)}));this.stop();return a}),g=!0);return g};var e=c.stop;c.stop=function(){e.call(this);this.active=!1;null!= -c.status&&(c.status.parentNode.removeChild(c.status),c.status=null)};c.pause=function(){return function(){}};return c};EditorUi.prototype.isCompatibleString=function(a){try{var c=mxUtils.parseXml(a),b=this.editor.extractGraphModel(c.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(q){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==a.charCodeAt(3)&&161==a.charCodeAt(4)&& +!navigator.onLine||!a&&"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,k){var g=!1;this.active||(f.call(this,c),this.active=!0,null!=k&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243", +g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight="10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),"..."!=k.substring(k.length-3,k.length)&&"!"!= +k.charAt(k.length-1)&&(k+="..."),g.innerHTML=k,c.appendChild(g),d.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0,b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,k)}));this.stop();return a}),g=!0);return g};var k=d.stop;d.stop=function(){k.call(this);this.active=!1;null!= +d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(q){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==a.charCodeAt(3)&&161==a.charCodeAt(4)&& 177==a.charCodeAt(5)&&26==a.charCodeAt(6)&&225==a.charCodeAt(7)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&4==a.charCodeAt(3)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&6==a.charCodeAt(3)};EditorUi.prototype.isPngData=function(a){return 8<a.length&&137==a.charCodeAt(0)&&80==a.charCodeAt(1)&&78==a.charCodeAt(2)&&71==a.charCodeAt(3)&&13==a.charCodeAt(4)&&10==a.charCodeAt(5)&&26==a.charCodeAt(6)&&10==a.charCodeAt(7)};var a=EditorUi.prototype.extractGraphModelFromHtml; -EditorUi.prototype.extractGraphModelFromHtml=function(c){var b=a.apply(this,arguments);if(null==b)try{var d=c.indexOf("<mxfile ");if(0<=d){var e=c.lastIndexOf("</mxfile>");e>d&&(b=c.substring(d,e+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var n=mxUtils.parseXml(c),l=this.editor.extractGraphModel(n.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!=l?mxUtils.getXml(l):""}catch(A){}return b};EditorUi.prototype.validateFileData= -function(a){if(null!=a&&0<a.length){var c=a.indexOf('<meta charset="utf-8">');0<=c&&(a=a.slice(0,c)+'<meta charset="utf-8"/>'+a.slice(c+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var c=null!=a?this.editor.extractGraphModel(a,!0):null;null!=c&&(a=c);if(null!=a){c=this.editor.graph;c.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram"); -if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=d.length-1;0<=e;e--){var l=this.updatePageRoot(new DiagramPage(d[e]));null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[e+1]));c.model.execute(new ChangePage(this,l,0==e?l:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")), -this.currentPage.setName(mxResources.get("pageWithNumber",[1])),c.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)c.model.execute(new ChangePage(this,b[e],null))}finally{c.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,d,e,n,l,k,x,t,m,z){b=null!=b?b:this.editor.graph;n=null!=n?n:!1;t=null!=t?t:!0;var c,f=null;null== -d||d.getMode()==App.MODE_DEVICE||d.getMode()==App.MODE_BROWSER?c="_blank":f=c=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){if(z){var q=a.ownerDocument.createElement("diagram");q.setAttribute("id",Editor.guid());q.appendChild(a)}else{q=Graph.zapGremlins(mxUtils.getXml(a));g=Graph.compress(q);if(Graph.decompress(g)!=q)return q;q=a.ownerDocument.createElement("diagram");q.setAttribute("id",Editor.guid());mxUtils.setTextContent(q,g)}g=a.ownerDocument.createElement("mxfile");g.appendChild(q)}m? -(g=g.cloneNode(!0),g.removeAttribute("modified"),g.removeAttribute("host"),g.removeAttribute("agent"),g.removeAttribute("etag"),g.removeAttribute("userAgent"),g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.removeAttribute("userAgent"),g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("pages"),g.removeAttribute("type"),mxClient.IS_CHROMEAPP?g.setAttribute("host","Chrome"):EditorUi.isElectronApp?g.setAttribute("host","Electron"):g.setAttribute("host", -window.location.hostname),g.setAttribute("modified",(new Date).toISOString()),g.setAttribute("agent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("etag",Editor.guid()),a=null!=d?d.getMode():this.mode,null!=a&&g.setAttribute("type",a),null!=this.pages&&g.setAttribute("pages",this.pages.length));z=z?mxUtils.getPrettyXml(g):mxUtils.getXml(g);if(!l&&!n&&(k||null!=d&&/(\.html)$/i.test(d.getTitle())))z=this.getHtml2(mxUtils.getXml(g),b,null!=d?d.getTitle():null,c,f);else if(l|| -!n&&null!=d&&/(\.svg)$/i.test(d.getTitle()))null==d||d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER||(e=null),z=this.getEmbeddedSvg(z,b,e,null,x,t,f);return z};EditorUi.prototype.getXmlFileData=function(a,b,d){a=null!=a?a:!0;b=null!=b?b:!1;d=null!=d?d:!Editor.compressXml;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage)if(a=function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&d?(b=mxUtils.trim(mxUtils.getTextContent(a)), -a=a.cloneNode(!1),0<b.length&&(b=Graph.decompress(b),null!=b&&0<b.length&&a.appendChild(mxUtils.parseXml(b).documentElement))):null==b||d?a=a.cloneNode(!0):(a=a.cloneNode(!1),mxUtils.setTextContent(a,Graph.compressNode(b)));c.appendChild(a)},EditorUi.removeChildNodes(this.currentPage.node),mxUtils.setTextContent(this.currentPage.node,Graph.compressNode(c)),c=this.fileNode.cloneNode(!1),b)a(this.currentPage.node);else for(b=0;b<this.pages.length;b++){if(this.currentPage!=this.pages[b]&&this.pages[b].needsUpdate){var f= -(new mxCodec(mxUtils.createXmlDocument())).encode(new mxGraphModel(this.pages[b].root));this.editor.graph.saveViewState(this.pages[b].viewState,f);EditorUi.removeChildNodes(this.pages[b].node);mxUtils.setTextContent(this.pages[b].node,Graph.compressNode(f));delete this.pages[b].needsUpdate}a(this.pages[b].node)}return c};EditorUi.prototype.anonymizeString=function(a,b){for(var c=[],f=0;f<a.length;f++){var d=a.charAt(f);0<=EditorUi.ignoredAnonymizedChars.indexOf(d)?c.push(d):isNaN(parseInt(d))?d.toLowerCase()!= -d?c.push(String.fromCharCode(65+Math.round(25*Math.random()))):d.toUpperCase()!=d?c.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(d)?c.push(" "):c.push("?"):c.push(b?"0":Math.round(9*Math.random()))}return c.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var c=0;c<a[EditorUi.DIFF_INSERT].length;c++)try{var b=mxUtils.parseXml(a[EditorUi.DIFF_INSERT][c].data).documentElement.cloneNode(!1);null!=b.getAttribute("name")&&b.setAttribute("name", -this.anonymizeString(b.getAttribute("name")));a[EditorUi.DIFF_INSERT][c].data=mxUtils.getXml(b)}catch(l){a[EditorUi.DIFF_INSERT][c].data=l.message}if(null!=a[EditorUi.DIFF_UPDATE]){for(var d in a[EditorUi.DIFF_UPDATE]){var e=a[EditorUi.DIFF_UPDATE][d];null!=e.name&&(e.name=this.anonymizeString(e.name));null!=e.cells&&(c=mxUtils.bind(this,function(a){var c=e.cells[a];if(null!=c){for(var b in c)null!=c[b].value&&(c[b].value="["+c[b].value.length+"]"),null!=c[b].xmlValue&&(c[b].xmlValue="["+c[b].xmlValue.length+ -"]"),null!=c[b].style&&(c[b].style="["+c[b].style.length+"]"),0==Object.keys(c[b]).length&&delete c[b];0==Object.keys(c).length&&delete e.cells[a]}}),c(EditorUi.DIFF_INSERT),c(EditorUi.DIFF_UPDATE),0==Object.keys(e.cells).length&&delete e.cells);0==Object.keys(e).length&&delete a[EditorUi.DIFF_UPDATE][d]}0==Object.keys(a[EditorUi.DIFF_UPDATE]).length&&delete a[EditorUi.DIFF_UPDATE]}return a};EditorUi.prototype.anonymizeAttributes=function(a,b){if(null!=a.attributes)for(var c=0;c<a.attributes.length;c++)"as"!= -a.attributes[c].name&&a.setAttribute(a.attributes[c].name,this.anonymizeString(a.attributes[c].value,b));if(null!=a.childNodes)for(c=0;c<a.childNodes.length;c++)this.anonymizeAttributes(a.childNodes[c],b)};EditorUi.prototype.anonymizeNode=function(a,b){for(var c=a.getElementsByTagName("mxCell"),f=0;f<c.length;f++)null!=c[f].getAttribute("value")&&c[f].setAttribute("value","["+c[f].getAttribute("value").length+"]"),null!=c[f].getAttribute("xmlValue")&&c[f].setAttribute("xmlValue","["+c[f].getAttribute("xmlValue").length+ -"]"),null!=c[f].getAttribute("style")&&c[f].setAttribute("style","["+c[f].getAttribute("style").length+"]"),null!=c[f].parentNode&&"root"!=c[f].parentNode.nodeName&&null!=c[f].parentNode.parentNode&&(c[f].setAttribute("id",c[f].parentNode.getAttribute("id")),c[f].parentNode.parentNode.replaceChild(c[f],c[f].parentNode));return a};EditorUi.prototype.synchronizeCurrentFile=function(a){var c=this.getCurrentFile();null!=c&&(c.savingFile?this.handleError({message:mxResources.get("busy")}):!a&&c.invalidChecksum? -c.handleFileError(null,!0):this.spinner.spin(document.body,mxResources.get("updatingDocument"))&&(c.clearAutosave(),this.editor.setStatus(""),a?c.reloadFile(mxUtils.bind(this,function(){c.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){c.handleFileError(a,!0)})):c.synchronizeFile(mxUtils.bind(this,function(){c.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){c.handleFileError(a,!0)}))))};EditorUi.prototype.getFileData=function(a,b,d,e,n,l,k, -x,t,m){n=null!=n?n:!0;l=null!=l?l:!1;var c=this.editor.graph;if(b||!a&&null!=t&&/(\.svg)$/i.test(t.getTitle()))if(m=!1,null!=this.pages&&this.currentPage!=this.pages[0]){var f=c.getGlobalVariable,c=this.createTemporaryGraph(c.getStylesheet()),g=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(g.root)}k=null!=k?k:this.getXmlFileData(n,l,m);t=null!=t?t:this.getCurrentFile();a=this.createFileData(k, -c,t,window.location.href,a,b,d,e,n,x,m);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);return a};EditorUi.prototype.getHtml=function(a,b,d,e,n,l){l=null!=l?l:!0;var c=null,f=EditorUi.drawHost+"/js/embed-static.min.js";if(null!=b){var c=l?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;l=Math.floor(c.x/g-b.view.translate.x);g=Math.floor(c.y/g-b.view.translate.y);c=b.background;null==n&&(b=this.getBasenames().join(";"),0<b.length&&(f=EditorUi.drawHost+ -"/embed.js?s="+b));a.setAttribute("x0",l);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=n&&(n=n.replace(/&/g,"&"));a=null!=a?Graph.zapGremlins(mxUtils.getXml(a)):"";e=Graph.compress(a);Graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n': -"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n":"")+"</head>\n<body"+(null==n&&null!=c&&c!=mxConstants.NONE?' style="background-color:'+c+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+ -"</div>\n</div>\n"+(null==n?'<script type="text/javascript" src="'+f+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+n+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,d,e,n){b=EditorUi.drawHost+"/js/viewer.min.js";null!=n&&(n=n.replace(/&/g,"&"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:Graph.zapGremlins(a), -toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n": +EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("<mxfile ");if(0<=c){var e=d.lastIndexOf("</mxfile>");e>c&&(b=d.substring(c,e+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var n=mxUtils.parseXml(d),g=this.editor.extractGraphModel(n.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!=g?mxUtils.getXml(g):""}catch(A){}return b};EditorUi.prototype.validateFileData= +function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;d.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram"); +if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var g=this.updatePageRoot(new DiagramPage(c[e]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,g,0==e?g:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")), +this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,e,n,g,l,x,t,m,y){b=null!=b?b:this.editor.graph;n=null!=n?n:!1;t=null!=t?t:!0;var d,f=null;null== +c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var k=a;if("mxfile"!=k.nodeName.toLowerCase()){if(y){var q=a.ownerDocument.createElement("diagram");q.setAttribute("id",Editor.guid());q.appendChild(a)}else{q=Graph.zapGremlins(mxUtils.getXml(a));k=Graph.compress(q);if(Graph.decompress(k)!=q)return q;q=a.ownerDocument.createElement("diagram");q.setAttribute("id",Editor.guid());mxUtils.setTextContent(q,k)}k=a.ownerDocument.createElement("mxfile");k.appendChild(q)}m? +(k=k.cloneNode(!0),k.removeAttribute("modified"),k.removeAttribute("host"),k.removeAttribute("agent"),k.removeAttribute("etag"),k.removeAttribute("userAgent"),k.removeAttribute("version"),k.removeAttribute("editor"),k.removeAttribute("type")):(k.removeAttribute("userAgent"),k.removeAttribute("version"),k.removeAttribute("editor"),k.removeAttribute("pages"),k.removeAttribute("type"),mxClient.IS_CHROMEAPP?k.setAttribute("host","Chrome"):EditorUi.isElectronApp?k.setAttribute("host","Electron"):k.setAttribute("host", +window.location.hostname),k.setAttribute("modified",(new Date).toISOString()),k.setAttribute("agent",navigator.userAgent),k.setAttribute("version",EditorUi.VERSION),k.setAttribute("etag",Editor.guid()),a=null!=c?c.getMode():this.mode,null!=a&&k.setAttribute("type",a),null!=this.pages&&k.setAttribute("pages",this.pages.length));y=y?mxUtils.getPrettyXml(k):mxUtils.getXml(k);if(!g&&!n&&(l||null!=c&&/(\.html)$/i.test(c.getTitle())))y=this.getHtml2(mxUtils.getXml(k),b,null!=c?c.getTitle():null,d,f);else if(g|| +!n&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),y=this.getEmbeddedSvg(y,b,e,null,x,t,f);return y};EditorUi.prototype.getXmlFileData=function(a,b,c){a=null!=a?a:!0;b=null!=b?b:!1;c=null!=c?c:!Editor.compressXml;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage)if(a=function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&c?(b=mxUtils.trim(mxUtils.getTextContent(a)), +a=a.cloneNode(!1),0<b.length&&(b=Graph.decompress(b),null!=b&&0<b.length&&a.appendChild(mxUtils.parseXml(b).documentElement))):null==b||c?a=a.cloneNode(!0):(a=a.cloneNode(!1),mxUtils.setTextContent(a,Graph.compressNode(b)));d.appendChild(a)},EditorUi.removeChildNodes(this.currentPage.node),mxUtils.setTextContent(this.currentPage.node,Graph.compressNode(d)),d=this.fileNode.cloneNode(!1),b)a(this.currentPage.node);else for(b=0;b<this.pages.length;b++){if(this.currentPage!=this.pages[b]&&this.pages[b].needsUpdate){var f= +(new mxCodec(mxUtils.createXmlDocument())).encode(new mxGraphModel(this.pages[b].root));this.editor.graph.saveViewState(this.pages[b].viewState,f);EditorUi.removeChildNodes(this.pages[b].node);mxUtils.setTextContent(this.pages[b].node,Graph.compressNode(f));delete this.pages[b].needsUpdate}a(this.pages[b].node)}return d};EditorUi.prototype.anonymizeString=function(a,b){for(var d=[],c=0;c<a.length;c++){var f=a.charAt(c);0<=EditorUi.ignoredAnonymizedChars.indexOf(f)?d.push(f):isNaN(parseInt(f))?f.toLowerCase()!= +f?d.push(String.fromCharCode(65+Math.round(25*Math.random()))):f.toUpperCase()!=f?d.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(f)?d.push(" "):d.push("?"):d.push(b?"0":Math.round(9*Math.random()))}return d.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var d=0;d<a[EditorUi.DIFF_INSERT].length;d++)try{var b=mxUtils.parseXml(a[EditorUi.DIFF_INSERT][d].data).documentElement.cloneNode(!1);null!=b.getAttribute("name")&&b.setAttribute("name", +this.anonymizeString(b.getAttribute("name")));a[EditorUi.DIFF_INSERT][d].data=mxUtils.getXml(b)}catch(g){a[EditorUi.DIFF_INSERT][d].data=g.message}if(null!=a[EditorUi.DIFF_UPDATE]){for(var c in a[EditorUi.DIFF_UPDATE]){var e=a[EditorUi.DIFF_UPDATE][c];null!=e.name&&(e.name=this.anonymizeString(e.name));null!=e.cells&&(d=mxUtils.bind(this,function(a){var d=e.cells[a];if(null!=d){for(var b in d)null!=d[b].value&&(d[b].value="["+d[b].value.length+"]"),null!=d[b].xmlValue&&(d[b].xmlValue="["+d[b].xmlValue.length+ +"]"),null!=d[b].style&&(d[b].style="["+d[b].style.length+"]"),0==Object.keys(d[b]).length&&delete d[b];0==Object.keys(d).length&&delete e.cells[a]}}),d(EditorUi.DIFF_INSERT),d(EditorUi.DIFF_UPDATE),0==Object.keys(e.cells).length&&delete e.cells);0==Object.keys(e).length&&delete a[EditorUi.DIFF_UPDATE][c]}0==Object.keys(a[EditorUi.DIFF_UPDATE]).length&&delete a[EditorUi.DIFF_UPDATE]}return a};EditorUi.prototype.anonymizeAttributes=function(a,b){if(null!=a.attributes)for(var d=0;d<a.attributes.length;d++)"as"!= +a.attributes[d].name&&a.setAttribute(a.attributes[d].name,this.anonymizeString(a.attributes[d].value,b));if(null!=a.childNodes)for(d=0;d<a.childNodes.length;d++)this.anonymizeAttributes(a.childNodes[d],b)};EditorUi.prototype.anonymizeNode=function(a,b){for(var d=a.getElementsByTagName("mxCell"),c=0;c<d.length;c++)null!=d[c].getAttribute("value")&&d[c].setAttribute("value","["+d[c].getAttribute("value").length+"]"),null!=d[c].getAttribute("xmlValue")&&d[c].setAttribute("xmlValue","["+d[c].getAttribute("xmlValue").length+ +"]"),null!=d[c].getAttribute("style")&&d[c].setAttribute("style","["+d[c].getAttribute("style").length+"]"),null!=d[c].parentNode&&"root"!=d[c].parentNode.nodeName&&null!=d[c].parentNode.parentNode&&(d[c].setAttribute("id",d[c].parentNode.getAttribute("id")),d[c].parentNode.parentNode.replaceChild(d[c],d[c].parentNode));return a};EditorUi.prototype.synchronizeCurrentFile=function(a){var d=this.getCurrentFile();null!=d&&(d.savingFile?this.handleError({message:mxResources.get("busy")}):!a&&d.invalidChecksum? +d.handleFileError(null,!0):this.spinner.spin(document.body,mxResources.get("updatingDocument"))&&(d.clearAutosave(),this.editor.setStatus(""),a?d.reloadFile(mxUtils.bind(this,function(){d.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){d.handleFileError(a,!0)})):d.synchronizeFile(mxUtils.bind(this,function(){d.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){d.handleFileError(a,!0)}))))};EditorUi.prototype.getFileData=function(a,b,c,e,n,g,l, +x,t,m){n=null!=n?n:!0;g=null!=g?g:!1;var d=this.editor.graph;if(b||!a&&null!=t&&/(\.svg)$/i.test(t.getTitle()))if(m=!1,null!=this.pages&&this.currentPage!=this.pages[0]){var f=d.getGlobalVariable,d=this.createTemporaryGraph(d.getStylesheet()),k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container);d.model.setRoot(k.root)}l=null!=l?l:this.getXmlFileData(n,g,m);t=null!=t?t:this.getCurrentFile();a=this.createFileData(l, +d,t,window.location.href,a,b,c,e,n,x,m);d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);return a};EditorUi.prototype.getHtml=function(a,b,c,e,n,g){g=null!=g?g:!0;var d=null,f=EditorUi.drawHost+"/js/embed-static.min.js";if(null!=b){var d=g?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),k=b.view.scale;g=Math.floor(d.x/k-b.view.translate.x);k=Math.floor(d.y/k-b.view.translate.y);d=b.background;null==n&&(b=this.getBasenames().join(";"),0<b.length&&(f=EditorUi.drawHost+ +"/embed.js?s="+b));a.setAttribute("x0",g);a.setAttribute("y0",k)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=n&&(n=n.replace(/&/g,"&"));a=null!=a?Graph.zapGremlins(mxUtils.getXml(a)):"";e=Graph.compress(a);Graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n': +"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n":"")+"</head>\n<body"+(null==n&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+ +"</div>\n</div>\n"+(null==n?'<script type="text/javascript" src="'+f+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+n+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,n){b=EditorUi.drawHost+"/js/viewer.min.js";null!=n&&(n=n.replace(/&/g,"&"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:Graph.zapGremlins(a), +toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n": "")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==n?'<script type="text/javascript" src="'+b+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+n+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a= -this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var c=Editor.extractParserError(a,mxResources.get("invalidOrMissingFile"));if(c)throw Error(c);c=null!=a?this.editor.extractGraphModel(a,!0):null;null!=c&&(a=c);if(null!=a&&"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name"))){var b=null;this.fileNode=a;this.pages=[];for(var d=0;d<c.length;d++)null== -c[d].getAttribute("id")&&c[d].setAttribute("id",d),a=new DiagramPage(c[d]),null==a.getName()&&a.setName(mxResources.get("pageWithNumber",[d+1])),this.pages.push(a),null!=urlParams["page-id"]&&a.getId()==urlParams["page-id"]&&(b=a);this.currentPage=null!=b?b:this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")), -this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var e=urlParams["layer-ids"].split(" ");a={};for(d=0;d<e.length;d++)a[e[d]]=!0;for(var l=this.editor.graph.getModel(),k=l.getChildren(l.root),d=0;d<k.length;d++){var x=k[d];l.setVisible(x,a[x.id]||!1)}}catch(t){}};EditorUi.prototype.getBaseFilename=function(a){var c= -this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(c)||/(\.html)$/i.test(c)||/(\.svg)$/i.test(c)||/(\.png)$/i.test(c)||/(\.drawio)$/i.test(c))c=c.substring(0,c.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(c=c+"-"+this.currentPage.getName());return c};EditorUi.prototype.downloadFile=function(a,b,d,e,n,l,k,x,t,m){try{e= -null!=e?e:this.editor.graph.isSelectionEmpty();var c=this.getBaseFilename(!n),f=c+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,null,null,e,n,null,null,null,b);this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,c),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=c+".png":"jpeg"==a&&(f=c+".jpg"),this.saveRequest(f, -a,mxUtils.bind(this,function(c,b){try{var f=this.editor.graph.pageVisible;null!=l&&(this.editor.graph.pageVisible=l);var d=this.createDownloadRequest(c,a,e,b,k,n,x,t,m);this.editor.graph.pageVisible=f;return d}catch(R){this.handleError(R)}}));else{var q=null,A=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"== -a){var p=this.editor.graph.background;if(k||p==mxConstants.NONE)p=null;var F=this.editor.graph.getSvg(p,null,null,null,null,e);d&&this.editor.graph.addSvgShadow(F);this.convertImages(F,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();A('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=c+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop(); -A(a)}),e)}}catch(N){this.handleError(N)}};EditorUi.prototype.createDownloadRequest=function(a,b,d,e,n,l,k,x,t){var c=this.editor.graph,f=c.getGraphBounds();d=this.getFileData(!0,null,null,null,d,0==l?!1:"xmlpng"!=b);var g="",q="";if(f.width*f.height>MAX_AREA||d.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";"pdf"==b&&0==l&&(q="&allPages=1");if("xmlpng"==b&&(f="1",b="png",null!=this.pages&&null!=this.currentPage))for(l=0;l<this.pages.length;l++)if(this.pages[l]==this.currentPage){g= -"&from="+l;break}l=c.background;"png"==b&&n?l=mxConstants.NONE:n||null!=l&&l!=mxConstants.NONE||(l="#ffffff");n={globalVars:c.getExportVariables()};t&&(n.grid={size:c.gridSize,steps:c.view.gridSteps,color:c.view.gridColor});return new mxXmlRequest(EXPORT_URL,"format="+b+g+q+"&bg="+(null!=l?l:mxConstants.NONE)+"&base64="+e+"&embedXml="+f+"&xml="+encodeURIComponent(d)+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(n))+(null!=k?"&scale="+k:"")+(null!=x?"&border="+ -x:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,d){var c=window.location.hash,f=mxUtils.bind(this,function(f){var d=null!=a.data?a.data:"";null!=f&&0<f.length&&(0<d.length&&(d+="\n"),d+=f);f=new LocalFile(this,"csv"!=a.format&&0<d.length?d:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);f.getHash=function(){return c};this.fileLoaded(f);"csv"==a.format&&this.importCsv(d,mxUtils.bind(this, -function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,l=mxUtils.bind(this,function(){var c=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){c===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+ -" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(l,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();l()}));n();l()}null!=b&&b()});if(null!=a.url&&0<a.url.length){var e=a.url;/^https?:\/\//.test(e)&&!this.editor.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(e));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=d&& -d(a)}))}else f("")};EditorUi.prototype.updateDiagram=function(a){function c(a){var c=new mxCellOverlay(a.image||e.warningImage,a.tooltip,a.align,a.valign,a.offset);c.addListener(mxEvent.CLICK,function(c,b){d.alert(a.tooltip)});return c}var b=null,d=this;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var e=this.editor.graph,l=e.getModel();l.beginUpdate();var k=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var x=l.getCell(a.getAttribute("id")); -if(null!=x){try{var t=a.getAttribute("value");if(null!=t){var m=mxUtils.parseXml(t).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))l.setValue(x,m);else for(var z=m.attributes,p=0;p<z.length;p++)e.setAttributeForCell(x,z[p].nodeName,0<z[p].nodeValue.length?z[p].nodeValue:null)}}catch(G){null!=window.console&&console.log("Error in value for "+x.id+": "+G)}try{var C=a.getAttribute("style");null!=C&&e.model.setStyle(x,C)}catch(G){null!=window.console&&console.log("Error in style for "+ -x.id+": "+G)}try{var v=a.getAttribute("icon");if(null!=v){var u=0<v.length?JSON.parse(v):null;null!=u&&u.append||e.removeCellOverlays(x);null!=u&&e.addCellOverlay(x,c(u))}}catch(G){null!=window.console&&console.log("Error in icon for "+x.id+": "+G)}try{var y=a.getAttribute("geometry");if(null!=y){var y=JSON.parse(y),I=e.getCellGeometry(x);if(null!=I){I=I.clone();for(key in y){var N=parseFloat(y[key]);"dx"==key?I.x+=N:"dy"==key?I.y+=N:"dw"==key?I.width+=N:"dh"==key?I.height+=N:I[key]=parseFloat(y[key])}e.model.setGeometry(x, -I)}}}catch(G){null!=window.console&&console.log("Error in icon for "+x.id+": "+G)}}}else if("model"==a.nodeName){for(var D=a.firstChild;null!=D&&D.nodeType!=mxConstants.NODETYPE_ELEMENT;)D=D.nextSibling;null!=D&&(new mxCodec(a.firstChild)).decode(D,l)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(e.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))e.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"== -a.nodeName&&(k=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{l.endUpdate()}null!=k&&this.chromelessResize&&this.chromelessResize(!0,k)}return b};EditorUi.prototype.getCopyFilename=function(a,b){var c=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,f="",d=c.lastIndexOf(".");0<=d&&(f=c.substring(d),c=c.substring(0,d));if(b)var e=new Date,d=e.getFullYear(),k=e.getMonth()+1,x=e.getDate(),t=e.getHours(),m=e.getMinutes(),e=e.getSeconds(),c= -c+(" "+(d+"-"+k+"-"+x+"-"+t+"-"+m+"-"+e));return c=mxResources.get("copyOf",[c])+f};EditorUi.prototype.fileLoaded=function(a,b){var c=this.getCurrentFile();this.fileLoadedError=null;this.setCurrentFile(null);var f=!1;this.hideDialog();null!=c&&(EditorUi.debug("File.closed",[c]),c.removeListener(this.descriptorChangedListener),c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle(); +this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=Editor.extractParserError(a,mxResources.get("invalidOrMissingFile"));if(d)throw Error(d);d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a&&"mxfile"==a.nodeName&&(d=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name"))){var b=null;this.fileNode=a;this.pages=[];for(var c=0;c<d.length;c++)null== +d[c].getAttribute("id")&&d[c].setAttribute("id",c),a=new DiagramPage(d[c]),null==a.getName()&&a.setName(mxResources.get("pageWithNumber",[c+1])),this.pages.push(a),null!=urlParams["page-id"]&&a.getId()==urlParams["page-id"]&&(b=a);this.currentPage=null!=b?b:this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")), +this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var e=urlParams["layer-ids"].split(" ");a={};for(c=0;c<e.length;c++)a[e[c]]=!0;for(var g=this.editor.graph.getModel(),l=g.getChildren(g.root),c=0;c<l.length;c++){var x=l[c];g.setVisible(x,a[x.id]||!1)}}catch(t){}};EditorUi.prototype.getBaseFilename=function(a){var d= +this.getCurrentFile(),d=null!=d&&null!=d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d)||/(\.drawio)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,n,g,l,x,t,m){try{e= +null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!n),f=d+"."+a;if("xml"==a){var k='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,null,null,e,n,null,null,null,b);this.saveData(f,a,k,"text/xml")}else if("html"==a)k=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,k,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f, +a,mxUtils.bind(this,function(d,b){try{var c=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var f=this.createDownloadRequest(d,a,e,b,l,n,x,t,m);this.editor.graph.pageVisible=c;return f}catch(R){this.handleError(R)}}));else{var q=null,A=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"== +a){var p=this.editor.graph.background;if(l||p==mxConstants.NONE)p=null;var E=this.editor.graph.getSvg(p,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(E);this.convertImages(E,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();A('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=d+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop(); +A(a)}),e)}}catch(N){this.handleError(N)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,e,n,g,l,x,t){var d=this.editor.graph,f=d.getGraphBounds();c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var k="",q="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";"pdf"==b&&0==g&&(q="&allPages=1");if("xmlpng"==b&&(f="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){k= +"&from="+g;break}g=d.background;"png"==b&&n?g=mxConstants.NONE:n||null!=g&&g!=mxConstants.NONE||(g="#ffffff");n={globalVars:d.getExportVariables()};t&&(n.grid={size:d.gridSize,steps:d.view.gridSteps,color:d.view.gridColor});return new mxXmlRequest(EXPORT_URL,"format="+b+k+q+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+f+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(n))+(null!=l?"&scale="+l:"")+(null!=x?"&border="+ +x:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this, +function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var k=null!=a.interval?parseInt(a.interval):6E4,g=null,e=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+ +" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(e,k)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();e()}));n();e()}null!=b&&b()});if(null!=a.url&&0<a.url.length){var k=a.url;/^https?:\/\//.test(k)&&!this.editor.isCorsEnabledForUrl(k)&&(k=PROXY_URL+"?url="+encodeURIComponent(k));this.loadUrl(k,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&& +c(a)}))}else f("")};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||e.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){c.alert(a.tooltip)});return d}var b=null,c=this;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var e=this.editor.graph,g=e.getModel();g.beginUpdate();var l=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var x=g.getCell(a.getAttribute("id")); +if(null!=x){try{var t=a.getAttribute("value");if(null!=t){var m=mxUtils.parseXml(t).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))g.setValue(x,m);else for(var y=m.attributes,p=0;p<y.length;p++)e.setAttributeForCell(x,y[p].nodeName,0<y[p].nodeValue.length?y[p].nodeValue:null)}}catch(G){null!=window.console&&console.log("Error in value for "+x.id+": "+G)}try{var C=a.getAttribute("style");null!=C&&e.model.setStyle(x,C)}catch(G){null!=window.console&&console.log("Error in style for "+ +x.id+": "+G)}try{var v=a.getAttribute("icon");if(null!=v){var u=0<v.length?JSON.parse(v):null;null!=u&&u.append||e.removeCellOverlays(x);null!=u&&e.addCellOverlay(x,d(u))}}catch(G){null!=window.console&&console.log("Error in icon for "+x.id+": "+G)}try{var z=a.getAttribute("geometry");if(null!=z){var z=JSON.parse(z),I=e.getCellGeometry(x);if(null!=I){I=I.clone();for(key in z){var N=parseFloat(z[key]);"dx"==key?I.x+=N:"dy"==key?I.y+=N:"dw"==key?I.width+=N:"dh"==key?I.height+=N:I[key]=parseFloat(z[key])}e.model.setGeometry(x, +I)}}}catch(G){null!=window.console&&console.log("Error in icon for "+x.id+": "+G)}}}else if("model"==a.nodeName){for(var F=a.firstChild;null!=F&&F.nodeType!=mxConstants.NODETYPE_ELEMENT;)F=F.nextSibling;null!=F&&(new mxCodec(a.firstChild)).decode(F,g)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(e.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))e.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"== +a.nodeName&&(l=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{g.endUpdate()}null!=l&&this.chromelessResize&&this.chromelessResize(!0,l)}return b};EditorUi.prototype.getCopyFilename=function(a,b){var d=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,c="",f=d.lastIndexOf(".");0<=f&&(c=d.substring(f),d=d.substring(0,f));if(b)var e=new Date,f=e.getFullYear(),l=e.getMonth()+1,x=e.getDate(),t=e.getHours(),m=e.getMinutes(),e=e.getSeconds(),d= +d+(" "+(f+"-"+l+"-"+x+"-"+t+"-"+m+"-"+e));return d=mxResources.get("copyOf",[d])+c};EditorUi.prototype.fileLoaded=function(a,b){var d=this.getCurrentFile();this.fileLoadedError=null;this.setCurrentFile(null);var c=!1;this.hideDialog();null!=d&&(EditorUi.debug("File.closed",[d]),d.removeListener(this.descriptorChangedListener),d.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var f=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=d&&this.updateDocumentTitle(); this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);!b&&null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.editor.setStatus("");this.updateUi();b||this.showSplash()});if(null!=a)try{mxClient.IS_SF&&"min"==uiTheme&&(this.diagramContainer.style.visibility="");this.openingFile=!0; this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();delete this.openingFile;this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.graph.model.prefix=Editor.guid()+"-";this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();a.isEditable()?a.isModified()?(a.addUnsavedStatus(),null!=a.backupPatch&&a.patch([a.backupPatch])):this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+ -mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>");!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));f=!0;this.isOffline()||null==a.getMode()||EditorUi.logEvent({category:a.getMode().toUpperCase()+"-OPEN-FILE-"+ +mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>");!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));c=!0;this.isOffline()||null==a.getMode()||EditorUi.logEvent({category:a.getMode().toUpperCase()+"-OPEN-FILE-"+ a.getHash(),action:"size_"+a.getSize(),label:"autosave_"+(this.editor.autosave?"on":"off")});EditorUi.debug("File.opened",[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(A){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(A){}}catch(A){this.fileLoadedError=A;null!=window.console&&(console.error(A),console.log("error in fileLoaded:", a,A));if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=A&&null!=A.message?":err:"+encodeURIComponent(A.message):"")+(null!=A&&null!=A.stack?"&stack="+encodeURIComponent(A.stack):"")}catch(x){}var e=mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))? -window.location.search=this.getSearch(["url"]):null!=c?this.fileLoaded(c):d()});b?e():this.handleError(A,mxResources.get("errorLoadingFile"),e,!0)}else d();return f};EditorUi.prototype.getHashValueForPages=function(a,b){var c=0,f=new mxGraphModel,d=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var e=0;e<a.length;e++){this.updatePageRoot(a[e]);var k=a[e].node.cloneNode(!1);k.removeAttribute("name");f.root=a[e].root;var x=d.encode(f);this.editor.graph.saveViewState(a[e].viewState, -x,!0);x.removeAttribute("pageWidth");x.removeAttribute("pageHeight");k.appendChild(x);null!=b&&(b.eltCount+=k.getElementsByTagName("*").length,b.nodeCount+=k.getElementsByTagName("mxCell").length);c=(c<<5)-c+this.hashValue(k,function(a,c,b,f){return!f||"mxGeometry"!=a.nodeName&&"mxPoint"!=a.nodeName||"x"!=c&&"y"!=c&&"width"!=c&&"height"!=c?f&&"mxCell"==a.nodeName&&"previous"==c?null:b:Math.round(b)},b)<<0}return c};EditorUi.prototype.hashValue=function(a,b,d){var c=0;if(null!=a&&"object"===typeof a&& -"number"===typeof a.nodeType&&"string"===typeof a.nodeName&&"function"===typeof a.getAttribute){null!=a.nodeName&&(c^=this.hashValue(a.nodeName,b,d));if(null!=a.attributes){null!=d&&(d.attrCount+=a.attributes.length);for(var f=0;f<a.attributes.length;f++){var e=a.attributes[f].name,g=null!=b?b(a,e,a.attributes[f].value,!0):a.attributes[f].value;null!=g&&(c^=this.hashValue(e,b,d)+this.hashValue(g,b,d))}}if(null!=a.childNodes)for(f=0;f<a.childNodes.length;f++)c=(c<<5)-c+this.hashValue(a.childNodes[f], -b,d)<<0}else if(null!=a&&"function"!==typeof a){a=String(a);b=0;null!=d&&(d.byteCount+=a.length);for(f=0;f<a.length;f++)b=(b<<5)-b+a.charCodeAt(f)<<0;c^=b}return c};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,d,e,n,l,k){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad? -this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var c=mxUtils.createXmlDocument(),b=c.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));c.appendChild(b);return mxUtils.getXml(c)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!= -LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var c=this.sidebar.palettes[a];if(null!=c){for(var b=0;b<c.length;b++)c[b].parentNode.removeChild(c[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var c=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a= -null!=a?a:c.firstChild.nextSibling.nextSibling;var b=c.lastChild,d=b.previousSibling;c.insertBefore(b,a);c.insertBefore(d,b)};EditorUi.prototype.loadLibrary=function(a){var c=mxUtils.parseXml(a.getData());if("mxlibrary"==c.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(c.documentElement));this.libraryLoaded(a,b,c.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded= -function(a,b,d){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var c=this.sidebar.palettes[a.getHash()],c=null!=c?c[c.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(c,b){0==c.length&&a.isEditable()?(null==f&&(f=document.createElement("div"),f.className="geDropTarget",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f)):this.addLibraryEntries(c, -b)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);d=null!=d&&0<d.length?d:a.getTitle();var g=this.sidebar.addPalette(a.getHash(),d,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(c);var k=g.parentNode.previousSibling;d=k.getAttribute("title");null!=d&&0<d.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+d);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px"; -mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");k.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title",mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.cursor="pointer";m.style.margin="0 3px";var z=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(c){if(!mxEvent.isConsumed(c)){var b= -mxUtils.bind(this,function(){this.closeLibrary(a)});null!=z?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(c)}}));if(a.isEditable()){var p=this.editor.graph,C=null,v=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),g,b,a,a.getMode());mxEvent.consume(c)}),u=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=C&&null!=C.parentNode&&C.parentNode.removeChild(C),C=m.cloneNode(!1), -C.setAttribute("src",Editor.spinImage),C.setAttribute("title",mxResources.get("saving")),C.style.cursor="default",C.style.marginRight="2px",C.style.marginTop="-2px",t.insertBefore(C,t.firstChild),k.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=C&&null!=C.parentNode&&(C.parentNode.removeChild(C),k.style.paddingRight=18*t.childNodes.length+"px")})):null==z&&(z=m.cloneNode(!1),z.setAttribute("src",IMAGE_PATH+"/download.png"),z.setAttribute("title", -mxResources.get("save")),t.insertBefore(z,t.firstChild),mxEvent.addListener(z,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==z||a.isModified()||(k.style.paddingRight=18*t.childNodes.length+"px",z.parentNode.removeChild(z),z=null)});mxEvent.consume(c)})),k.style.paddingRight=18*t.childNodes.length+"px")}),y=mxUtils.bind(this,function(a,c,d,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var l= -0;l<a.length;l++){var n=p.getCellGeometry(a[l]);null!=n&&n.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,e||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);u(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()): -this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var c=p.getSelectionCells(),b=p.view.getBounds(c),d=p.view.scale;b.x/=d;b.y/=d;b.width/=d;b.height/=d;b.x-=p.view.translate.x;b.y-=p.view.translate.y;y(c,b)}mxEvent.consume(a)});mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.first&&(p.graphHandler.suspend(),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility= -"hidden"),g.style.backgroundColor="#f1f3f4",g.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(g.style.backgroundColor="",g.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.first&& -(p.graphHandler.resume(),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),g.style.backgroundColor="",g.style.cursor="",p.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(a){g.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(a){g.style.cursor="";g.style.backgroundColor= -"";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,l,n,k,q,t,A,z){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,q),c)],c[0].vertex=!0,y(c,new mxRectangle(0,0,k,q),a,mxEvent.isAltDown(a)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f), -f=null);else{var m=!1,x=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var l=mxUtils.parseXml(c);if("mxlibrary"==l.documentElement.nodeName)try{var n=JSON.parse(mxUtils.getTextContent(l.documentElement));e(n,g);b=b.concat(n);u(a);this.spinner.stop();m=!0}catch(P){}else if("mxfile"==l.documentElement.nodeName)try{for(var k=l.documentElement.getElementsByTagName("diagram"),l=0;l<k.length;l++){var q=this.stringToCells(Editor.getDiagramNodeXml(k[l])),t=this.editor.graph.getBoundingBoxFromGeometry(q); -y(q,new mxRectangle(0,0,t.width,t.height),a)}m=!0}catch(P){null!=window.console&&console.log("error in drop handler:",P)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=z&&null!=t&&(/(\.v(dx|sdx?))($|\?)/i.test(t)||/(\.vs(x|sx?))($|\?)/i.test(t))?this.importVisio(z,function(a){x(a,"text/xml")},null,t):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c, -t)&&null!=z?this.parseFile(z,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?x(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):x(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"dragleave",function(a){g.style.cursor="";g.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src", -Editor.editImage);m.setAttribute("title",mxResources.get("edit"));t.insertBefore(m,t.firstChild);mxEvent.addListener(m,"click",v);mxEvent.addListener(g,"dblclick",function(a){mxEvent.getSource(a)==g&&v(a)});d=m.cloneNode(!1);d.setAttribute("src",Editor.plusImage);d.setAttribute("title",mxResources.get("add"));t.insertBefore(d,t.firstChild);mxEvent.addListener(d,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title", -mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(d,t.firstChild))}k.appendChild(t);k.style.paddingRight=18*t.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],f=d.data;if(null!=f){var f=this.convertDataUri(f),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;"; -"fixed"==d.aspect&&(e+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(e+"image="+f,d.w,d.h,"",d.title||"",!1,!1,!0))}else null!=d.xml&&(f=this.stringToCells(Graph.decompress(d.xml)),0<f.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(f,d.w,d.h,d.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.offline||EditorUi.isElectronApp||("1"==urlParams.savesidebar&& +window.location.search=this.getSearch(["url"]):null!=d?this.fileLoaded(d):f()});b?e():this.handleError(A,mxResources.get("errorLoadingFile"),e,!0)}else f();return c};EditorUi.prototype.getHashValueForPages=function(a,b){var d=0,c=new mxGraphModel,f=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var e=0;e<a.length;e++){this.updatePageRoot(a[e]);var l=a[e].node.cloneNode(!1);l.removeAttribute("name");c.root=a[e].root;var x=f.encode(c);this.editor.graph.saveViewState(a[e].viewState, +x,!0);x.removeAttribute("pageWidth");x.removeAttribute("pageHeight");l.appendChild(x);null!=b&&(b.eltCount+=l.getElementsByTagName("*").length,b.nodeCount+=l.getElementsByTagName("mxCell").length);d=(d<<5)-d+this.hashValue(l,function(a,d,b,c){return!c||"mxGeometry"!=a.nodeName&&"mxPoint"!=a.nodeName||"x"!=d&&"y"!=d&&"width"!=d&&"height"!=d?c&&"mxCell"==a.nodeName&&"previous"==d?null:b:Math.round(b)},b)<<0}return d};EditorUi.prototype.hashValue=function(a,b,c){var d=0;if(null!=a&&"object"===typeof a&& +"number"===typeof a.nodeType&&"string"===typeof a.nodeName&&"function"===typeof a.getAttribute){null!=a.nodeName&&(d^=this.hashValue(a.nodeName,b,c));if(null!=a.attributes){null!=c&&(c.attrCount+=a.attributes.length);for(var f=0;f<a.attributes.length;f++){var k=a.attributes[f].name,e=null!=b?b(a,k,a.attributes[f].value,!0):a.attributes[f].value;null!=e&&(d^=this.hashValue(k,b,c)+this.hashValue(e,b,c))}}if(null!=a.childNodes)for(f=0;f<a.childNodes.length;f++)d=(d<<5)-d+this.hashValue(a.childNodes[f], +b,c)<<0}else if(null!=a&&"function"!==typeof a){a=String(a);b=0;null!=c&&(c.byteCount+=a.length);for(f=0;f<a.length;f++)b=(b<<5)-b+a.charCodeAt(f)<<0;d^=b}return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,n,g,l){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad? +this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!= +LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a= +null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded= +function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,k=mxUtils.bind(this,function(d,b){0==d.length&&a.isEditable()?(null==f&&(f=document.createElement("div"),f.className="geDropTarget",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f)):this.addLibraryEntries(d, +b)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);c=null!=c&&0<c.length?c:a.getTitle();var e=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){k(b,a)}));this.repositionLibrary(d);var l=e.parentNode.previousSibling;c=l.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px"; +mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");l.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title",mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.cursor="pointer";m.style.margin="0 3px";var y=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b= +mxUtils.bind(this,function(){this.closeLibrary(a)});null!=y?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=this.editor.graph,C=null,v=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),e,b,a,a.getMode());mxEvent.consume(d)}),u=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=C&&null!=C.parentNode&&C.parentNode.removeChild(C),C=m.cloneNode(!1), +C.setAttribute("src",Editor.spinImage),C.setAttribute("title",mxResources.get("saving")),C.style.cursor="default",C.style.marginRight="2px",C.style.marginTop="-2px",t.insertBefore(C,t.firstChild),l.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=C&&null!=C.parentNode&&(C.parentNode.removeChild(C),l.style.paddingRight=18*t.childNodes.length+"px")})):null==y&&(y=m.cloneNode(!1),y.setAttribute("src",IMAGE_PATH+"/download.png"),y.setAttribute("title", +mxResources.get("save")),t.insertBefore(y,t.firstChild),mxEvent.addListener(y,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==y||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",y.parentNode.removeChild(y),y=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),z=mxUtils.bind(this,function(a,d,c,k){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g= +0;g<a.length;g++){var n=p.getCellGeometry(a[g]);null!=n&&n.translate(-d.x,-d.y)}e.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,k||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:d.width,h:d.height};null!=k&&(a.title=k);b.push(a);u(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()): +this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;b.y-=p.view.translate.y;z(d,b)}mxEvent.consume(a)});mxEvent.addGestureListeners(e,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.first&&(p.graphHandler.suspend(),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility= +"hidden"),e.style.backgroundColor="#f1f3f4",e.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(e.style.backgroundColor="",e.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.first&& +(p.graphHandler.resume(),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),e.style.backgroundColor="",e.style.cursor="",p.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){e.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";e.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){e.style.cursor="";e.style.backgroundColor= +"";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,n,l,q,t,A,y){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,l,q),d)],d[0].vertex=!0,z(d,new mxRectangle(0,0,l,q),a,mxEvent.isAltDown(a)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f), +f=null);else{var m=!1,x=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var n=JSON.parse(mxUtils.getTextContent(g.documentElement));k(n,e);b=b.concat(n);u(a);this.spinner.stop();m=!0}catch(P){}else if("mxfile"==g.documentElement.nodeName)try{for(var l=g.documentElement.getElementsByTagName("diagram"),g=0;g<l.length;g++){var q=this.stringToCells(Editor.getDiagramNodeXml(l[g])),t=this.editor.graph.getBoundingBoxFromGeometry(q); +z(q,new mxRectangle(0,0,t.width,t.height),a)}m=!0}catch(P){null!=window.console&&console.log("error in drop handler:",P)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=y&&null!=t&&(/(\.v(dx|sdx?))($|\?)/i.test(t)||/(\.vs(x|sx?))($|\?)/i.test(t))?this.importVisio(y,function(a){x(a,"text/xml")},null,t):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d, +t)&&null!=y?this.parseFile(y,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?x(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):x(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"dragleave",function(a){e.style.cursor="";e.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src", +Editor.editImage);m.setAttribute("title",mxResources.get("edit"));t.insertBefore(m,t.firstChild);mxEvent.addListener(m,"click",v);mxEvent.addListener(e,"dblclick",function(a){mxEvent.getSource(a)==e&&v(a)});c=m.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title", +mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}l.appendChild(t);l.style.paddingRight=18*t.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var d=0;d<a.length;d++){var c=a[d],f=c.data;if(null!=f){var f=this.convertDataUri(f),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;"; +"fixed"==c.aspect&&(e+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(e+"image="+f,c.w,c.h,"",c.title||"",!1,!1,!0))}else null!=c.xml&&(f=this.stringToCells(Graph.decompress(c.xml)),0<f.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(f,c.w,c.h,c.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.offline||EditorUi.isElectronApp||("1"==urlParams.savesidebar&& (Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.createFooter=function(){return document.getElementById("geFooter")});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing= 3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultPageBorderColor="#505759",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor= "#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=", Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display= -"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var c=document.getElementById("geFooter");null!=c&&(this.footerHeight=a,c.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,d,e,n){a=new ImageDialog(this,a,b,d,e,n);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor= -!0;this.editor.graph.model.execute(a)});var c=new BackgroundImageDialog(this,mxUtils.bind(this,function(c){a(c)}));this.showDialog(c.container,360,200,!0,!0);c.init()};EditorUi.prototype.showLibraryDialog=function(a,b,d,e,n){a=new LibraryDialog(this,a,b,d,e,n);this.showDialog(a.container,640,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};var b=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var c= -b.apply(this,arguments);this.editor.graph.addListener("viewStateChanged",mxUtils.bind(this,function(a){this.editor.graph.isSelectionEmpty()&&c.refresh()}));return c};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer geSidebarFooter");a.style.position="absolute";a.style.overflow="hidden";var b=document.createElement("a");b.className="geTitle";b.style.color="#DF6C0C";b.style.fontWeight="bold";b.style.height="100%";b.style.paddingTop="9px";b.innerHTML= -'<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,d,e,n,l){var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){}, -f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){var g=mxUtils.htmlEntities(mxResources.get("unknownError")),k=mxResources.get("ok"),q=null;b=null!=b?b:mxResources.get("error");if(null!=f){null!=f.retry&&(k=mxResources.get("cancel"),q=function(){c();f.retry()});if(404==f.code||404==f.status||403==f.code){var g=403==f.code?null!=f.message?mxUtils.htmlEntities(f.message):mxUtils.htmlEntities(mxResources.get("accessDenied")):null!=n?n:mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied")+ -(null!=this.drive&&null!=this.drive.user?" ("+this.drive.user.displayName+", "+this.drive.user.email+")":"")),m=null!=l?l:window.location.hash;if(null!=m&&("#G"==m.substring(0,2)||"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"==m.substring(0,45))&&(null!=a&&null!=a.error&&(null!=a.error.errors&&0<a.error.errors.length&&"fileAccess"==a.error.errors[0].reason||null!=a.error.data&&0<a.error.data.length&&"fileAccess"==a.error.data[0].reason)||404==f.code||404==f.status)){m="#U"==m.substring(0,2)?m.substring(45, -m.lastIndexOf("%26ex")):m.substring(2);this.showError(b,g,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){this.editor.graph.openLink("https://drive.google.com/open?id="+m);this.handleError(a,b,d,e,n)}),q,mxResources.get("changeUser"),mxUtils.bind(this,function(){function a(){f.innerHTML="";for(var a=0;a<c.length;a++){var b=document.createElement("option");mxUtils.write(b,c[a].displayName);b.value=a;f.appendChild(b);b=document.createElement("option");b.innerHTML=" "; -mxUtils.write(b,"<"+c[a].email+">");b.setAttribute("disabled","disabled");f.appendChild(b)}b=document.createElement("option");mxUtils.write(b,mxResources.get("addAccount"));b.value=c.length;f.appendChild(b)}var c=this.drive.getUsersList(),b=document.createElement("div"),d=document.createElement("span");d.style.marginTop="6px";mxUtils.write(d,mxResources.get("changeUser")+": ");b.appendChild(d);var f=document.createElement("select");f.style.width="200px";a();mxEvent.addListener(f,"change",mxUtils.bind(this, -function(){var b=f.value,d=c.length!=b;d&&this.drive.setUser(c[b]);this.drive.authorize(d,mxUtils.bind(this,function(){d||(c=this.drive.getUsersList(),a())}),mxUtils.bind(this,function(a){this.handleError(a)}),!0)}));b.appendChild(f);b=new CustomDialog(this,b,mxUtils.bind(this,function(){this.loadFile(window.location.hash.substr(1),!0)}));this.showDialog(b.container,300,75,!0,!0)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.hideDialog();null!=d&&d()}),480,150);return}}null!=f.message? -g=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error?g=mxUtils.htmlEntities(f.response.error):"undefined"!==typeof window.App&&(f.code==App.ERROR_TIMEOUT?g=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY&&(g=mxUtils.htmlEntities(mxResources.get("busy"))))}var p=l=null;null!=f&&null!=f.helpLink&&(l=mxResources.get("help"),p=mxUtils.bind(this,function(){return this.editor.graph.openLink(f.helpLink)}));this.showError(b,g,k,d,q,null,null,l,p,null,null,null, -e?d:null)}else null!=d&&d()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,d,e,n,l){var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},f=Math.min(200,28*Math.ceil(a.length/50));a=new ConfirmDialog(this,a,function(){c();null!=b&&b()},function(){c();null!=d&&d()},e,n,null,null,null,null,f);this.showDialog(a.container,340,46+ -f,!0,l);a.init()};EditorUi.prototype.setCurrentFile=function(a){null!=a&&(a.opened=new Date);this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||(!mxClient.IS_SF||!this.editor.graph.mathEnabled)&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a, -b,d,e){var c=a.toDataURL("image/"+d);if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/"+d))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"tEXt","mxfile",encodeURIComponent(b)));0<e&&(c=this.writeGraphModelToPng(c,"pHYs","dpi",e));return c};EditorUi.prototype.saveCanvas=function(a,b,d,e,n){var c="jpeg"==d?"jpg":d;e=this.getBaseFilename(e)+"."+c;a=this.createImageDataUri(a,b,d,n);this.saveData(e,c,a.substring(a.lastIndexOf(",")+1),"image/"+d,!0)};EditorUi.prototype.isLocalFileSave= -function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var c=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));c.textarea.style.width="600px";c.textarea.style.height="380px";this.showDialog(c.container,620,460,!0,!0,null,null,null, -null,!0);c.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=function(a,b,d,e,n){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,d):new Blob([a],{type:d}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)d=window.open("about:blank","_blank"),null==d?mxUtils.popup(a,!0):(d.document.write(a),d.document.close(),d.document.execCommand("SaveAs",!0,b),d.close());else{var c=document.createElement("a"),f=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&& -"undefined"!==typeof c.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){c.href=URL.createObjectURL(e?this.base64ToBlob(a,d):new Blob([a],{type:d}));f?c.download=b:c.setAttribute("target","_blank");document.body.appendChild(c);try{window.setTimeout(function(){URL.revokeObjectURL(c.href)},0),c.click(),c.parentNode.removeChild(c)}catch(t){}}else this.createEchoRequest(a,b,d,e,n).simulate(document,"_blank")}}; -EditorUi.prototype.createEchoRequest=function(a,b,d,e,n,l){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=d?"&mime="+d:"")+(null!=n?"&format="+n:"")+(null!=l?"&base64="+l:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),k=0;k<f;++k){for(var m=1024*k,t=Math.min(m+1024,d),p=Array(t-m),z=0;m<t;++z,++m)p[z]=c[m].charCodeAt(0);e[k]=new Uint8Array(p)}return new Blob(e, -{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,d,e,n,l,k){l=null!=l?l:!1;k=null!=k?k:"vsdx"!=n&&(!mxClient.IS_IOS||!navigator.standalone);n=this.getServiceCount(l);isLocalStorage&&n++;var c=4>=n?2:6<n?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(c,b){try{if("_blank"==b)if(null==d||"image/"!=d.substring(0,6)||"image/svg"==d.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write("<pre>"+mxUtils.htmlEntities(a,!1)+"</pre>"), -f.document.close())}else this.openInNewWindow(a,d,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,c,d,e):null!=c&&0<c.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,c,d,e,b,f)}catch(C){this.handleError(C)}}))}catch(E){this.handleError(E)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,l,k,null,1<n,c,a,d,e);l=this.isServices(n)?n>c?390:270:160;this.showDialog(b.container,400,l,!0,!0);b.init()}; -EditorUi.prototype.openInNewWindow=function(a,b,d){if(mxClient.IS_GC||mxClient.IS_EDGE||mxClient.IS_FF||11==document.documentMode||10==document.documentMode){var c=window.open("about:blank");null==c||null==c.document?mxUtils.popup(a,!0):("image/svg+xml"==b?c.document.write("<html>"+a+"</html>"):c.document.write('<html><img style="max-width:100%;" src="data:'+b+(d?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),c.document.close())}else c=window.open("data:"+b+(d?";base64,"+a:";charset=utf8,"+ -encodeURIComponent(a))),null!=c&&null!=c.document||mxUtils.popup(a,!0)};var e=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this); -else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff"; -mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){f.stop(); -this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.style.backgroundColor="white";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(c.substring(c.indexOf(",")+ -1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}e.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,d,e,n){this.isLocalFileSave()?this.saveLocalFile(d,a,e,n,b):this.saveRequest(a,b,mxUtils.bind(this,function(a, -c){return this.createEchoRequest(d,a,e,n,b,c)}),d,n,e)};EditorUi.prototype.saveRequest=function(a,b,d,e,n,l,k){k=null!=k?k:!mxClient.IS_IOS||!navigator.standalone;var c=this.getServiceCount(!1);isLocalStorage&&c++;var f=4>=c?2:6<c?4:3;a=new CreateDialog(this,a,mxUtils.bind(this,function(a,c){if("_blank"==c||null!=a&&0<a.length){var f=d("_blank"==c?null:a,c==App.MODE_DEVICE||"download"==c||null==c||"_blank"==c?"0":"1");null!=f&&(c==App.MODE_DEVICE||"download"==c||"_blank"==c?f.simulate(document,"_blank"): -this.pickFolder(c,mxUtils.bind(this,function(d){l=null!=l?l:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,l,!0,c,d)}catch(v){this.handleError(v)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,l,!0,c,d)}catch(v){this.handleError(v)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); -this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,k,null,1<c,f,e,l,n);c=this.isServices(c)?4<c?390:270:160;this.showDialog(a.container,380,c,!0,!0);a.init()};EditorUi.prototype.isServices=function(a){return 1!=a};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,d,e,n,l){};EditorUi.prototype.pickFolder=function(a,b,d){b(null)};EditorUi.prototype.exportSvg= -function(a,b,d,e,n,l,k,m,t,p){if(this.spinner.spin(document.body,mxResources.get("export")))try{var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;var f=b?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==b&&(f="#ffffff");var g=this.editor.graph.getSvg(f,a,k,m,null,d,null,null,"blank"==p?"_blank":"self"==p?"_top":null,null,!0);e&&this.editor.graph.addSvgShadow(g);var q=this.getBaseFilename()+".svg",A=mxUtils.bind(this,function(a){this.spinner.stop();n&&a.setAttribute("content", -this.getFileData(!0,null,null,null,d,t,null,null,null,!1));var c='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||c.length<=MAX_REQUEST_SIZE?this.saveData(q,"svg",c,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}))});this.editor.addFontCss(g);this.editor.graph.mathEnabled&& -this.editor.addMathCss(g);l?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(g,A,this.thumbImageCache)):A(g)}catch(L){this.handleError(L)}};EditorUi.prototype.addRadiobox=function(a,b,d,e,n,l,k){return this.addCheckbox(a,d,e,n,l,k,!0,b)};EditorUi.prototype.addCheckbox=function(a,b,d,e,n,l,k,m){l=null!=l?l:!0;var c=document.createElement("input");c.style.marginRight="8px";c.style.marginTop="16px";c.setAttribute("type",k?"radio":"checkbox");k="geCheckbox-"+Editor.guid();c.id= -k;null!=m&&c.setAttribute("name",m);d&&(c.setAttribute("checked","checked"),c.defaultChecked=!0);e&&c.setAttribute("disabled","disabled");l&&(a.appendChild(c),d=document.createElement("label"),mxUtils.write(d,b),d.setAttribute("for",k),a.appendChild(d),n||mxUtils.br(a));return c};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),f="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!= -App.MODE_BROWSER&&(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");e.appendChild(d);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this, -function(){if("custom"==e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===e.value?"_blank": -f:null},getEditInput:function(){return c},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select"); -d.style.width="100px";d.style.marginLeft="8px";d.style.marginRight="10px";d.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));d.appendChild(f);b&& -(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(f));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",k=null,k=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;c()});mxEvent.consume(a)}));c();k.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";k.style.marginLeft="4px";k.style.height="22px";k.style.width= -"22px";k.style.position="relative";k.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,d,e,n,l,k,m){var c=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)), -null!=n&&0<n.length&&f.push("edit="+encodeURIComponent(n)),l&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));d&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&f.push("page-id="+this.currentPage.getId());a=!0;null!=k?d="#U"+encodeURIComponent(k):(c=this.getCurrentFile(),m||null==c||c.constructor!=window.DriveFile?d="#R"+encodeURIComponent(d?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))): -(d="#"+c.getHash(),a=!1));a&&null!=c&&null!=c.getTitle()&&c.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(c.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+d};EditorUi.prototype.createHtml=function(a,b,d,e,n,l,k,m,t,p,z){this.getBasenames();var c={};""!=n&&n!=mxConstants.NONE&&(c.highlight=n);"auto"!==e&&(c.target=e);t||(c.lightbox= -!1);c.nav=this.editor.graph.foldingEnabled;d=parseInt(d);isNaN(d)||100==d||(c.zoom=d/100);d=[];k&&(d.push("pages"),c.resize=!0,null!=this.pages&&null!=this.currentPage&&(c.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(d.push("zoom"),c.resize=!0);m&&d.push("layers");0<d.length&&(t&&d.push("lightbox"),c.toolbar=d.join(" "));null!=p&&0<p.length&&(c.edit=p);null!=a?c.url=a:c.xml=this.getFileData(!0,null,null,null,null,!k);b='<div class="mxgraph" style="'+(l?"max-width:100%;":"")+(""!=d?"border:1px solid transparent;": -"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(c))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";z(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,d,e){var c=document.createElement("div"); -c.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var k=document.createElement("input");k.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";k.setAttribute("value","url");k.setAttribute("type","radio");k.setAttribute("name", -"type-embedhtmldialog");f=k.cloneNode(!0);f.setAttribute("value","copy");g.appendChild(f);var t=document.createElement("span");mxUtils.write(t,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(t);mxUtils.br(g);g.appendChild(k);t=document.createElement("span");mxUtils.write(t,mxResources.get("publicDiagramUrl"));g.appendChild(t);var q=this.getCurrentFile();null==d&&null!=q&&q.constructor==window.DriveFile&&(t=document.createElement("a"),t.style.paddingLeft="12px",t.style.color="gray",t.setAttribute("href", -"javascript:void(0);"),mxUtils.write(t,mxResources.get("share")),g.appendChild(t),mxEvent.addListener(t,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(q.getId())})));f.setAttribute("checked","checked");null==d&&k.setAttribute("disabled","disabled");c.appendChild(g);var m=this.addLinkSection(c),p=this.addCheckbox(c,mxResources.get("zoom"),!0,null,!0);mxUtils.write(c,":");var C=document.createElement("input");C.setAttribute("type","text");C.style.marginRight="16px"; -C.style.width="60px";C.style.marginLeft="4px";C.style.marginRight="12px";C.value="100%";c.appendChild(C);var v=this.addCheckbox(c,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,u=u=this.addCheckbox(c,mxResources.get("allPages"),g,!g),y=this.addCheckbox(c,mxResources.get("layers"),!0),I=this.addCheckbox(c,mxResources.get("lightbox"),!0),B=this.addEditButton(c,I),D=B.getEditInput();D.style.marginBottom="16px";mxEvent.addListener(I,"change",function(){I.checked?D.removeAttribute("disabled"): -D.setAttribute("disabled","disabled");D.checked&&I.checked?B.getEditSelect().removeAttribute("disabled"):B.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,c,mxUtils.bind(this,function(){e(k.checked?d:null,p.checked,C.value,m.getTarget(),m.getColor(),v.checked,u.checked,y.checked,I.checked,B.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,d,e,n,l){var c=document.createElement("div");c.style.whiteSpace= -"nowrap";var f=document.createElement("h3");mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; -var q=document.createElement("div");q.style.whiteSpace="normal";mxUtils.write(q,mxResources.get("linkAccountRequired"));k.appendChild(q);q=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));q.style.marginTop="12px";q.className="geBtn";k.appendChild(q);c.appendChild(k);q=document.createElement("a");q.style.paddingLeft="12px";q.style.color="gray";q.style.fontSize="11px";q.setAttribute("href","javascript:void(0);");mxUtils.write(q,mxResources.get("check")); -k.appendChild(q);mxEvent.addListener(q,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var m=null,p=null;if(null!=d||null!=e)a+=30,mxUtils.write(c,mxResources.get("width")+":"),m=document.createElement("input"), -m.setAttribute("type","text"),m.style.marginRight="16px",m.style.width="50px",m.style.marginLeft="6px",m.style.marginRight="16px",m.style.marginBottom="10px",m.value="100%",c.appendChild(m),mxUtils.write(c,mxResources.get("height")+":"),p=document.createElement("input"),p.setAttribute("type","text"),p.style.width="50px",p.style.marginLeft="6px",p.style.marginBottom="10px",p.value=e+"px",c.appendChild(p),mxUtils.br(c);var v=this.addLinkSection(c,l);d=null!=this.pages&&1<this.pages.length;var u=null; -if(null==g||g.constructor!=window.DriveFile||b)u=this.addCheckbox(c,mxResources.get("allPages"),d,!d);var y=this.addCheckbox(c,mxResources.get("lightbox"),!0),I=this.addEditButton(c,y),B=I.getEditInput(),D=this.addCheckbox(c,mxResources.get("layers"),!0);D.style.marginLeft=B.style.marginLeft;D.style.marginBottom="16px";D.style.marginTop="8px";mxEvent.addListener(y,"change",function(){y.checked?(D.removeAttribute("disabled"),B.removeAttribute("disabled")):(D.setAttribute("disabled","disabled"),B.setAttribute("disabled", -"disabled"));B.checked&&y.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,c,mxUtils.bind(this,function(){n(v.getTarget(),v.getColor(),null==u?!0:u.checked,y.checked,I.getLink(),D.checked,null!=m?m.value:null,null!=p?p.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=m?(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select(): -document.execCommand("selectAll",!1,null)):v.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,d,e,n){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(n?"10":"4")+"px";c.appendChild(f);if(n){mxUtils.write(c,mxResources.get("zoom")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.marginRight= -"16px";g.style.width="60px";g.style.marginLeft="4px";g.style.marginRight="12px";g.value=this.lastExportZoom||"100%";c.appendChild(g);mxUtils.write(c,mxResources.get("borderWidth")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.marginRight="16px";k.style.width="60px";k.style.marginLeft="4px";k.value=this.lastExportBorder||"0";c.appendChild(k);mxUtils.br(c)}var q=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(c, -mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,p=e?null:this.addCheckbox(c,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=p&&(p.style.marginBottom="16px");a=new CustomDialog(this,c,mxUtils.bind(this,function(){var a=parseInt(g.value)/100||1,c=parseInt(k.value)||0;d(!q.checked,null!=m?m.checked:!1,null!=p?p.checked:!1,a,c)}),null,a,b);this.showDialog(a.container,300,(n?25:0)+(e?125:210),!0,!0)};EditorUi.prototype.showExportDialog= -function(a,b,d,e,n,l,k,m){k=null!=k?k:!0;var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=this.editor.graph,g="jpeg"==m?196:300,q=document.createElement("h3");mxUtils.write(q,a);q.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";c.appendChild(q);mxUtils.write(c,mxResources.get("zoom")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight= -"12px";p.value=this.lastExportZoom||"100%";c.appendChild(p);mxUtils.write(c,mxResources.get("borderWidth")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.marginRight="16px";x.style.width="60px";x.style.marginLeft="4px";x.value=this.lastExportBorder||"0";c.appendChild(x);mxUtils.br(c);var A=this.addCheckbox(c,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=m),u=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),y=document.createElement("input"); -y.style.marginTop="16px";y.style.marginRight="8px";y.style.marginLeft="24px";y.setAttribute("disabled","disabled");y.setAttribute("type","checkbox");l&&(c.appendChild(y),mxUtils.write(c,mxResources.get("crop")),mxUtils.br(c),g+=26,mxEvent.addListener(u,"change",function(){u.checked?y.removeAttribute("disabled"):y.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(y.setAttribute("checked","checked"),y.defaultChecked=!0);var B=this.addCheckbox(c,mxResources.get("shadow"),f.shadowVisible), -D=document.createElement("input");D.style.marginTop="16px";D.style.marginRight="8px";D.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||D.setAttribute("disabled","disabled");b&&(c.appendChild(D),mxUtils.write(c,mxResources.get("embedImages")),mxUtils.br(c),g+=26);var G=null;if("png"==m||"jpeg"==m)G=this.addCheckbox(c,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),g+=26;var O=this.addCheckbox(c,mxResources.get("includeCopyOfMyDiagram"),k,null,null, -"jpeg"!=m),R=null!=this.pages&&1<this.pages.length,ba=this.addCheckbox(c,R?mxResources.get("allPages"):"",R,!R,null,"jpeg"!=m);ba.style.marginLeft="24px";ba.style.marginBottom="16px";R||(ba.style.display="none");mxEvent.addListener(O,"change",function(){O.checked&&R?ba.removeAttribute("disabled"):ba.setAttribute("disabled","disabled")});k&&R||ba.setAttribute("disabled","disabled");var W=document.createElement("select");W.style.maxWidth="260px";W.style.marginLeft="8px";W.style.marginRight="10px";W.className= -"geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));W.appendChild(a);"svg"==m&&(mxUtils.write(c,mxResources.get("links")+":"),c.appendChild(W),mxUtils.br(c),mxUtils.br(c), -g+=26);d=new CustomDialog(this,c,mxUtils.bind(this,function(){this.lastExportBorder=x.value;this.lastExportZoom=p.value;n(p.value,A.checked,!u.checked,B.checked,O.checked,D.checked,x.value,y.checked,!ba.checked,W.value,null!=G?G.checked:null)}),null,d,e);this.showDialog(d.container,340,g,!0,!0,null,null,null,null,!0);p.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a, -b,d,e,n){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";c.appendChild(g)}var k=this.addCheckbox(c,mxResources.get("fit"),!0),q=this.addCheckbox(c,mxResources.get("shadow"),f.shadowVisible&&e,!e),m=this.addCheckbox(c,d),p=this.addCheckbox(c,mxResources.get("lightbox"),!0),C=this.addEditButton(c,p),v=C.getEditInput(), -u=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(c,mxResources.get("layers"),u,!u);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(p,"change",function(){p.checked?(u&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&p.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")}); -b=new CustomDialog(this,c,mxUtils.bind(this,function(){a(k.checked,q.checked,m.checked,p.checked,C.getLink(),y.checked)}),null,mxResources.get("embed"),n);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,d,e,n,l,k,m){function c(c){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ -EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(l?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var q="";d&&(q=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');k('<img src="'+c+'"'+q+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");c(a)}),null,null,null, -mxUtils.bind(this,function(a){m({message:mxResources.get("unknownError")})}),null,!0,d?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";d&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var q=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));q.send(mxUtils.bind(this,function(){200<=q.getStatus()&&299>=q.getStatus()?c("data:image/png;base64,"+q.getText()):m({message:mxResources.get("unknownError")})}))}else m({message:mxResources.get("drawingTooLarge")})}; -EditorUi.prototype.createEmbedSvg=function(a,b,d,e,n,l,k){var c=this.editor.graph.getSvg(null,null,null,null,null,null,null,null,null,null,!d),f=c.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var q=f[g].getAttribute("href");null!=q&&"#"==q.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&c.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(c);if(d){var m=" ",p="";e&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ -EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(l?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");this.convertImages(c,mxUtils.bind(this,function(a){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=p?' style="'+p+'"':"")+m+"/>")}))}else p="",e&&(c.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('"+ -EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(l?"&layers=1":"")+"');}}})(this);"),p+="cursor:pointer;"),a&&(a=parseInt(c.getAttribute("width")),b=parseInt(c.getAttribute("height")),c.setAttribute("viewBox","-0.5 -0.5 "+a+" "+b),p+="max-width:100%;max-height:"+b+"px;",c.removeAttribute("height")),""!=p&&c.setAttribute("style",p),this.editor.addFontCss(c),this.editor.graph.mathEnabled&&this.editor.addMathCss(c),k(mxUtils.getXml(c))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date- -a)/1E3);var c=Math.floor(a/31536E3);if(1<c)return c+" "+mxResources.get("years");c=Math.floor(a/2592E3);if(1<c)return c+" "+mxResources.get("months");c=Math.floor(a/86400);if(1<c)return c+" "+mxResources.get("days");c=Math.floor(a/3600);if(1<c)return c+" "+mxResources.get("hours");c=Math.floor(a/60);return 1<c?c+" "+mxResources.get("minutes"):1==c?c+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"== -a.nodeName){var d=a.getElementsByTagName("diagram");if(0<d.length){var c=d[0],f=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:f.apply(this,arguments)}}}null!=c&&(a=Editor.parseDiagramNode(c))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(l){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,d){try{var c=this.editor.graph,f=null;if(null!= -d&&0<d.length)c=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(c.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(d).documentElement,!0),c),f=d;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),e=c.getGlobalVariable,g=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(c.container); -c.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(d){try{null==f&&(f=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var e=d.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"tEXt","mxfile",encodeURIComponent(f));a(e.substring(e.lastIndexOf(",")+1));c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}catch(F){null!=b&&b(F)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,c.shadowVisible,null,c)}catch(x){null!= -b&&b(x)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,d,e,n,l,k){k=b.background;k==mxConstants.NONE&&(k=null);l=b.getSvg(k,null,null,null,null,l);b.shadowVisible&&b.addSvgShadow(l);null!=a&&l.setAttribute("content",a);null!=d&&l.setAttribute("resource",d);if(null!=n)this.convertImages(l,mxUtils.bind(this,function(a){n((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e? -"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(l)};EditorUi.prototype.exportImage=function(a,b,d,e,k,l,m,p,t,u,z){t=null!=t?t:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a, -k?this.getFileData(!0,null,null,null,d,p):null,t,null==this.pages||0==this.pages.length,z)}catch(v){"Invalid image"==v.message?this.downloadFile(t):this.handleError(v)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,d,a||1,b,e,null,null,l,m,u)}catch(C){this.spinner.stop(),this.handleError(C)}}};EditorUi.prototype.embedCssFonts=function(a,b){function c(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")} -var d=a.split("url("),f=0;null==this.cachedFonts&&(this.cachedFonts={});var e=mxUtils.bind(this,function(){if(0==f){for(var a=[d[0]],e=1;e<d.length;e++){var g=d[e].indexOf(")");a.push('url("');a.push(this.cachedFonts[c(d[e].substring(0,g))]);a.push('"'+d[e].substring(g))}b(a.join(""))}});if(0<d.length){for(var k=1;k<d.length;k++){var m=d[k].indexOf(")"),t=null,p=d[k].indexOf("format(",m);0<p&&(t=c(d[k].substring(p+7,d[k].indexOf(")",p))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]= -a;f++;var c="application/x-font-ttf";if("svg"==t||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==t||"embedded-opentype"==t||/(\.otf)($|\?)/i.test(a))c="application/x-font-opentype";else if("woff"==t||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==t||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==t||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==t||/(\.sfnt)($|\?)/i.test(a))c="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&& -!this.editor.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(c){this.cachedFonts[a]=c;f--;e()}),mxUtils.bind(this,function(a){f--;e()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(d[k].substring(0,m)),t)}e()}else b(a)};EditorUi.prototype.loadFonts=function(a){null!=this.editor.fontCss&&null==this.editor.resolvedFontCss?this.embedCssFonts(this.editor.fontCss,mxUtils.bind(this,function(c){this.editor.resolvedFontCss=c;a()})):a()};EditorUi.prototype.embedExtFonts= -function(a){var c=this.editor.graph.extFonts;if(null!=c&&0<c.length){var b="",d=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var e=mxUtils.bind(this,function(){0==d&&this.embedCssFonts(b,a)}),l=0;l<c.length;l++){var k=c[l].name,m=c[l].url;0==m.indexOf(Editor.GOOGLE_FONTS)?null==this.cachedGoogleFonts[m]?(d++,this.loadUrl(m,mxUtils.bind(this,function(a){this.cachedGoogleFonts[m]=a;b+=a;d--;e()}),mxUtils.bind(this,function(a){d--;b+="@import url("+m+");";e()}))):b+=this.cachedGoogleFonts[m]: -b+='@font-face {font-family: "'+k+'";src: url("'+m+'");}'}e()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,d,e,k,l,m,p,t,u,z,y,C,v,B){try{l=null!=l?l:!0;m=null!=m?m:!0;y=null!=y?y:this.editor.graph;C=null!=C?C:0;var c=t?null:y.background;c==mxConstants.NONE&&(c=null);null==c&&(c=e);null==c&&0==t&&(c="#ffffff");this.convertImages(y.getSvg(null,null,null,v,null,m,null,null,null,u),mxUtils.bind(this,function(d){try{var f=new Image;f.onload=mxUtils.bind(this,function(){try{var e=function(){mxClient.IS_SF? -window.setTimeout(function(){t.drawImage(f,C/p,C/p);a(g)},0):(t.drawImage(f,C/p,C/p),a(g))},g=document.createElement("canvas"),n=parseInt(d.getAttribute("width")),m=parseInt(d.getAttribute("height"));p=null!=p?p:1;null!=b&&(p=l?Math.min(1,Math.min(3*b/(4*m),b/n)):b/n);n=Math.ceil(p*n)+2*C;m=Math.ceil(p*m)+2*C;g.setAttribute("width",n);g.setAttribute("height",m);var t=g.getContext("2d");null!=c&&(t.beginPath(),t.rect(0,0,n,m),t.fillStyle=c,t.fill());t.scale(p,p);if(B){var q=y.view,z=btoa(unescape(encodeURIComponent(q.createSvgGrid(q.gridColor)))), -z="data:image/svg+xml;base64,"+z,A=y.gridSize*q.gridSteps*p,x=y.getGraphBounds(),v=x.x*p,u=x.y*p,G=new Image;G.src=z;G.onload=function(){for(var a=-Math.round(A-mxUtils.mod(q.translate.x*p-v,A)),c=-Math.round(A-mxUtils.mod(q.translate.y*p-u,A));a<n;a+=A)for(var b=c;b<m;b+=A)t.drawImage(G,a/p,b/p);e()}}else e()}catch(ga){null!=k&&k(ga)}});f.onerror=function(a){null!=k&&k(a)};u&&this.editor.graph.addSvgShadow(d);var e=function(a){var c=document.createElement("style");c.setAttribute("type","text/css"); -c.innerHTML=a;a=d.getElementsByTagName("defs");0==a.length?(a=null!=svgDoc.createElementNS?svgDoc.createElementNS(mxConstants.NS_SVG,"defs"):svgDoc.createElement("defs"),null!=d.firstChild?d.insertBefore(a,d.firstChild):d.appendChild(a)):a=a[0];a.appendChild(c)},g=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&e(this.editor.resolvedFontCss),this.editor.graph.mathEnabled&&this.editor.addMathCss(d),f.src=this.createSvgDataUri(mxUtils.getXml(d))}catch(O){null!=k&&k(O)}});this.embedExtFonts(mxUtils.bind(this, -function(a){try{null!=a&&e(a),this.loadFonts(g)}catch(R){null!=k&&k(R)}}))}catch(O){null!=k&&k(O)}}),d,z)}catch(I){null!=k&&k(I)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,d=this;a.convert=function(c){if(null!=c){var f="http://"==c.substring(0,7)||"https://"==c.substring(0,8);f&&!navigator.onLine?c=d.svgBrokenImage.src:!f||c.substring(0,a.baseUrl.length)==a.baseUrl||d.crossOriginImages&&d.editor.isCorsEnabledForUrl(c)?"chrome-extension://"== -c.substring(0,19)||mxClient.IS_CHROMEAPP||(c=b.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};EditorUi.prototype.convertImages=function(a,b,d,e){null==e&&(e=this.createImageUrlConverter());var c=0,f=d||{};d=mxUtils.bind(this,function(d,g){for(var l=a.getElementsByTagName(d),k=0;k<l.length;k++)mxUtils.bind(this,function(d){try{if(null!=d){var l=e.convert(d.getAttribute(g));if(null!=l&&"data:"!=l.substring(0,5)){var k=f[l];null==k?(c++,this.convertImageToDataUri(l, -function(e){null!=e&&(f[l]=e,d.setAttribute(g,e));c--;0==c&&b(a)})):d.setAttribute(g,k)}else null!=l&&d.setAttribute(g,l)}}catch(v){}})(l[k])});d("image","xlink:href");d("img","src");0==c&&b(a)};EditorUi.prototype.loadUrl=function(a,b,d,e,k,l,m){try{var c=!m&&(e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a));k=null!=k?k:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var f=a.getText(); -if(c){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var f=Array(a.length),e=0;e<a.length;e++)f[e]=String.fromCharCode(a[e]);f=f.join("")}l=null!=l?l:"data:image/png;base64,";f=l+this.base64Encode(f)}b(f)}}else null!=d&&d({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=d&&d({message:mxResources.get("error")+" "+a.getStatus()})},c,this.timeout,function(){k&& -null!=d&&d({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(F){null!=d&&d(F)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b(this.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(d);c&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(d); -c&&b(this.svgBrokenImage.src)});else{var f=new Image,e=this;this.crossOriginImages&&(f.crossOrigin="anonymous");f.onload=function(){window.clearTimeout(d);if(c)try{var a=document.createElement("canvas"),g=a.getContext("2d");a.height=f.height;a.width=f.width;g.drawImage(f,0,0);b(a.toDataURL())}catch(t){b(e.svgBrokenImage.src)}};f.onerror=function(){window.clearTimeout(d);c&&b(e.svgBrokenImage.src)};f.src=a}}catch(A){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,d,e,k){b=null!= -b?b:0;d=null!=d?d:0;var c=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){f.model.beginUpdate();try{var g=mxUtils.parseXml(a),n=this.editor.extractGraphModel(g.documentElement,null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var m=n.getElementsByTagName("diagram");if(1==m.length)n=Editor.parseDiagramNode(m[0]);else if(1<m.length){a={};var g=[],q=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(n=Editor.parseDiagramNode(m[0]),e=!1,q=1);for(;q<m.length;q++){var p= -m[q].getAttribute("id");m[q].removeAttribute("id");var u=this.updatePageRoot(new DiagramPage(m[q]));a[p]=m[q].getAttribute("id");var v=this.pages.length;null==u.getName()&&u.setName(mxResources.get("pageWithNumber",[v+1]));f.model.execute(new ChangePage(this,u,u,v,!0));g.push(u)}this.updatePageLinks(a,g)}}null!=n&&"mxGraphModel"===n.nodeName&&(c=f.importGraphModel(n,b,d,e))}finally{f.model.endUpdate()}}}catch(J){if(k)throw J;this.handleError(J)}return c};EditorUi.prototype.updatePageLinks=function(a, -b){for(var c=0;c<b.length;c++)this.updatePageLinksForCell(a,b[c].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var c=document.createElement("div"),d=this.editor.graph,f=d.getLinkForCell(b);null!=f&&d.setLinkForCell(b,this.updatePageLink(a,f));if(d.isHtmlLabel(b)){c.innerHTML=d.getLabel(b);for(var e=c.getElementsByTagName("a"),k=!1,m=0;m<e.length;m++)f=e[m].getAttribute("href"),null!=f&&(e[m].setAttribute("href",this.updatePageLink(a,f)),k=!0);k&&d.labelChanged(b,c.innerHTML)}for(m= -0;m<d.model.getChildCount(b);m++)this.updatePageLinksForCell(a,d.model.getChildAt(b,m))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var c=a[b.substring(b.indexOf(",")+1)];b=null!=c?"data:page/id,"+c:null}else if("data:action/json,"==b.substring(0,17))try{var d=JSON.parse(b.substring(17));if(null!=d.actions){for(var f=0;f<d.actions.length;f++){var e=d.actions[f];null!=e.open&&"data:page/id,"==e.open.substring(0,13)&&(c=a[e.open.substring(e.open.indexOf(",")+ -1)],null!=c?e.open="data:page/id,"+c:delete e.open)}b="data:action/json,"+JSON.stringify(d)}}catch(A){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,d,e){e=null!=e?e:a.name;d=null!=d?d:mxUtils.bind(this,function(a){this.handleError(a)});var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var c=this.isRemoteVisioFormat(e);try{var f="UNKNOWN-VISIO", -g=e.lastIndexOf(".");0<=g&&g<e.length&&(f=e.substring(g+1).toUpperCase());EditorUi.logEvent({category:f+"-MS-IMPORT-FILE",action:"filename_"+e,label:c?"remote":"local"})}catch(F){}if(c)if(null!=VSD_CONVERT_URL){c=new FormData;c.append("file1",a,e);var k=new XMLHttpRequest;k.open("POST",VSD_CONVERT_URL);k.responseType="blob";this.addRemoteServiceSecurityCheck(k);k.onreadystatechange=mxUtils.bind(this,function(){if(4==k.readyState)if(200<=k.status&&299>=k.status)try{var a=k.response;if("text/xml"== -a.type){var c=new FileReader;c.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(C){d({message:mxResources.get("errorLoadingFile")})}});c.readAsText(a)}else this.doImportVisio(a,b,d,e)}catch(E){d(E)}else d({})});k.send(c)}else d({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")});else try{this.doImportVisio(a,b,d,e)}catch(F){d(F)}}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}); -this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.importGraphML=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.doImportGraphML)try{this.doImportGraphML(a,b,d)}catch(n){d(n)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportGraphML||this.loadingExtensions|| -this.isOffline(!0)?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()||this.handleError({message:mxResources.get("unknownError")})}catch(f){this.handleError(f)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof VsdxExport|| -this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,d){var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(n){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(n){null!=window.console&&console.error(n),d(n)}}else d({message:mxResources.get("serviceUnavailableOrBlocked")})}); -"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(c,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",c):mxscript("js/extensions.min.js",c))};EditorUi.prototype.generatePlantUmlImage=function(a,b,d,e){function c(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=f(c1&63);r+=f(c2&63);r+=f(c3&63);return r+=f(c4&63)}function f(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+ -a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"}var g=new XMLHttpRequest;g.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+c(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+c(a.charCodeAt(i),0,0):r+c(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+2));return r}(pako.deflateRaw(a,{to:"string"})),!0);"txt"!=b&&(g.responseType="blob");g.onload=function(a){if(200<= -this.status&&300>this.status)if("txt"==b)d(this.response);else{var c=new FileReader;c.readAsDataURL(this.response);c.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,f=b.height;if(0==a&&0==f){var g=c.result,l=g.indexOf(","),k=decodeURIComponent(escape(atob(g.substring(l+1)))),n=mxUtils.parseXml(k).getElementsByTagName("svg");0<n.length&&(a=parseFloat(n[0].getAttribute("width")),f=parseFloat(n[0].getAttribute("height")))}d(c.result,a,f)}catch(N){e(N)}};b.src=c.result};c.onerror= -function(a){e(a)}}else e(a)};g.onerror=function(a){e(a)};g.send()};EditorUi.prototype.insertAsPreText=function(a,b,d){var c=this.editor.graph,f=null;c.getModel().beginUpdate();try{f=c.insertVertex(null,null,"<pre>"+a+"</pre>",b,d,1,1,"text;html=1;align=left;verticalAlign=top;"),c.updateCellSize(f,!0)}finally{c.getModel().endUpdate()}return f};EditorUi.prototype.insertTextAt=function(a,b,d,e,k,l,m){l=null!=l?l:!0;m=null!=m?m:!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,b,d,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var c=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b, -d,l,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(f=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+1)),g=this.importXml(f,b,d,l,!0),0<g.length)return g}catch(z){}this.loadImage(a,mxUtils.bind(this,function(f){if("data:"==a.substring(0,5))this.resizeImage(f,a,mxUtils.bind(this,function(a,f,e){c.setSelectionCell(c.insertVertex(null, -null,"",c.snap(b),c.snap(d),f,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),m,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/f.width,this.maxImageSize/f.height)),g=Math.round(f.width*e);f=Math.round(f.height*e);c.setSelectionCell(c.insertVertex(null,null,"",c.snap(b),c.snap(d),g,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+ -a+";"))}}),mxUtils.bind(this,function(){var f=null;c.getModel().beginUpdate();try{f=c.insertVertex(c.getDefaultParent(),null,a,c.snap(b),c.snap(d),1,1,"text;"+(e?"html=1;":"")),c.updateCellSize(f),c.fireEvent(new mxEventObject("textInserted","cells",[f]))}finally{c.getModel().endUpdate()}c.setSelectionCell(f)}))}else{a=Graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,d,l);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this, -function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,d,l))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{c=this.editor.graph;k=null;c.getModel().beginUpdate();try{k=c.insertVertex(c.getDefaultParent(),null,"",c.snap(b),c.snap(d),1,1,"text;"+(e?"html=1;":"")),c.fireEvent(new mxEventObject("textInserted","cells",[k])),"<"==a.charAt(0)&&a.indexOf(">")==a.length-1&&(a=mxUtils.htmlEntities(a)),a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"..."),k.value=a, -c.updateCellSize(k),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(k.value)&&c.setLinkForCell(k,k.value),k.geometry.width+=c.gridSize,k.geometry.height+=c.gridSize}finally{c.getModel().endUpdate()}return[k]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]}; -EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!=a&&('{"state":"{\\"Properties\\":'==a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null== -this.importFileInputElt){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&(this.importFiles(c.files,null,null,this.maxImageSize),c.type="",c.type="file",c.value="")}));c.style.display="none";document.body.appendChild(c);this.importFileInputElt=c}this.importFileInputElt.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this, -function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"});this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a,0,0,!0))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var f=this.dialog,e=f.close;this.dialog.close= -mxUtils.bind(this,function(a){Editor.useLocalStorage=d;e.apply(f,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,d){var c=this,f=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(f){if(0==Object.keys(f.files).length)d();else{var e=0,g,l=!1;f.forEach(function(a,c){var f=c.name.toLowerCase();"diagram/diagram.xml"==f?(l=!0,c.async("string").then(function(a){0== -a.indexOf("<mxfile ")?b(a):d()})):0==f.indexOf("versions/")&&(f=parseInt(f.substr(9)),f>e&&(e=f,g=c))});0<e?g.async("string").then(function(f){!c.isOffline()&&(new XMLHttpRequest).upload&&c.isRemoteFileFormat(f,a.name)?c.parseFile(new Blob([f],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?b(a.responseText):d())}),a.name):d()}):l||d()}},function(a){d(a)}):d()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?f(): -(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importFile=function(a,b,d,e,k,l,m,p,t,u,z){u=null!=u?u:!0;var c=!1,f=null,g=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,m)):b=this.importXml(a,d,e,u);null!=p&&p(b)});"image"==b.substring(0,5)?(t=!1,"image/png"==b.substring(0,9)&&(b=z?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,d,e,u),t=!0)),t||(b=this.editor.graph, -z=a.indexOf(";"),0<z&&(a=a.substring(0,z)+a.substring(a.indexOf(",",z+1))),u&&b.isGridEnabled()&&(d=b.snap(d),e=b.snap(e)),f=[b.insertVertex(null,null,"",d,e,k,l,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(c=!0,this.importGraphML(a,g)):null!=t&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||/(\.vs(x|sx?))($|\?)/i.test(m))?(c=!0,this.importVisio(t,g)):!this.isOffline()&&(new XMLHttpRequest).upload&& -this.isRemoteFileFormat(a,m)?(c=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(a.responseText):null!=p&&p(null))}),m)):0==a.indexOf("PK")&&null!=t?(c=!0,this.importZipFile(t,g,mxUtils.bind(this,function(){f=this.insertTextAt(this.validateFileData(a),d,e,!0,null,u);p(f)}))):/(\.v(sd|dx))($|\?)/i.test(m)||/(\.vs(s|x))($|\?)/i.test(m)||(f=this.insertTextAt(this.validateFileData(a),d,e,!0,null, -u));c||null==p||p(f);return f};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,l,k;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}l=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e& -3)<<4|(l&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((l&15)<<2);b+="=";break}k=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(l&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((l&15)<<2|(k&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return b}; -EditorUi.prototype.importFiles=function(a,b,d,e,k,l,m,p,t,u,z,y){b=null!=b?b:0;d=null!=d?d:0;e=null!=e?e:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var c=null!=b&&null!=d,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var n=z||this.resampleThreshold,q=0;q<a.length;q++)if("image/"==a[q].type.substring(0,6)&&a[q].size>n){g=!0;break}var A=mxUtils.bind(this,function(){var g=this.editor.graph,n=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,d,f,e,g,l,k,n){return null!=a&&"<mxlibrary"==a.substring(0, -10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,l)),null):this.importFile(a,b,d,f,e,g,l,k,n,c,y)});l=null!=l?l:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,q=t,A=[],v=mxUtils.bind(this,function(a,b){A[a]=b;if(0==--q){this.spinner.stop();if(null!=p)p(A);else{var c=[];g.getModel().beginUpdate();try{for(var d=0;d<A.length;d++){var f=A[d]();null!=f&&(c=c.concat(f))}}finally{g.getModel().endUpdate()}}l(c)}}), -x=0;x<t;x++)mxUtils.bind(this,function(c){var l=a[c];if(null!=l){var t=new FileReader;t.onload=mxUtils.bind(this,function(a){if(null==m||m(l))if("image/"==l.type.substring(0,6))if("image/svg"==l.type.substring(0,9)){var t=a.target.result,p=t.indexOf(","),q=decodeURIComponent(escape(atob(t.substring(p+1)))),A=mxUtils.parseXml(q),q=A.getElementsByTagName("svg");if(0<q.length){var q=q[0],x=y?null:q.getAttribute("content");null!=x&&"<"!=x.charAt(0)&&"%"!=x.charAt(0)&&(x=unescape(window.atob?atob(x):Base64.decode(x, -!0)));null!=x&&"%"==x.charAt(0)&&(x=decodeURIComponent(x));null==x||"<mxfile "!==x.substring(0,8)&&"<mxGraphModel "!==x.substring(0,14)?v(c,mxUtils.bind(this,function(){try{if(t.substring(0,p+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var f=a[0],m=f.getAttribute("width"),q=f.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,q=null!=q&&"%"!=q.charAt(q.length-1)?parseFloat(q):NaN,z=f.getAttribute("viewBox");if(null==z||0==z.length)f.setAttribute("viewBox", -"0 0 "+m+" "+q);else if(isNaN(m)||isNaN(q)){var v=z.split(" ");3<v.length&&(m=parseFloat(v[2]),q=parseFloat(v[3]))}t=this.createSvgDataUri(mxUtils.getXml(f));var u=Math.min(1,Math.min(e/Math.max(1,m)),e/Math.max(1,q)),x=k(t,l.type,b+c*n,d+c*n,Math.max(1,Math.round(m*u)),Math.max(1,Math.round(q*u)),l.name);if(isNaN(m)||isNaN(q)){var C=new Image;C.onload=mxUtils.bind(this,function(){m=Math.max(1,C.width);q=Math.max(1,C.height);x[0].geometry.width=m;x[0].geometry.height=q;f.setAttribute("viewBox","0 0 "+ -m+" "+q);t=this.createSvgDataUri(mxUtils.getXml(f));var a=t.indexOf(";");0<a&&(t=t.substring(0,a)+t.substring(t.indexOf(",",a+1)));g.setCellStyles("image",t,[x[0]])});C.src=this.createSvgDataUri(mxUtils.getXml(f))}return x}}}catch(da){}return null})):v(c,mxUtils.bind(this,function(){return k(x,"text/xml",b+c*n,d+c*n,0,0,l.name)}))}else v(c,mxUtils.bind(this,function(){return null}))}else{q=!1;if("image/png"==l.type){var C=y?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var G= -new Image;G.src=a.target.result;v(c,mxUtils.bind(this,function(){return k(C,"text/xml",b+c*n,d+c*n,G.width,G.height,l.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result, -mxUtils.bind(this,function(g,m,t){v(c,mxUtils.bind(this,function(){if(null!=g&&g.length<u){var q=f&&this.isResampleImage(a.target.result,z)?Math.min(1,Math.min(e/m,e/t)):1;return k(g,l.type,b+c*n,d+c*n,Math.round(m*q),Math.round(t*q),l.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,z)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,l.type,b+c*n,d+c*n,240,160,l.name,function(a){v(c, -function(){return a})},l)});/(\.v(dx|sdx?))($|\?)/i.test(l.name)||/(\.vs(x|sx?))($|\?)/i.test(l.name)?k(null,l.type,b+c*n,d+c*n,240,160,l.name,function(a){v(c,function(){return a})},l):"image"==l.type.substring(0,5)?t.readAsDataURL(l):t.readAsText(l)}})(x)});if(g){g=[];for(q=0;q<a.length;q++)g.push(a[q]);a=g;this.confirmImageResize(function(a){f=a;A()},t)}else A()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause(): -function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,f=function(d,f){if(d||b)mxSettings.setResizeImages(d?f:null),mxSettings.save();c();a(f)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){f(a,!0)},function(a){f(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container, -340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):f(!1,d)};EditorUi.prototype.parseFile=function(a,b,d){d=null!=d?d:a.name;var c=new FormData;c.append("format","xml");c.append("upfile",a,d);var f=new XMLHttpRequest;f.open("POST",OPEN_URL);f.onreadystatechange=function(){b(f)};f.send(c);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(l){}};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage= -function(a,b,d,e,k,l){k=null!=k?k:this.maxImageSize;var c=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,l))try{var g=Math.max(c/k,f/k);if(1<g){var n=Math.round(c/g),m=Math.round(f/g),q=document.createElement("canvas");q.width=n;q.height=m;q.getContext("2d").drawImage(a,0,0,n,m);var p=q.toDataURL();if(p.length<b.length){var v=document.createElement("canvas");v.width=n;v.height=m;var u=v.toDataURL();p!==u&&(b=p,c=n,f=m)}}}catch(L){}d(b,c,f)};EditorUi.prototype.crcTable=[]; -for(var d=0;256>d;d++)for(var k=d,m=0;8>m;m++)k=1==(k&1)?3988292384^k>>>1:k>>>1,EditorUi.prototype.crcTable[d]=k;EditorUi.prototype.updateCRC=function(a,b,d,e){for(var c=0;c<e;c++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(d+c))&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,d,e,k){function c(a, -b){var c=m;m+=b;return a.substring(c,m)}function f(a){a=c(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var m=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(c(a,4),"IHDR"!=c(a,4))null!=k&&k();else{c(a,17);k=a.substring(0,m);do{var n=f(a);if("IDAT"==c(a, -4)){k=a.substring(0,m-8);"pHYs"==b&&"dpi"==d?(d=Math.round(e/.0254),d=g(d)+g(d)+String.fromCharCode(1)):d=d+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,d,0,d.length);k+=g(d.length)+b+d+g(e^4294967295);k+=a.substring(m-8,a.length);break}k+=a.substring(m-8,m-4+n);c(a,n);c(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)}; -EditorUi.prototype.loadImage=function(a,b,d){try{var c=new Image;c.onload=function(){b(c)};null!=d&&(c.onerror=d);c.src=a}catch(n){if(null!=d)d(n);else throw n;}};var p=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph,d=b.cellEditor.startEditing;b.cellEditor.startEditing=function(c,f){var e=this.graph.getAttributeForCell(c, -"plantUmlData");if(null!=e){var g=JSON.parse(e),e=new TextareaDialog(a,mxResources.get("plantUml")+":",g.data,function(d){null!=d&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(d,g.format,function(f,e,l){a.spinner.stop();b.getModel().beginUpdate();try{if("txt"==g.format)b.labelChanged(c,"<pre>"+f+"</pre>"),b.updateCellSize(c,!0);else{b.setCellStyles("image",a.convertDataUri(f),[c]);var k=b.model.getGeometry(c);null!=k&&(k=k.clone(),k.width=e,k.height=l,b.cellsResized([c], -[k],!1))}b.setAttributeForCell(c,"plantUmlData",JSON.stringify({data:d,format:g.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);e.init()}else d.apply(this,arguments)};b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(J){a.handleError(J)}return c};var e=this.clearDefaultStyle;this.clearDefaultStyle=function(){e.apply(this,arguments)}; -this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var k=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return k.apply(this,arguments)};var l=b.addClickHandler; -b.addClickHandler=function(a,c,d){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null!=c&&b.isCustomLink(c)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(c)&&mxEvent.consume(a);null!=f&&f(a,c)};l.call(this,a,c,d)};p.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container, -360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var m=b.getExportVariables;b.getExportVariables=function(){var b=m.apply(this,arguments);b.pagecount=null!=a.pages?a.pages.length:1;b.page=null!=a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var u=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName(): -"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:1:u.apply(this,arguments)};var t=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var f=c.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))t.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(f),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename= -function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var y=this.actions.get("print");y.setEnabled(!mxClient.IS_IOS||!navigator.standalone);y.visible=y.isEnabled();if(!this.editor.chromeless||this.editor.editable)this.keyHandler.bindAction(70,!0,"find"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText", -!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",!0),mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(this.altShiftActions[83]="synchronize"),this.installImagePasteHandler(),this.installNativeClipboardHandler();this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this, -function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0< -a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,f,e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1, -a.width);a=Math.max(1,a.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,d)),f/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*f,a*f)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation(); -a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(y=this.editor.graph.view,y.setUnit(mxSettings.getUnit()),y.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));mxSettings.save()}),this.ruler=!this.canvasSupported||9==document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,y.unit),this.refresh());if("1"==urlParams.styledev){y=document.getElementById("geFooter"); -null!=y&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),y.appendChild(this.styleInput), -this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var z=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:z.apply(this,arguments)}}y=document.getElementById("geInfo"); -null!=y&&y.parentNode.removeChild(y);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var E=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=E&&(E.parentNode.removeChild(E),E=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==E&&(!mxClient.IS_IE||10<document.documentMode)&&(E=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation(); -a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=E&&(E.parentNode.removeChild(E),E=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=b.view.translate,f=b.view.scale,e=c.x/f-d.x,g=c.y/f-d.y;mxEvent.isAltDown(a)&&(g=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var l= -0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,e,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var k=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=k;var m=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(k=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)||(m= -!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(k=c[0].getAttribute("href")));var n=!0,t=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(k,e,g,!0,m,null,n))});m&&k.length>this.resampleThreshold?this.confirmImageResize(function(a){n=a;t()},mxEvent.isControlDown(a)):t()}else null!=l&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)?this.loadImage(decodeURIComponent(l),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1, -Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",e,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+l+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(l,e,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),e,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages(); -"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,d=!1,f=0;f<c.types.length;f++)if("text/"===c.types[f].substring(0,5)){d=!0;break}if(!d){var e=c.items;for(index in e){var k=e[index];if("file"===k.kind){if(a.isEditing())this.importFiles([k.getAsFile()], -0,0,this.maxImageSize,function(b,c,d,f,e,g){a.insertImage(b,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var m=this.editor.graph.getInsertPoint();this.importFiles([k.getAsFile()],m.x,m.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(t){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){d.innerHTML=" ";d.focus();document.execCommand("selectAll",!1,null)}, -0)}var b=this.editor.graph,d=document.createElement("div");d.setAttribute("autocomplete","off");d.setAttribute("autocorrect","off");d.setAttribute("autocapitalize","off");d.setAttribute("spellcheck","false");d.style.textRendering="optimizeSpeed";d.style.fontFamily="monospace";d.style.wordBreak="break-all";d.style.background="transparent";d.style.color="transparent";d.style.position="absolute";d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.style.display="block";d.style.fontSize="1";d.style.zIndex= -"-1";d.style.resize="none";d.style.outline="none";d.style.width="1px";d.style.height="1px";mxUtils.setOpacity(d,0);d.contentEditable=!0;d.innerHTML=" ";var e=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName|| -!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||e||(d.style.left=b.container.scrollLeft+10+"px",d.style.top=b.container.scrollTop+10+"px",b.container.appendChild(d),e=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){d.focus();document.execCommand("selectAll",!1,null)},0):(d.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!e|| -224!=c&&17!=c&&91!=c||(e=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),d.parentNode.removeChild(d),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(d,"copy",mxUtils.bind(this,function(c){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(d),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(d,"cut",mxUtils.bind(this,function(c){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(d,!0),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(d, -"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&((new Date).getTime(),d.innerHTML=" ",d.focus(),null!=a.clipboardData&&this.pasteCells(a,d,!0),mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,d,!1)}),0))}),!0);var k=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==d?!0:k.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this, -arguments);if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");0<c&&(b=this.getPageById(a.substring(c+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)}; -EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(c){}this.fireEvent(new mxEventObject("styleChanged", -"keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){mxSettings.setCustomFonts(this.menus.customFonts);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget()); -mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){console.log("gridColorChanged",this.editor.graph.view.gridColor);mxSettings.setGridColor(this.editor.graph.view.gridColor,"dark"==uiTheme); -mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(), -mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),f=mxUtils.getXml(c.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(f));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=f,c.pasteCounter=0);a.focus();document.execCommand("selectAll", -!1,null)}};EditorUi.prototype.pasteCells=function(a,b,d){if(!mxEvent.isConsumed(a)){var c=b;if(d&&null!=a.clipboardData&&a.clipboardData.getData){var f=a.clipboardData.getData("text/html");if(null!=f&&0<f.length){if(c=document.createElement("div"),c.innerHTML=f,f=c.getElementsByTagName("style"),null!=f)for(;0<f.length;)f[0].parentNode.removeChild(f[0])}else f=a.clipboardData.getData("text/plain"),null!=f&&0<f.length&&(c=document.createElement("div"),mxUtils.setTextContent(c,f))}f=c.getElementsByTagName("span"); -if(null!=f&&0<f.length&&"application/vnd.lucid.chart.objects"===f[0].getAttribute("data-lucid-type"))d=f[0].getAttribute("data-lucid-content"),null!=d&&0<d.length&&(this.convertLucidChart(d,mxUtils.bind(this,function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var c=b.pasteCounter*b.gridSize;b.setSelectionCells(this.importXml(a,c,c));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a)); -else{var e=mxUtils.trim(null==c.innerText?mxUtils.getTextContent(c):c.innerText),g=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(C){}try{var f=c.getElementsByTagName("span"),m=null!=f&&0<f.length?mxUtils.trim(decodeURIComponent(f[0].textContent)):decodeURIComponent(e);this.isCompatibleString(m)&&(g=!0,e=m)}catch(C){}try{var p=this.editor.graph;if(null!=e&&0<e.length){p.lastPasteXml==e?p.pasteCounter++:(p.lastPasteXml=e,p.pasteCounter=0);var z=p.pasteCounter*p.gridSize; -if(g||this.isCompatibleString(e))p.setSelectionCells(this.importXml(e,z,z));else{var u=p.getInsertPoint();p.isMouseInsertPoint()&&(z=0,p.lastPasteXml==e&&0<p.pasteCounter&&p.pasteCounter--);p.setSelectionCells(this.insertTextAt(e,u.x+z,u.y+z,!0))}if(!p.isSelectionEmpty()){p.scrollCellToVisible(p.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(p.view.getState(p.getSelectionCell()));try{mxEvent.consume(a)}catch(C){}}}else d||(p.lastPasteXml=null,p.pasteCounter=0)}catch(C){this.handleError(C)}}}b.innerHTML= -" "};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})), -mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer: -a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"== -c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(c))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(c)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(c):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/": -"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(c)))))}else this.openLocalFile(c,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,e;if(null==a){e=document.body;var l=document.documentElement;d=(e.clientWidth||l.clientWidth)-3;e=Math.max(e.clientHeight||0,l.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;l=document.createElement("div");l.style.zIndex=mxPopupMenu.prototype.zIndex+ -2;l.style.border="3px dotted rgb(254, 137, 12)";l.style.pointerEvents="none";l.style.position="absolute";l.style.top=b+"px";l.style.left=c+"px";l.style.width=Math.max(0,d-3)+"px";l.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(l):document.body.appendChild(l);return l};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument), -d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{var d=c.target.result,f=a.name;if(null!=f&&0<f.length){!this.useCanvasForExport&&/(\.png)$/i.test(f)&&(f=f.substring(0,f.length-4)+".drawio"); -var e=mxUtils.bind(this,function(a){f=0<=f.lastIndexOf(".")?f.substring(0,f.lastIndexOf("."))+".drawio":f+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,f))}catch(z){this.handleError(z,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,f,b)});if(/(\.v(dx|sdx?))($|\?)/i.test(f)||/(\.vs(x|sx?))($|\?)/i.test(f))this.importVisio(a, -mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(/(\.*<graphml )/.test(d))this.importGraphML(d,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,f))this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?e(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")}, -mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(d))/(\.json)$/i.test(f)&&(f=f.substring(0,f.length-5)+".drawio"),this.convertLucidChart(d,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,f,b)}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b); -try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(F){this.handleError(F,mxResources.get("errorLoadingFile"))}}else 0==d.indexOf("PK")?this.importZipFile(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(d,f,b)})):("image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,f,b))}}catch(F){this.handleError(F)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop(); -this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,d){var c=this.getCurrentFile(),f=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a, -b||this.defaultFilename,d))});if(null!=a&&0<a.length)null==c||!c.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?f():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=c&&c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=c&&c.isModified()? -this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):f()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],d;for(d in a)b.push(d);return b};EditorUi.prototype.addBasenamesForCell= -function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1,a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,f=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(f[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(f[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(f[mxConstants.STYLE_ENDARROW])));for(var f=d.model.getChildCount(a),e=0;e<f;e++)this.addBasenamesForCell(d.model.getChildAt(a,e),b)};EditorUi.prototype.setGraphEnabled= -function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.ruler&&(this.ruler.hRuler.container.style.visibility=a?"":"hidden",this.ruler.vRuler.container.style.visibility=a?"":"hidden");null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden"); -a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&& -this.installMessageHandler(mxUtils.bind(this,function(a,b,d){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=d?d:!1;this.updateUi(); -window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a, -pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,l=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE, -l);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){if(f.source==(window.opener||window.parent)){var g=f.data,l=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&& -(a=Graph.decompress(a)))}catch(ga){}return a});if("json"==urlParams.proto){try{g=JSON.parse(g)}catch(U){g=null}try{if(null==g)return;if("dialog"==g.action){this.showError(null!=g.titleKey?mxResources.get(g.titleKey):g.title,null!=g.messageKey?mxResources.get(g.messageKey):g.message,null!=g.buttonKey?mxResources.get(g.buttonKey):g.button);null!=g.modified&&(this.editor.modified=g.modified);return}if("prompt"==g.action){this.spinner.stop();var m=new FilenameDialog(this,g.defaultValue||"",null!=g.okKey? -mxResources.get(g.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:g}),"*")},null!=g.titleKey?mxResources.get(g.titleKey):g.title);this.showDialog(m.container,300,80,!0,!1);m.init();return}if("draft"==g.action){var n=l(g.xml);this.spinner.stop();m=new DraftDialog(this,mxResources.get("draftFound",[g.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:g}),"*")}), -mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:g}),"*")}),g.editKey?mxResources.get(g.editKey):null,g.discardKey?mxResources.get(g.discardKey):null,g.ignore?mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:g}),"*")}):null);this.showDialog(m.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(U){k.postMessage(JSON.stringify({event:"draft", -error:U.toString(),message:g}),"*")}return}if("template"==g.action){this.spinner.stop();var p=1==g.enableRecent,q=1==g.enableSearch,u=1==g.enableCustomTemp,m=new NewDialog(this,!1,null!=g.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=g.callback?k.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,p?mxUtils.bind(this, -function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,q?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){k.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")}),null,null,u?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(m.container,620,440, -!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("textContent"==g.action){var A=this.getDiagramTextContent();k.postMessage(JSON.stringify({event:"textContent",data:A,message:g}),"*");return}if("status"==g.action){null!=g.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(g.messageKey))):null!=g.message&&this.editor.setStatus(mxUtils.htmlEntities(g.message));null!=g.modified&&(this.editor.modified=g.modified);return}if("spinner"==g.action){var x= -null!=g.messageKey?mxResources.get(g.messageKey):g.message;null==g.show||g.show?this.spinner.spin(document.body,x):this.spinner.stop();return}if("export"==g.action){if("png"==g.format||"xmlpng"==g.format){if(null==g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin)){var y=null!=g.xml?g.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var B=this.editor.graph,G=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop(); -var b=this.createLoadMessage("export");b.format=g.format;b.message=g;b.data=a;b.xml=encodeURIComponent(y);k.postMessage(JSON.stringify(b),"*")}),O=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==g.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(y)));B!=this.editor.graph&&B.container.parentNode.removeChild(B.container);G(a)}),R=g.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!= -R){for(var ba=B.getGlobalVariable,B=this.createTemporaryGraph(B.getStylesheet()),W,H=0;H<this.pages.length;H++)if(this.pages[H].getId()==R){W=this.updatePageRoot(this.pages[H]);break}B.getGlobalVariable=function(a){return"page"==a?W.getName():"pagenumber"==a?1:ba.apply(this,arguments)};document.body.appendChild(B.container);B.model.setRoot(W.root)}if(null!=g.layerIds){for(var Z=B.model,fa=Z.getChildCells(Z.getRoot()),m={},H=0;H<g.layerIds.length;H++)m[g.layerIds[H]]=!0;for(H=0;H<fa.length;H++)Z.setVisible(fa[H], -m[fa[H].id]||!1)}this.exportToCanvas(mxUtils.bind(this,function(a){O(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){O(null)}),null,null,g.scale,null,null,null,B)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==g.format?"1":"0")+(null!=R?"&pageId="+R:"")+(null!=g.layerIds?"&extras="+encodeURIComponent(JSON.stringify({layerIds:g.layerIds})):"")+(null!=g.scale?"&scale="+g.scale:"")+"&base64=1&xml="+encodeURIComponent(y))).send(mxUtils.bind(this,function(a){200<= -a.getStatus()&&299>=a.getStatus()?G("data:image/png;base64,"+a.getText()):O(null)}),mxUtils.bind(this,function(){O(null)}))}}else{null!=g.xml&&0<g.xml.length&&this.setFileData(g.xml);x=this.createLoadMessage("export");if("html2"==g.format||"html"==g.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var la=this.getXmlFileData();x.xml=mxUtils.getXml(la);x.data=this.getFileData(null,null,!0,null,null,null,la);x.format=g.format}else if("html"==g.format)y=this.editor.getGraphXml(), -x.data=this.getHtml(y,this.editor.graph),x.xml=mxUtils.getXml(y),x.format=g.format;else{mxSvgCanvas2D.prototype.foAltText=null;var Q=this.editor.graph.background;Q==mxConstants.NONE&&(Q=null);x.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);x.format="svg";if(g.embedImages||null==g.embedImages){if(null==g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==g.format?this.getEmbeddedSvg(x.xml, -this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();x.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(x),"*")})):this.convertImages(this.editor.graph.getSvg(Q),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();x.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(x),"*")}));return}var ia="xmlsvg"==g.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(Q)); -x.data=this.createSvgDataUri(ia)}k.postMessage(JSON.stringify(x),"*")}return}if("load"==g.action)d=1==g.autosave,this.hideDialog(),null!=g.modified&&null==urlParams.modified&&(urlParams.modified=g.modified),null!=g.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=g.saveAndExit),null!=g.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,g.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px", -this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(n),this.embedFilenameSpan=n),g=null!=g.xmlpng?this.extractGraphModelFromPng(g.xmlpng):g.xml;else{"remoteInvokeReady"==g.action?this.handleRemoteInvokeReady(k):"remoteInvoke"==g.action?this.handleRemoteInvoke(g):"remoteInvokeResponse"== -g.action?this.handleRemoteInvokeResponse(g):k.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(g)}),"*");return}}catch(U){this.handleError(U)}}var V=mxUtils.bind(this,function(f,g){c=!0;try{a(f,g)}catch(Y){this.handleError(Y)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var l=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=l();d&&null==b&&(b=mxUtils.bind(this, -function(a,b){var d=l();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d,"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged", -b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")});null!=g&&"function"===typeof g.substring&&"data:application/vnd.visio;base64,"==g.substring(0,34)?(l="0M8R4KGxGuE"==g.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(g.substring(g.indexOf(",")+ -1)),function(a){V(a,f)},mxUtils.bind(this,function(a){this.handleError(a)}),l)):null!=g&&"function"===typeof g.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(g,"")?this.parseFile(new Blob([g],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&V(a.responseText,f)}),""):null!=g&&"function"===typeof g.substring&&this.isLucidChartData(g)?this.convertLucidChart(g, -mxUtils.bind(this,function(a){V(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):(g=l(g),V(g,f))}}));var k=window.opener||window.parent,l="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.postMessage(l,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"0px";a.style.paddingLeft="8px";a.style.paddingBottom= -"2px";var b=document.createElement("button");b.className="geBigButton";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)):(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})), -a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className= -"geBigButton geBigStandardButton";b.style.marginLeft="6px";b.style.marginRight="20px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this, -function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://about.draw.io/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),f=0;f<a.length;f++){var e=new window[a[f].layout](c);if(null!=a[f].config)for(var k in a[f].config)e[k]=a[f].config[k];this.executeLayout(function(){e.execute(c.getDefaultParent(), -0==d.length?null:d)},f==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],f=[],e={};if(0<c.length){var k={},m=null,p=null,u=null,z=null,y=null,C=null,v=null,B=null,L="",I="auto",N="auto",D=null,G=null,O=40,R=40,ba=100,W=0,H=this.editor.graph;H.getGraphBounds();for(var Z=function(){null!=b?b(ka):(H.setSelectionCells(ka),H.scrollCellToVisible(H.getSelectionCell()))},fa=H.getFreeInsertPoint(),la=fa.x,Q=fa.y,fa=Q,ia=null,V="auto",B=null,U=[],ga=null,qa=null,Y=0;Y< -c.length&&"#"==c[Y].charAt(0);){a=c[Y];for(Y++;Y<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[Y].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[Y].substring(1)),Y++;if("#"!=a.charAt(1)){var aa=a.indexOf(":");if(0<aa){var P=mxUtils.trim(a.substring(1,aa)),M=mxUtils.trim(a.substring(aa+1));"label"==P?ia=H.sanitizeHtml(M):"labelname"==P&&0<M.length&&"-"!=M?z=M:"labels"==P&&0<M.length&&"-"!=M?y=JSON.parse(M):"style"==P?m=M:"parentstyle"==P?C=M:"stylename"==P&&0<M.length&&"-"!=M?u=M:"styles"==P&& -0<M.length&&"-"!=M?p=JSON.parse(M):"identity"==P&&0<M.length&&"-"!=M?v=M:"parent"==P&&0<M.length&&"-"!=M?B=M:"namespace"==P&&0<M.length&&"-"!=M?L=M:"width"==P?I=M:"height"==P?N=M:"left"==P&&0<M.length?D=M:"top"==P&&0<M.length?G=M:"ignore"==P?qa=M.split(","):"connect"==P?U.push(JSON.parse(M)):"link"==P?ga=M:"padding"==P?W=parseFloat(M):"edgespacing"==P?O=parseFloat(M):"nodespacing"==P?R=parseFloat(M):"levelspacing"==P?ba=parseFloat(M):"layout"==P&&(V=M)}}}if(null==c[Y])throw Error(mxResources.get("invalidOrMissingFile")); -var ja=this.editor.csvToArray(c[Y]),P=aa=null;if(null!=v||null!=B)for(var T=0;T<ja.length;T++)v==ja[T]&&(aa=T),B==ja[T]&&(P=T);null==ia&&(ia="%"+ja[0]+"%");if(null!=U)for(var S=0;S<U.length;S++)null==k[U[S].to]&&(k[U[S].to]={});H.model.beginUpdate();try{for(T=Y+1;T<c.length;T++){var ea=this.editor.csvToArray(c[T]);if(null==ea){var ta=40<c[T].length?c[T].substring(0,40)+"...":c[T];throw Error(T+" ("+ta+") "+mxResources.get("containsValidationErrors"));}if(ea.length==ja.length){var K=null,ma=null!= -aa?L+ea[aa]:null;null!=ma&&(K=H.model.getCell(ma));var v=null!=K,da=new mxCell(ia,new mxGeometry(la,fa,0,0),m||"whiteSpace=wrap;html=1;");da.vertex=!0;da.id=ma;for(var ha=0;ha<ea.length;ha++)H.setAttributeForCell(da,ja[ha],ea[ha]);if(null!=z&&null!=y){var Aa=y[da.getAttribute(z)];null!=Aa&&H.labelChanged(da,Aa)}if(null!=u&&null!=p){var Ba=p[da.getAttribute(u)];null!=Ba&&(da.style=Ba)}H.setAttributeForCell(da,"placeholders","1");da.style=H.replacePlaceholders(da,da.style);v&&(H.model.setGeometry(K, -da.geometry),H.model.setStyle(K,da.style),0>mxUtils.indexOf(f,K)&&f.push(K));K=da;if(!v)for(S=0;S<U.length;S++)k[U[S].to][K.getAttribute(U[S].to)]=K;null!=ga&&"link"!=ga&&(H.setLinkForCell(K,K.getAttribute(ga)),H.setAttributeForCell(K,ga,null));H.fireEvent(new mxEventObject("cellsInserted","cells",[K]));var za=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=D&&null!=K.getAttribute(D)&&(K.geometry.x=la+parseFloat(K.getAttribute(D))),null!=G&&null!=K.getAttribute(G)&&(K.geometry.y=Q+parseFloat(K.getAttribute(G))), -"@"==I.charAt(0)&&null!=K.getAttribute(I.substring(1))?K.geometry.width=parseFloat(K.getAttribute(I.substring(1))):K.geometry.width="auto"==I?za.width+W:parseFloat(I),"@"==N.charAt(0)&&null!=K.getAttribute(N.substring(1))?K.geometry.height=parseFloat(K.getAttribute(N.substring(1))):K.geometry.height="auto"==N?za.height+W:parseFloat(N),fa+=K.geometry.height+R);v?(null==e[ma]&&(e[ma]=[]),e[ma].push(K)):(B=null!=P?H.model.getCell(L+ea[P]):null,d.push(K),null!=B?(B.style=H.replacePlaceholders(B,C),H.addCell(K, -B)):f.push(H.addCell(K)))}}for(var oa=f.slice(),ka=f.slice(),S=0;S<U.length;S++)for(var sa=U[S],T=0;T<f.length;T++){var K=f[T],pa=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){H.setAttributeForCell(b,c.from,null);for(var d=d.split(","),f=0;f<d.length;f++){var e=k[c.to][d[f]];if(null!=e){var g=c.label;null!=c.fromlabel&&(g=(b.getAttribute(c.fromlabel)||"")+(g||""));null!=c.tolabel&&(g=(g||"")+(e.getAttribute(c.tolabel)||""));ka.push(H.insertEdge(null,null,g||"",c.invert? -e:a,c.invert?a:e,c.style||H.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:e,oa)}}}});pa(K,K,sa);if(null!=e[K.id])for(ha=0;ha<e[K.id].length;ha++)pa(K,e[K.id][ha],sa)}if(null!=qa)for(T=0;T<d.length;T++)for(K=d[T],ha=0;ha<qa.length;ha++)H.setAttributeForCell(K,mxUtils.trim(qa[ha]),null);if(0<f.length){var ua=new mxParallelEdgeLayout(H);ua.spacing=O;var wa=function(){0<ua.spacing&&ua.execute(H.getDefaultParent());for(var a=0;a<f.length;a++){var b=H.getCellGeometry(f[a]);b.x=Math.round(H.snap(b.x)); -b.y=Math.round(H.snap(b.y));"auto"==I&&(b.width=Math.round(H.snap(b.width)));"auto"==N&&(b.height=Math.round(H.snap(b.height)))}};if("["==V.charAt(0)){var ra=Z;H.view.validate();this.executeLayoutList(JSON.parse(V),function(){wa();ra()});Z=null}else if("circle"==V){var Ca=new mxCircleLayout(H);Ca.resetEdges=!1;var Ma=Ca.isVertexIgnored;Ca.isVertexIgnored=function(a){return Ma.apply(this,arguments)||0>mxUtils.indexOf(f,a)};this.executeLayout(function(){Ca.execute(H.getDefaultParent());wa()},!0,Z); -Z=null}else if("horizontaltree"==V||"verticaltree"==V||"auto"==V&&ka.length==2*f.length-1&&1==oa.length){H.view.validate();var Da=new mxCompactTreeLayout(H,"horizontaltree"==V);Da.levelDistance=R;Da.edgeRouting=!1;Da.resetEdges=!1;this.executeLayout(function(){Da.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,Z);Z=null}else if("horizontalflow"==V||"verticalflow"==V||"auto"==V&&1==oa.length){H.view.validate();var xa=new mxHierarchicalLayout(H,"horizontalflow"==V?mxConstants.DIRECTION_WEST: -mxConstants.DIRECTION_NORTH);xa.intraCellSpacing=R;xa.parallelEdgeSpacing=O;xa.interRankCellSpacing=ba;xa.disableEdgeStyle=!1;this.executeLayout(function(){xa.execute(H.getDefaultParent(),ka);H.moveCells(ka,la,Q)},!0,Z);Z=null}else if("organic"==V||"auto"==V&&ka.length>f.length){H.view.validate();var ya=new mxFastOrganicLayout(H);ya.forceConstant=3*R;ya.resetEdges=!1;var Ga=ya.isVertexIgnored;ya.isVertexIgnored=function(a){return Ga.apply(this,arguments)||0>mxUtils.indexOf(f,a)};ua=new mxParallelEdgeLayout(H); -ua.spacing=O;this.executeLayout(function(){ya.execute(H.getDefaultParent());wa()},!0,Z);Z=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=Z&&Z()}}catch(Ha){this.handleError(Ha)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl= -function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,d){a=new LinkDialog(this,a,b,d,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var u= -EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=u.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)}; -var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding(); -return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a,8/a)};var l=b.init;b.init=function(){l.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+ -a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),f=b.source,e=b.outline;e.pageScale=f.pageScale;e.pageFormat=f.pageFormat;e.background=f.background;e.pageVisible=f.pageVisible;e.background=f.background;var g=mxUtils.getCurrentStyle(f.container);e.container.style.backgroundColor=g.backgroundColor;null!=f.view.backgroundPageShape&&null!=e.view.backgroundPageShape&& -(e.view.backgroundPageShape.fill=f.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=1;null==this.drive&&"function"!==typeof window.DriveClient||c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.gitLab||c++;b&&a&&isLocalStorage&&"1"==urlParams.browser&& -c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var d=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!d);this.actions.get("print").setEnabled(!d);this.menus.get("exportAs").setEnabled(!d);this.menus.get("embed").setEnabled(!d); -d="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(d);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(d),this.menus.get("newLibrary").setEnabled(d));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.actions.get("undo").setEnabled(this.canUndo()&& -a);this.actions.get("redo").setEnabled(this.canRedo()&&a);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var e=applicationCache;if(null!=e&&null==this.offlineStatus){this.offlineStatus=document.createElement("div"); -this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin="4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this, -function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var e=window.applicationCache,k=null,b=mxUtils.bind(this,function(){var a=e.status,b;a==e.CHECKING&&(a=e.DOWNLOADING);switch(a){case e.UNCACHED:b="";break;case e.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case e.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>'; -break;case e.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case e.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b='<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=k&&(this.offlineStatus.innerHTML=b,k=a)});mxEvent.addListener(e,"checking",b);mxEvent.addListener(e,"noupdate",b);mxEvent.addListener(e,"downloading",b);mxEvent.addListener(e, -"progress",b);mxEvent.addListener(e,"cached",b);mxEvent.addListener(e,"updateready",b);mxEvent.addListener(e,"obsolete",b);mxEvent.addListener(e,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()|| -"1"==urlParams.embed&&this.editor.graph.isEnabled()};var y=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){y.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),d=this.getCurrentFile();this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=d&&d.isEditable()&&d.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b); -this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b);this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=d);this.actions.get("makeCopy").setEnabled(null!= -d&&!d.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==d||!d.isRestricted()));this.actions.get("publishLink").setEnabled(null!=d&&!d.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility); -this.actions.get("rename").setEnabled(null!=d&&d.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=d);this.menus.get("publish").setEnabled(null!=d&&!d.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var B=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= -null);B.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,d,e,k,l,m){var c=a.editor.graph;if("xml"==d)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==d)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(c.getSvg(e,k,l)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=c.getGraphBounds(),n=Math.floor(g.width*k/c.view.scale),p=Math.floor(g.height* -k/c.view.scale);if(f.length<=MAX_REQUEST_SIZE&&n*p<MAX_AREA)if(a.hideDialog(),"png"!=d&&"jpg"!=d&&"jpeg"!=d||!a.isExportToCanvas()){var q={globalVars:c.getExportVariables()};a.saveRequest(b,d,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+d+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(q))+(0<m?"&dpi="+m:"")+"&bg="+(null!=e?e:"none")+"&w="+n+"&h="+p+"&border="+l+"&xml="+encodeURIComponent(f))})}else"png"==d?a.exportImage(k, -null==e||"none"==e,!0,!1,!1,l,!0,!1,null,null,m):a.exportImage(k,!1,!0,!1,!1,l,!0,!1,"jpeg");else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var d=0;d<this.pages.length;d++){var e=a;this.currentPage!=this.pages[d]&&(e=this.createTemporaryGraph(a.getStylesheet()),e.model.setRoot(this.pages[d].root));b+=this.pages[d].getName()+" "+e.getIndexableText()+" "}else b= -a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxUtils.htmlEntities(a));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(d);var e=document.createElement("div");e.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<div style="text-align:center;padding:8px;"><img src="/images/spin.gif"></div>'; -var l={};try{var k=mxSettings.getCustomLibraries();for(a=0;a<k.length;a++){var m=k[a];if("R"==m.substring(0,1)){var p=JSON.parse(decodeURIComponent(m.substring(1)));l[p[0]]={id:p[0],title:p[1],downloadUrl:p[2]}}}}catch(F){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML="";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var d=a[c];l[d.id]&& -(b[d.id]=d);var f=this.addCheckbox(e,d.title,l[d.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(d,f)}},mxUtils.bind(this,function(a){e.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b,mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:mxResources.get("unknownError"));e.appendChild(b)}));c.appendChild(e);c=new CustomDialog(this,c,mxUtils.bind(this, -function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null==l[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(v){this.handleError(v,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c])); -for(c in l)b[c]||this.closeLibrary(new RemoteLibrary(this,null,l[c]));0==a&&this.spinner.stop()}),null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(c.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b], -"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,c=this.remoteInvokeCallbacks[b.callbackId];if(null==c)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?c.error&&c.error(a.error.errResp):c.callback&&c.callback.apply(this,a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,d,e,k){var c=!0,f=window.setTimeout(mxUtils.bind(this,function(){c=!1;k({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}), -this.timeout),g=mxUtils.bind(this,function(){window.clearTimeout(f);c&&e.apply(this,arguments)});d=d||{};d.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:g,error:k});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,msgMarkers:d});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,c){var d={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers}; -null!=c?d.error={errResp:c}:null!=b&&(d.resp=b);this.remoteWin.postMessage(JSON.stringify(d),"*")});try{var c=a.funtionName,d=this.remoteInvokableFns[c];if(null!=d&&"function"===typeof this[c]){var e=a.functionArgs;Array.isArray(e)||(e=[]);if(d.isAsync)e.push(function(){b(Array.prototype.slice.apply(arguments))}),e.push(function(a){b(null,a||"Unkown Error")}),this[c].apply(this,e);else{var l=this[c].apply(this,e);b([l])}}else b(null,"Invalid Call: "+c+" is not found.")}catch(A){b(null,"Invalid Call: An error occured, "+ -A.message)}};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(a,b){var c=this.getCurrentFile();null!=c?c.getComments(a,b):a([])};EditorUi.prototype.addComment= -function(a,b,d){var c=this.getCurrentFile();null!=c?c.addComment(a,b,d):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!=a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var c=this.getCurrentFile();return null!=c?c.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported= -function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var c=this.getCurrentFile();null!=c&&c.getRevisions?c.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var a=this.getCurrentFile();return null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck= -function(a){a.setRequestHeader("Content-Language","da, mi, en, de-DE")}})(); -var CommentsWindow=function(a,b,e,d,k,m){function p(){for(var a=t.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==t&&b++;F.style.display=0==b?"block":"none"}function u(a,b,c,d){function e(){b.removeChild(k);b.removeChild(m);g.style.display="block";f.style.display="block"}l={div:b,comment:a,saveCallback:c,deleteOnCancel:d};var f=b.querySelector(".geCommentTxt"),g=b.querySelector(".geCommentActionsList"),k=document.createElement("textarea");k.className= -"geCommentEditTxtArea";k.style.minHeight=f.offsetHeight+"px";k.value=a.content;b.insertBefore(k,f);var m=document.createElement("div");m.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){d?(b.parentNode.removeChild(b),p()):e();l=null});n.className="geCommentEditBtn";m.appendChild(n);var t=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=k.value;mxUtils.write(f,a.content);e();c(a);l=null});mxEvent.addListener(k,"keydown",mxUtils.bind(this, -function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(t.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));t.focus();t.className="geCommentEditBtn gePrimaryBtn";m.appendChild(t);b.insertBefore(m,f);g.style.display="none";f.style.display="none";k.focus()}function y(b,c){c.innerHTML="";var d=new Date(b.modifiedDate),e=a.timeSince(d);null==e&&(e=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo", -[e],"{1} ago"));c.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString())}function B(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function c(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function f(a){a.style.border="";a.removeChild(a.busyImg)}function g(b,d,e,k,m){function z(a,c,d){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className= -"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});D.appendChild(e);d&&(e.style.display="none")}function v(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=x;a(b);return{pdiv:d,replies:c}}function A(d,e,l,m,n){function p(){B(y);b.addReply(z,function(a){z.id=a;b.replies.push(z);f(y);l&&l()},function(b){t();c(y);a.handleError(b,null, -null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},m,n)}function t(){u(z,y,function(a){p()},!0)}var q=v().pdiv,z=a.newComment(d,a.getCurrentUser());z.pCommentId=b.id;null==b.replies&&(b.replies=[]);var y=g(z,b.replies,q,k+1);e?t():p()}if(m||!b.isResolved){F.style.display="none";var x=document.createElement("div");x.className="geCommentContainer";x.setAttribute("data-commentId",b.id);x.style.marginLeft=20*k+5+"px";b.isResolved&&"dark"!=uiTheme&&(x.style.backgroundColor="ghostWhite"); -var G=document.createElement("div");G.className="geCommentHeader";var E=document.createElement("img");E.className="geCommentUserImg";E.src=b.user.pictureUrl||Editor.userImage;G.appendChild(E);E=document.createElement("div");E.className="geCommentHeaderTxt";G.appendChild(E);var O=document.createElement("div");O.className="geCommentUsername";mxUtils.write(O,b.user.displayName||"");E.appendChild(O);O=document.createElement("div");O.className="geCommentDate";O.setAttribute("data-commentId",b.id);y(b, -O);E.appendChild(O);x.appendChild(G);G=document.createElement("div");G.className="geCommentTxt";mxUtils.write(G,b.content||"");x.appendChild(G);G=document.createElement("div");G.className="geCommentActions";var D=document.createElement("ul");D.className="geCommentActionsList";G.appendChild(D);q||0!=k&&!n||z(mxResources.get("reply"),function(){A("",!0)},b.isResolved);E=a.getCurrentUser();null==E||E.id!=b.user.id||q||(z(mxResources.get("edit"),function(){function d(){u(b,x,function(){B(x);b.editComment(b.content, -function(){f(x)},function(b){c(x);d();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}d()},b.isResolved),z(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){B(x);b.deleteComment(function(){for(var a=v(b).replies,c=0;c<a.length;c++)t.removeChild(a[c]);for(c=0;c<d.length;c++)if(d[c]==b){d.splice(c,1);break}F.style.display=0==t.getElementsByTagName("div").length?"block":"none"},function(b){c(x);a.handleError(b,null,null, -null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));q||0!=k||z(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=v(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var l=e[g].querySelectorAll(".geCommentAction"), -k=0;k<l.length;k++)l[k]!=c.parentNode&&(l[k].style.display=d);C||(e[g].style.display="none")}p()}b.isResolved?A(mxResources.get("reOpened")+": ",!0,c,!1,!0):A(mxResources.get("markedAsResolved"),!1,c,!0)});x.appendChild(G);null!=e?t.insertBefore(x,e.nextSibling):t.appendChild(x);for(e=0;null!=b.replies&&e<b.replies.length;e++)G=b.replies[e],G.isResolved=b.isResolved,g(G,b.replies,null,k+1,m);null!=l&&(l.comment.id==b.id?(m=b.content,b.content=l.comment.content,u(b,x,l.saveCallback,l.deleteOnCancel), -b.content=m):null==l.comment.id&&l.comment.pCommentId==b.id&&(t.appendChild(l.div),u(l.comment,l.div,l.saveCallback,l.deleteOnCancel)));return x}}var q=!a.canComment(),n=a.canReplyToReplies(),l=null,A=document.createElement("div");A.className="geCommentsWin";A.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var x=EditorUi.compactUi?"26px":"30px",t=document.createElement("div");t.className="geCommentsList";t.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke": -Dialog.backdropColor;t.style.bottom=parseInt(x)+7+"px";A.appendChild(t);var F=document.createElement("span");F.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(F,mxResources.get("noCommentsFound"));var z=document.createElement("div");z.className="geToolbarContainer geCommentsToolbar";z.style.height=x;z.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";z.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(z.style.filter= -"none");x=document.createElement("a");x.className="geButton";mxClient.IS_QUIRKS&&(x.style.filter="none");if(!q){var E=x.cloneNode();E.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';E.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(E,"click",function(b){function d(){u(e,l,function(b){B(l);a.addComment(b,function(a){b.id=a;v.push(b);f(l)},function(b){c(l);d();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})}, -!0)}var e=a.newComment("",a.getCurrentUser()),l=g(e,v,null,0);d();b.preventDefault();mxEvent.consume(b)});z.appendChild(E)}E=x.cloneNode();E.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';E.setAttribute("title",mxResources.get("showResolved"));var C=!1;"dark"==uiTheme&&(E.style.filter="invert(100%)");mxEvent.addListener(E,"click",function(a){this.className=(C=!C)?"geButton geCheckedBtn":"geButton";J();a.preventDefault();mxEvent.consume(a)});z.appendChild(E);a.commentsRefreshNeeded()&& -(E=x.cloneNode(),E.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',E.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(E.style.filter="invert(100%)"),mxEvent.addListener(E,"click",function(a){J();a.preventDefault();mxEvent.consume(a)}),z.appendChild(E));a.commentsSaveNeeded()&&(x=x.cloneNode(),x.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',x.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&& -(x.style.filter="invert(100%)"),mxEvent.addListener(x,"click",function(a){m();a.preventDefault();mxEvent.consume(a)}),z.appendChild(x));A.appendChild(z);var v=[],J=mxUtils.bind(this,function(){this.hasError=!1;if(null!=l)try{l.div=l.div.cloneNode(!0);var b=l.div.querySelector(".geCommentEditTxtArea"),c=l.div.querySelector(".geCommentEditBtns");l.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}catch(D){a.handleError(D)}t.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+ -IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";n=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});t.innerHTML="";t.appendChild(F);F.style.display="block";v=a;for(a=0;a<v.length;a++)b(v[a].replies), -g(v[a],v,null,0,C);null!=l&&null==l.comment.id&&null==l.comment.pCommentId&&(t.appendChild(l.div),u(l.comment,l.div,l.saveCallback,l.deleteOnCancel))},mxUtils.bind(this,function(a){t.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=!0})):t.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});J();this.refreshComments=J;z=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(y(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])} -if(this.window.isVisible()){for(var b=t.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var e=b[d];c[e.getAttribute("data-commentId")]=e}for(d=0;d<v.length;d++)a(v[d])}});setInterval(z,6E4);this.refreshCommentsTime=z;this.window=new mxWindow(mxResources.get("comments"),A,b,e,d,k,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW, -mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var L=mxUtils.bind(this,function(){var a=this.window.getX(), -b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",L);this.destroy=function(){mxEvent.removeListener(window,"resize",L);this.window.destroy()}},ConfirmDialog=function(a,b,e,d,k,m,p,u,y,B,c){var f=document.createElement("div");f.style.textAlign="center";c=null!=c?c:44;var g=document.createElement("div");g.style.padding="6px";g.style.overflow="auto";g.style.maxHeight=c+"px";g.style.lineHeight="1.2em";mxClient.IS_QUIRKS&&(g.style.height="60px");mxUtils.write(g,b); -f.appendChild(g);null!=B&&(g=document.createElement("div"),g.style.padding="6px 0 6px 0",b=document.createElement("img"),b.setAttribute("src",B),g.appendChild(b),f.appendChild(g));B=document.createElement("div");B.style.textAlign="center";B.style.whiteSpace="nowrap";var q=document.createElement("input");q.setAttribute("type","checkbox");m=mxUtils.button(m||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(q.checked)});m.className="geBtn";null!=u&&(m.innerHTML=u+"<br>"+m.innerHTML,m.style.paddingBottom= -"8px",m.style.paddingTop="8px",m.style.height="auto",m.style.width="40%");a.editor.cancelFirst&&B.appendChild(m);var n=mxUtils.button(k||mxResources.get("ok"),function(){a.hideDialog();null!=e&&e(q.checked)});B.appendChild(n);null!=p?(n.innerHTML=p+"<br>"+n.innerHTML+"<br>",n.style.paddingBottom="8px",n.style.paddingTop="8px",n.style.height="auto",n.className="geBtn",n.style.width="40%"):n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||B.appendChild(m);f.appendChild(B);y?(B.style.marginTop= -"10px",g=document.createElement("p"),g.style.marginTop="20px",g.appendChild(q),k=document.createElement("span"),mxUtils.write(k," "+mxResources.get("rememberThisSetting")),g.appendChild(k),f.appendChild(g),mxEvent.addListener(k,"click",function(a){q.checked=!q.checked;mxEvent.consume(a)})):B.style.marginTop="12px";this.init=function(){n.focus()};this.container=f};function DiagramPage(a,b){this.node=a;null!=b?this.node.setAttribute("id",b):null==this.getId()&&this.node.setAttribute("id",Editor.guid())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")}; +"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,n){a=new ImageDialog(this,a,b,c,e,n);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor= +!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,n){a=new LibraryDialog(this,a,b,c,e,n);this.showDialog(a.container,640,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};var b=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var d= +b.apply(this,arguments);this.editor.graph.addListener("viewStateChanged",mxUtils.bind(this,function(a){this.editor.graph.isSelectionEmpty()&&d.refresh()}));return d};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer geSidebarFooter");a.style.position="absolute";a.style.overflow="hidden";var b=document.createElement("a");b.className="geTitle";b.style.color="#DF6C0C";b.style.fontWeight="bold";b.style.height="100%";b.style.paddingTop="9px";b.innerHTML= +'<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c,e,n,g){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){}, +f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){var k=mxUtils.htmlEntities(mxResources.get("unknownError")),l=mxResources.get("ok"),q=null;b=null!=b?b:mxResources.get("error");if(null!=f){null!=f.retry&&(l=mxResources.get("cancel"),q=function(){d();f.retry()});if(404==f.code||404==f.status||403==f.code){var k=403==f.code?null!=f.message?mxUtils.htmlEntities(f.message):mxUtils.htmlEntities(mxResources.get("accessDenied")):null!=n?n:mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied")+ +(null!=this.drive&&null!=this.drive.user?" ("+this.drive.user.displayName+", "+this.drive.user.email+")":"")),m=null!=g?g:window.location.hash;if(null!=m&&("#G"==m.substring(0,2)||"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"==m.substring(0,45))&&(null!=a&&null!=a.error&&(null!=a.error.errors&&0<a.error.errors.length&&"fileAccess"==a.error.errors[0].reason||null!=a.error.data&&0<a.error.data.length&&"fileAccess"==a.error.data[0].reason)||404==f.code||404==f.status)){m="#U"==m.substring(0,2)?m.substring(45, +m.lastIndexOf("%26ex")):m.substring(2);this.showError(b,k,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){this.editor.graph.openLink("https://drive.google.com/open?id="+m);this.handleError(a,b,c,e,n)}),q,mxResources.get("changeUser"),mxUtils.bind(this,function(){function a(){f.innerHTML="";for(var a=0;a<d.length;a++){var b=document.createElement("option");mxUtils.write(b,d[a].displayName);b.value=a;f.appendChild(b);b=document.createElement("option");b.innerHTML=" "; +mxUtils.write(b,"<"+d[a].email+">");b.setAttribute("disabled","disabled");f.appendChild(b)}b=document.createElement("option");mxUtils.write(b,mxResources.get("addAccount"));b.value=d.length;f.appendChild(b)}var d=this.drive.getUsersList(),b=document.createElement("div"),c=document.createElement("span");c.style.marginTop="6px";mxUtils.write(c,mxResources.get("changeUser")+": ");b.appendChild(c);var f=document.createElement("select");f.style.width="200px";a();mxEvent.addListener(f,"change",mxUtils.bind(this, +function(){var b=f.value,c=d.length!=b;c&&this.drive.setUser(d[b]);this.drive.authorize(c,mxUtils.bind(this,function(){c||(d=this.drive.getUsersList(),a())}),mxUtils.bind(this,function(a){this.handleError(a)}),!0)}));b.appendChild(f);b=new CustomDialog(this,b,mxUtils.bind(this,function(){this.loadFile(window.location.hash.substr(1),!0)}));this.showDialog(b.container,300,75,!0,!0)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.hideDialog();null!=c&&c()}),480,150);return}}null!=f.message? +k=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error?k=mxUtils.htmlEntities(f.response.error):"undefined"!==typeof window.App&&(f.code==App.ERROR_TIMEOUT?k=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY&&(k=mxUtils.htmlEntities(mxResources.get("busy"))))}var p=g=null;null!=f&&null!=f.helpLink&&(g=mxResources.get("help"),p=mxUtils.bind(this,function(){return this.editor.graph.openLink(f.helpLink)}));this.showError(b,k,l,c,q,null,null,g,p,null,null,null, +e?c:null)}else null!=c&&c()};EditorUi.prototype.alert=function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,n,g){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},f=Math.min(200,28*Math.ceil(a.length/50));a=new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,n,null,null,null,null,f);this.showDialog(a.container,340,46+ +f,!0,g);a.init()};EditorUi.prototype.setCurrentFile=function(a){null!=a&&(a.opened=new Date);this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||(!mxClient.IS_SF||!this.editor.graph.mathEnabled)&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a, +b,c,e){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"tEXt","mxfile",encodeURIComponent(b)));0<e&&(d=this.writeGraphModelToPng(d,"pHYs","dpi",e));return d};EditorUi.prototype.saveCanvas=function(a,b,c,e,n){var d="jpeg"==c?"jpg":c;e=this.getBaseFilename(e)+"."+d;a=this.createImageDataUri(a,b,c,n);this.saveData(e,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave= +function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var d=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));d.textarea.style.width="600px";d.textarea.style.height="380px";this.showDialog(d.container,620,460,!0,!0,null,null,null, +null,!0);d.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,n){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else{var d=document.createElement("a"),f=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&& +"undefined"!==typeof d.download;if(mxClient.IS_GC)var k=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(k?parseInt(k[2],10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d);try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},0),d.click(),d.parentNode.removeChild(d)}catch(t){}}else this.createEchoRequest(a,b,c,e,n).simulate(document,"_blank")}}; +EditorUi.prototype.createEchoRequest=function(a,b,c,e,n,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=n?"&format="+n:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),l=0;l<f;++l){for(var m=1024*l,t=Math.min(m+1024,c),p=Array(t-m),y=0;m<t;++y,++m)p[y]=d[m].charCodeAt(0);e[l]=new Uint8Array(p)}return new Blob(e, +{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,n,g,l){g=null!=g?g:!1;l=null!=l?l:"vsdx"!=n&&(!mxClient.IS_IOS||!navigator.standalone);n=this.getServiceCount(g);isLocalStorage&&n++;var d=4>=n?2:6<n?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write("<pre>"+mxUtils.htmlEntities(a,!1)+"</pre>"), +f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(C){this.handleError(C)}}))}catch(D){this.handleError(D)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,l,null,1<n,d,a,c,e);g=this.isServices(n)?n>d?390:270:160;this.showDialog(b.container,400,g,!0,!0);b.init()}; +EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||mxClient.IS_FF||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d||null==d.document?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img style="max-width:100%;" src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+ +encodeURIComponent(a))),null!=d&&null!=d.document||mxUtils.popup(a,!0)};var e=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this); +else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff"; +mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){f.stop(); +this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.style.backgroundColor="white";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(d.substring(d.indexOf(",")+ +1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}e.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,n){this.isLocalFileSave()?this.saveLocalFile(c,a,e,n,b):this.saveRequest(a,b,mxUtils.bind(this,function(a, +d){return this.createEchoRequest(c,a,e,n,b,d)}),c,n,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,n,g,l){l=null!=l?l:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);isLocalStorage&&d++;var f=4>=d?2:6<d?4:3;a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document,"_blank"): +this.pickFolder(d,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,g,!0,d,c)}catch(v){this.handleError(v)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,g,!0,d,c)}catch(v){this.handleError(v)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); +this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,l,null,1<d,f,e,g,n);d=this.isServices(d)?4<d?390:270:160;this.showDialog(a.container,380,d,!0,!0);a.init()};EditorUi.prototype.isServices=function(a){return 1!=a};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,n,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg= +function(a,b,c,e,n,g,l,m,t,p){if(this.spinner.spin(document.body,mxResources.get("export")))try{var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;var f=b?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==b&&(f="#ffffff");var k=this.editor.graph.getSvg(f,a,l,m,null,c,null,null,"blank"==p?"_blank":"self"==p?"_top":null,null,!0);e&&this.editor.graph.addSvgShadow(k);var q=this.getBaseFilename()+".svg",A=mxUtils.bind(this,function(a){this.spinner.stop();n&&a.setAttribute("content", +this.getFileData(!0,null,null,null,c,t,null,null,null,!1));var d='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||d.length<=MAX_REQUEST_SIZE?this.saveData(q,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.editor.addFontCss(k);this.editor.graph.mathEnabled&& +this.editor.addMathCss(k);g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,A,this.thumbImageCache)):A(k)}catch(L){this.handleError(L)}};EditorUi.prototype.addRadiobox=function(a,b,c,e,n,g,l){return this.addCheckbox(a,c,e,n,g,l,!0,b)};EditorUi.prototype.addCheckbox=function(a,b,c,e,n,g,l,m){g=null!=g?g:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type",l?"radio":"checkbox");l="geCheckbox-"+Editor.guid();d.id= +l;null!=m&&d.setAttribute("name",m);c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled","disabled");g&&(a.appendChild(d),c=document.createElement("label"),mxUtils.write(c,b),c.setAttribute("for",l),a.appendChild(c),n||mxUtils.br(a));return d};EditorUi.prototype.addEditButton=function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!= +App.MODE_BROWSER&&(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this, +function(){if("custom"==e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank": +f:null},getEditInput:function(){return d},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){l.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select"); +c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&& +(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",l=null,l=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();l.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";l.style.marginLeft="4px";l.style.height="22px";l.style.width= +"22px";l.style.position="relative";l.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";l.className="geColorBtn";a.appendChild(l);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,n,g,l,m){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)), +null!=n&&0<n.length&&f.push("edit="+encodeURIComponent(n)),g&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));c&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&f.push("page-id="+this.currentPage.getId());a=!0;null!=l?c="#U"+encodeURIComponent(l):(d=this.getCurrentFile(),m||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))): +(c="#"+d.getHash(),a=!1));a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,n,g,l,m,t,p,y){this.getBasenames();var d={};""!=n&&n!=mxConstants.NONE&&(d.highlight=n);"auto"!==e&&(d.target=e);t||(d.lightbox= +!1);d.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];l&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);m&&c.push("layers");0<c.length&&(t&&c.push("lightbox"),d.toolbar=c.join(" "));null!=p&&0<p.length&&(d.edit=p);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!l);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;": +"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";y(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div"); +d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name", +"type-embedhtmldialog");f=l.cloneNode(!0);f.setAttribute("value","copy");k.appendChild(f);var t=document.createElement("span");mxUtils.write(t,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(t);mxUtils.br(k);k.appendChild(l);t=document.createElement("span");mxUtils.write(t,mxResources.get("publicDiagramUrl"));k.appendChild(t);var q=this.getCurrentFile();null==c&&null!=q&&q.constructor==window.DriveFile&&(t=document.createElement("a"),t.style.paddingLeft="12px",t.style.color="gray",t.setAttribute("href", +"javascript:void(0);"),mxUtils.write(t,mxResources.get("share")),k.appendChild(t),mxEvent.addListener(t,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(q.getId())})));f.setAttribute("checked","checked");null==c&&l.setAttribute("disabled","disabled");d.appendChild(k);var m=this.addLinkSection(d),p=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,":");var C=document.createElement("input");C.setAttribute("type","text");C.style.marginRight="16px"; +C.style.width="60px";C.style.marginLeft="4px";C.style.marginRight="12px";C.value="100%";d.appendChild(C);var v=this.addCheckbox(d,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,u=u=this.addCheckbox(d,mxResources.get("allPages"),k,!k),z=this.addCheckbox(d,mxResources.get("layers"),!0),I=this.addCheckbox(d,mxResources.get("lightbox"),!0),B=this.addEditButton(d,I),F=B.getEditInput();F.style.marginBottom="16px";mxEvent.addListener(I,"change",function(){I.checked?F.removeAttribute("disabled"): +F.setAttribute("disabled","disabled");F.checked&&I.checked?B.getEditSelect().removeAttribute("disabled"):B.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(l.checked?c:null,p.checked,C.value,m.getTarget(),m.getColor(),v.checked,u.checked,z.checked,I.checked,B.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,n,g){var d=document.createElement("div");d.style.whiteSpace= +"nowrap";var f=document.createElement("h3");mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var k=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=k&&k.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",l=document.createElement("div");l.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; +var q=document.createElement("div");q.style.whiteSpace="normal";mxUtils.write(q,mxResources.get("linkAccountRequired"));l.appendChild(q);q=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));q.style.marginTop="12px";q.className="geBtn";l.appendChild(q);d.appendChild(l);q=document.createElement("a");q.style.paddingLeft="12px";q.style.color="gray";q.style.fontSize="11px";q.setAttribute("href","javascript:void(0);");mxUtils.write(q,mxResources.get("check")); +l.appendChild(q);mxEvent.addListener(q,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var m=null,p=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),m=document.createElement("input"), +m.setAttribute("type","text"),m.style.marginRight="16px",m.style.width="50px",m.style.marginLeft="6px",m.style.marginRight="16px",m.style.marginBottom="10px",m.value="100%",d.appendChild(m),mxUtils.write(d,mxResources.get("height")+":"),p=document.createElement("input"),p.setAttribute("type","text"),p.style.width="50px",p.style.marginLeft="6px",p.style.marginBottom="10px",p.value=e+"px",d.appendChild(p),mxUtils.br(d);var v=this.addLinkSection(d,g);c=null!=this.pages&&1<this.pages.length;var u=null; +if(null==k||k.constructor!=window.DriveFile||b)u=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var z=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,z),B=I.getEditInput(),F=this.addCheckbox(d,mxResources.get("layers"),!0);F.style.marginLeft=B.style.marginLeft;F.style.marginBottom="16px";F.style.marginTop="8px";mxEvent.addListener(z,"change",function(){z.checked?(F.removeAttribute("disabled"),B.removeAttribute("disabled")):(F.setAttribute("disabled","disabled"),B.setAttribute("disabled", +"disabled"));B.checked&&z.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){n(v.getTarget(),v.getColor(),null==u?!0:u.checked,z.checked,I.getLink(),F.checked,null!=m?m.value:null,null!=p?p.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=m?(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select(): +document.execCommand("selectAll",!1,null)):v.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e,n){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(n?"10":"4")+"px";d.appendChild(f);if(n){mxUtils.write(d,mxResources.get("zoom")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.marginRight= +"16px";k.style.width="60px";k.style.marginLeft="4px";k.style.marginRight="12px";k.value=this.lastExportZoom||"100%";d.appendChild(k);mxUtils.write(d,mxResources.get("borderWidth")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";d.appendChild(l);mxUtils.br(d)}var q=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d, +mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,p=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=p&&(p.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){var a=parseInt(k.value)/100||1,d=parseInt(l.value)||0;c(!q.checked,null!=m?m.checked:!1,null!=p?p.checked:!1,a,d)}),null,a,b);this.showDialog(a.container,300,(n?25:0)+(e?125:210),!0,!0)};EditorUi.prototype.showExportDialog= +function(a,b,c,e,n,g,l,m){l=null!=l?l:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph,k="jpeg"==m?196:300,q=document.createElement("h3");mxUtils.write(q,a);q.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(q);mxUtils.write(d,mxResources.get("zoom")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight= +"12px";p.value=this.lastExportZoom||"100%";d.appendChild(p);mxUtils.write(d,mxResources.get("borderWidth")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.marginRight="16px";x.style.width="60px";x.style.marginLeft="4px";x.value=this.lastExportBorder||"0";d.appendChild(x);mxUtils.br(d);var A=this.addCheckbox(d,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=m),u=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),z=document.createElement("input"); +z.style.marginTop="16px";z.style.marginRight="8px";z.style.marginLeft="24px";z.setAttribute("disabled","disabled");z.setAttribute("type","checkbox");g&&(d.appendChild(z),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),k+=26,mxEvent.addListener(u,"change",function(){u.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(z.setAttribute("checked","checked"),z.defaultChecked=!0);var B=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible), +F=document.createElement("input");F.style.marginTop="16px";F.style.marginRight="8px";F.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||F.setAttribute("disabled","disabled");b&&(d.appendChild(F),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),k+=26);var G=null;if("png"==m||"jpeg"==m)G=this.addCheckbox(d,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),k+=26;var O=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),l,null,null, +"jpeg"!=m),R=null!=this.pages&&1<this.pages.length,ba=this.addCheckbox(d,R?mxResources.get("allPages"):"",R,!R,null,"jpeg"!=m);ba.style.marginLeft="24px";ba.style.marginBottom="16px";R||(ba.style.display="none");mxEvent.addListener(O,"change",function(){O.checked&&R?ba.removeAttribute("disabled"):ba.setAttribute("disabled","disabled")});l&&R||ba.setAttribute("disabled","disabled");var W=document.createElement("select");W.style.maxWidth="260px";W.style.marginLeft="8px";W.style.marginRight="10px";W.className= +"geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));W.appendChild(a);"svg"==m&&(mxUtils.write(d,mxResources.get("links")+":"),d.appendChild(W),mxUtils.br(d),mxUtils.br(d), +k+=26);c=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=x.value;this.lastExportZoom=p.value;n(p.value,A.checked,!u.checked,B.checked,O.checked,F.checked,x.value,z.checked,!ba.checked,W.value,null!=G?G.checked:null)}),null,c,e);this.showDialog(c.container,340,k,!0,!0,null,null,null,null,!0);p.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a, +b,c,e,n){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var k=document.createElement("h3");mxUtils.write(k,b);k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(k)}var l=this.addCheckbox(d,mxResources.get("fit"),!0),q=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,!e),m=this.addCheckbox(d,c),p=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,p),v=C.getEditInput(), +u=1<f.model.getChildCount(f.model.getRoot()),z=this.addCheckbox(d,mxResources.get("layers"),u,!u);z.style.marginLeft=v.style.marginLeft;z.style.marginBottom="12px";z.style.marginTop="8px";mxEvent.addListener(p,"change",function(){p.checked?(u&&z.removeAttribute("disabled"),v.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&p.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")}); +b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(l.checked,q.checked,m.checked,p.checked,C.getLink(),z.checked)}),null,mxResources.get("embed"),n);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,n,g,l,m){function d(d){var b=" ",k="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ +EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",k+="cursor:pointer;");a&&(k+="max-width:100%;");var q="";c&&(q=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');l('<img src="'+d+'"'+q+(""!=k?' style="'+k+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null, +mxUtils.bind(this,function(a){m({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var k="";c&&(k="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var q=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+k+"&xml="+encodeURIComponent(b));q.send(mxUtils.bind(this,function(){200<=q.getStatus()&&299>=q.getStatus()?d("data:image/png;base64,"+q.getText()):m({message:mxResources.get("unknownError")})}))}else m({message:mxResources.get("drawingTooLarge")})}; +EditorUi.prototype.createEmbedSvg=function(a,b,c,e,n,g,l){var d=this.editor.graph.getSvg(null,null,null,null,null,null,null,null,null,null,!c),f=d.getElementsByTagName("a");if(null!=f)for(var k=0;k<f.length;k++){var q=f[k].getAttribute("href");null!=q&&"#"==q.charAt(0)&&"_blank"==f[k].getAttribute("target")&&f[k].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var m=" ",p="";e&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ +EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){l('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=p?' style="'+p+'"':"")+m+"/>")}))}else p="",e&&(d.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('"+ +EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),p+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","-0.5 -0.5 "+a+" "+b),p+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=p&&d.setAttribute("style",p),this.editor.addFontCss(d),this.editor.graph.mathEnabled&&this.editor.addMathCss(d),l(mxUtils.getXml(d))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date- +a)/1E3);var d=Math.floor(a/31536E3);if(1<d)return d+" "+mxResources.get("years");d=Math.floor(a/2592E3);if(1<d)return d+" "+mxResources.get("months");d=Math.floor(a/86400);if(1<d)return d+" "+mxResources.get("days");d=Math.floor(a/3600);if(1<d)return d+" "+mxResources.get("hours");d=Math.floor(a/60);return 1<d?d+" "+mxResources.get("minutes"):1==d?d+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var d=null;if("diagram"==a.nodeName)d=a;else if("mxfile"== +a.nodeName){var c=a.getElementsByTagName("diagram");if(0<c.length){var d=c[0],f=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?d.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:f.apply(this,arguments)}}}null!=d&&(a=Editor.parseDiagramNode(d))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(g){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){try{var d=this.editor.graph,f=null;if(null!= +c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),f=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),e=d.getGlobalVariable,k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container); +d.model.setRoot(k.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"tEXt","mxfile",encodeURIComponent(f));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(E){null!=b&&b(E)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)}catch(x){null!= +b&&b(x)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,e,n,g,l){l=b.background;l==mxConstants.NONE&&(l=null);g=b.getSvg(l,null,null,null,null,g);b.shadowVisible&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=n)this.convertImages(g,mxUtils.bind(this,function(a){n((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e? +"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.exportImage=function(a,b,c,e,n,g,l,m,t,p,y){t=null!=t?t:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a, +n?this.getFileData(!0,null,null,null,c,m):null,t,null==this.pages||0==this.pages.length,y)}catch(v){"Invalid image"==v.message?this.downloadFile(t):this.handleError(v)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,g,l,p)}catch(C){this.spinner.stop(),this.handleError(C)}}};EditorUi.prototype.embedCssFonts=function(a,b){function d(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")} +var c=a.split("url("),f=0;null==this.cachedFonts&&(this.cachedFonts={});var e=mxUtils.bind(this,function(){if(0==f){for(var a=[c[0]],e=1;e<c.length;e++){var k=c[e].indexOf(")");a.push('url("');a.push(this.cachedFonts[d(c[e].substring(0,k))]);a.push('"'+c[e].substring(k))}b(a.join(""))}});if(0<c.length){for(var l=1;l<c.length;l++){var m=c[l].indexOf(")"),t=null,p=c[l].indexOf("format(",m);0<p&&(t=d(c[l].substring(p+7,c[l].indexOf(")",p))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]= +a;f++;var d="application/x-font-ttf";if("svg"==t||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==t||"embedded-opentype"==t||/(\.otf)($|\?)/i.test(a))d="application/x-font-opentype";else if("woff"==t||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==t||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==t||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==t||/(\.sfnt)($|\?)/i.test(a))d="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&& +!this.editor.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(d){this.cachedFonts[a]=d;f--;e()}),mxUtils.bind(this,function(a){f--;e()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(c[l].substring(0,m)),t)}e()}else b(a)};EditorUi.prototype.loadFonts=function(a){null!=this.editor.fontCss&&null==this.editor.resolvedFontCss?this.embedCssFonts(this.editor.fontCss,mxUtils.bind(this,function(d){this.editor.resolvedFontCss=d;a()})):a()};EditorUi.prototype.embedExtFonts= +function(a){var d=this.editor.graph.extFonts;if(null!=d&&0<d.length){var b="",c=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var e=mxUtils.bind(this,function(){0==c&&this.embedCssFonts(b,a)}),g=0;g<d.length;g++){var l=d[g].name,m=d[g].url;0==m.indexOf(Editor.GOOGLE_FONTS)?null==this.cachedGoogleFonts[m]?(c++,this.loadUrl(m,mxUtils.bind(this,function(a){this.cachedGoogleFonts[m]=a;b+=a;c--;e()}),mxUtils.bind(this,function(a){c--;b+="@import url("+m+");";e()}))):b+=this.cachedGoogleFonts[m]: +b+='@font-face {font-family: "'+l+'";src: url("'+m+'");}'}e()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,l,g,m,p,t,u,y,z,C,v,B){try{g=null!=g?g:!0;m=null!=m?m:!0;z=null!=z?z:this.editor.graph;C=null!=C?C:0;var d=t?null:z.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==t&&(d="#ffffff");this.convertImages(z.getSvg(null,null,null,v,null,m,null,null,null,u),mxUtils.bind(this,function(c){try{var f=new Image;f.onload=mxUtils.bind(this,function(){try{var e=function(){mxClient.IS_SF? +window.setTimeout(function(){t.drawImage(f,C/p,C/p);a(k)},0):(t.drawImage(f,C/p,C/p),a(k))},k=document.createElement("canvas"),n=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));p=null!=p?p:1;null!=b&&(p=g?Math.min(1,Math.min(3*b/(4*m),b/n)):b/n);n=Math.ceil(p*n)+2*C;m=Math.ceil(p*m)+2*C;k.setAttribute("width",n);k.setAttribute("height",m);var t=k.getContext("2d");null!=d&&(t.beginPath(),t.rect(0,0,n,m),t.fillStyle=d,t.fill());t.scale(p,p);if(B){var q=z.view,y=q.scale;q.scale= +1;var A=btoa(unescape(encodeURIComponent(q.createSvgGrid(q.gridColor))));q.scale=y;var A="data:image/svg+xml;base64,"+A,x=z.gridSize*q.gridSteps*p,v=z.getGraphBounds(),u=q.translate.x*y,G=q.translate.y*y,E=u+(v.x-u)/y,D=G+(v.y-G)/y,I=new Image;I.onload=function(){try{for(var a=-Math.round(x-mxUtils.mod((u-E)*p,x)),d=-Math.round(x-mxUtils.mod((G-D)*p,x));a<n;a+=x)for(var b=d;b<m;b+=x)t.drawImage(I,a/p,b/p);e()}catch(ga){null!=l&&l(ga)}};I.onerror=function(a){null!=l&&l(a)};I.src=A}else e()}catch(Y){null!= +l&&l(Y)}});f.onerror=function(a){null!=l&&l(a)};u&&this.editor.graph.addSvgShadow(c);var e=function(a){var d=document.createElement("style");d.setAttribute("type","text/css");d.innerHTML=a;a=c.getElementsByTagName("defs");0==a.length?(a=null!=svgDoc.createElementNS?svgDoc.createElementNS(mxConstants.NS_SVG,"defs"):svgDoc.createElement("defs"),null!=c.firstChild?c.insertBefore(a,c.firstChild):c.appendChild(a)):a=a[0];a.appendChild(d)},k=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&& +e(this.editor.resolvedFontCss),this.editor.graph.mathEnabled&&this.editor.addMathCss(c),f.src=this.createSvgDataUri(mxUtils.getXml(c))}catch(O){null!=l&&l(O)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&e(a),this.loadFonts(k)}catch(R){null!=l&&l(R)}}))}catch(O){null!=l&&l(O)}}),c,y)}catch(I){null!=l&&l(I)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0, +7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"==d.substring(0,19)||mxClient.IS_CHROMEAPP||(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,e){null==e&&(e=this.createImageUrlConverter());var d=0,f=c||{};c=mxUtils.bind(this,function(c,k){for(var g=a.getElementsByTagName(c), +l=0;l<g.length;l++)mxUtils.bind(this,function(c){try{if(null!=c){var g=e.convert(c.getAttribute(k));if(null!=g&&"data:"!=g.substring(0,5)){var l=f[g];null==l?(d++,this.convertImageToDataUri(g,function(e){null!=e&&(f[g]=e,c.setAttribute(k,e));d--;0==d&&b(a)})):c.setAttribute(k,l)}else null!=g&&c.setAttribute(k,g)}}catch(v){}})(g[l])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,e,l,g,m){try{var d=!m&&(e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)|| +/(\.gif)($|\?)/i.test(a));l=null!=l?l:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var f=a.getText();if(d){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var f=Array(a.length),e=0;e<a.length;e++)f[e]=String.fromCharCode(a[e]);f=f.join("")}g=null!=g?g:"data:image/png;base64,";f=g+this.base64Encode(f)}b(f)}}else null!= +c&&c({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()})},d,this.timeout,function(){l&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(E){null!=c&&c(E)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var d=!0,c=window.setTimeout(mxUtils.bind(this,function(){d=!1;b(this.svgBrokenImage.src)}),this.timeout); +if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(c);d&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(c);d&&b(this.svgBrokenImage.src)});else{var f=new Image,e=this;this.crossOriginImages&&(f.crossOrigin="anonymous");f.onload=function(){window.clearTimeout(c);if(d)try{var a=document.createElement("canvas"),k=a.getContext("2d");a.height=f.height;a.width=f.width;k.drawImage(f,0,0);b(a.toDataURL())}catch(t){b(e.svgBrokenImage.src)}};f.onerror= +function(){window.clearTimeout(c);d&&b(e.svgBrokenImage.src)};f.src=a}}catch(A){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,c,e,l){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){f.model.beginUpdate();try{var k=mxUtils.parseXml(a),n=this.editor.extractGraphModel(k.documentElement,null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var m=n.getElementsByTagName("diagram");if(1==m.length)n=Editor.parseDiagramNode(m[0]); +else if(1<m.length){a={};var k=[],q=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(n=Editor.parseDiagramNode(m[0]),e=!1,q=1);for(;q<m.length;q++){var p=m[q].getAttribute("id");m[q].removeAttribute("id");var u=this.updatePageRoot(new DiagramPage(m[q]));a[p]=m[q].getAttribute("id");var v=this.pages.length;null==u.getName()&&u.setName(mxResources.get("pageWithNumber",[v+1]));f.model.execute(new ChangePage(this,u,u,v,!0));k.push(u)}this.updatePageLinks(a,k)}}null!=n&&"mxGraphModel"=== +n.nodeName&&(d=f.importGraphModel(n,b,c,e))}finally{f.model.endUpdate()}}}catch(J){if(l)throw J;this.handleError(J)}return d};EditorUi.prototype.updatePageLinks=function(a,b){for(var d=0;d<b.length;d++)this.updatePageLinksForCell(a,b[d].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var d=document.createElement("div"),c=this.editor.graph,f=c.getLinkForCell(b);null!=f&&c.setLinkForCell(b,this.updatePageLink(a,f));if(c.isHtmlLabel(b)){d.innerHTML=c.getLabel(b);for(var e=d.getElementsByTagName("a"), +l=!1,m=0;m<e.length;m++)f=e[m].getAttribute("href"),null!=f&&(e[m].setAttribute("href",this.updatePageLink(a,f)),l=!0);l&&c.labelChanged(b,d.innerHTML)}for(m=0;m<c.model.getChildCount(b);m++)this.updatePageLinksForCell(a,c.model.getChildAt(b,m))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var d=a[b.substring(b.indexOf(",")+1)];b=null!=d?"data:page/id,"+d:null}else if("data:action/json,"==b.substring(0,17))try{var c=JSON.parse(b.substring(17));if(null!=c.actions){for(var f= +0;f<c.actions.length;f++){var e=c.actions[f];null!=e.open&&"data:page/id,"==e.open.substring(0,13)&&(d=a[e.open.substring(e.open.indexOf(",")+1)],null!=d?e.open="data:page/id,"+d:delete e.open)}b="data:action/json,"+JSON.stringify(c)}}catch(A){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,c,e){e=null!=e?e:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)}); +var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var d=this.isRemoteVisioFormat(e);try{var f="UNKNOWN-VISIO",k=e.lastIndexOf(".");0<=k&&k<e.length&&(f=e.substring(k+1).toUpperCase());EditorUi.logEvent({category:f+"-MS-IMPORT-FILE",action:"filename_"+e,label:d?"remote":"local"})}catch(E){}if(d)if(null!=VSD_CONVERT_URL){d=new FormData;d.append("file1",a,e);var l=new XMLHttpRequest;l.open("POST",VSD_CONVERT_URL);l.responseType="blob";this.addRemoteServiceSecurityCheck(l); +l.onreadystatechange=mxUtils.bind(this,function(){if(4==l.readyState)if(200<=l.status&&299>=l.status)try{var a=l.response;if("text/xml"==a.type){var d=new FileReader;d.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(C){c({message:mxResources.get("errorLoadingFile")})}});d.readAsText(a)}else this.doImportVisio(a,b,c,e)}catch(D){c(D)}else c({})});l.send(d)}else c({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")}); +else try{this.doImportVisio(a,b,c,e)}catch(E){c(E)}}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.importGraphML=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.doImportGraphML)try{this.doImportGraphML(a, +b,c)}catch(n){c(n)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportGraphML||this.loadingExtensions||this.isOffline(!0)?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()||this.handleError({message:mxResources.get("unknownError")})}catch(f){this.handleError(f)}else this.spinner.stop(), +this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,c){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(n){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(n){null!= +window.console&&console.error(n),c(n)}}else c({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.generatePlantUmlImage=function(a,b,c,e){function d(a,d,b){c1=a>>2;c2=(a&3)<<4|d>>4;c3=(d&15)<<2|b>>6;c4=b&63;r="";r+=f(c1&63);r+=f(c2&63);r+=f(c3& +63);return r+=f(c4&63)}function f(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"}var k=new XMLHttpRequest;k.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+d(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+d(a.charCodeAt(i),0,0):r+d(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+ +2));return r}(pako.deflateRaw(a,{to:"string"})),!0);"txt"!=b&&(k.responseType="blob");k.onload=function(a){if(200<=this.status&&300>this.status)if("txt"==b)c(this.response);else{var d=new FileReader;d.readAsDataURL(this.response);d.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,f=b.height;if(0==a&&0==f){var k=d.result,g=k.indexOf(","),l=decodeURIComponent(escape(atob(k.substring(g+1)))),n=mxUtils.parseXml(l).getElementsByTagName("svg");0<n.length&&(a=parseFloat(n[0].getAttribute("width")), +f=parseFloat(n[0].getAttribute("height")))}c(d.result,a,f)}catch(N){e(N)}};b.src=d.result};d.onerror=function(a){e(a)}}else e(a)};k.onerror=function(a){e(a)};k.send()};EditorUi.prototype.insertAsPreText=function(a,b,c){var d=this.editor.graph,f=null;d.getModel().beginUpdate();try{f=d.insertVertex(null,null,"<pre>"+a+"</pre>",b,c,1,1,"text;html=1;align=left;verticalAlign=top;"),d.updateCellSize(f,!0)}finally{d.getModel().endUpdate()}return f};EditorUi.prototype.insertTextAt=function(a,b,c,e,l,g,m){g= +null!=g?g:!0;m=null!=m?m:!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,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(l||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var d=this.editor.graph; +if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),k=this.importXml(f,b,c,g,!0);if(0<k.length)return k}if("data:image/svg+xml;"==a.substring(0,19))try{if(f=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+1)),k=this.importXml(f,b,c,g,!0),0<k.length)return k}catch(y){}this.loadImage(a,mxUtils.bind(this,function(f){if("data:"== +a.substring(0,5))this.resizeImage(f,a,mxUtils.bind(this,function(a,f,e){d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),f,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),m,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/f.width,this.maxImageSize/f.height)),k=Math.round(f.width*e);f=Math.round(f.height*e);d.setSelectionCell(d.insertVertex(null,null,"", +d.snap(b),d.snap(c),k,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;d.getModel().beginUpdate();try{f=d.insertVertex(d.getDefaultParent(),null,a,d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.updateCellSize(f),d.fireEvent(new mxEventObject("textInserted","cells",[f]))}finally{d.getModel().endUpdate()}d.setSelectionCell(f)}))}else{a=Graph.zapGremlins(mxUtils.trim(a)); +if(this.isCompatibleString(a))return this.importXml(a,b,c,g);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this,function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,c,g))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{d=this.editor.graph;l=null;d.getModel().beginUpdate();try{l=d.insertVertex(d.getDefaultParent(),null,"",d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.fireEvent(new mxEventObject("textInserted","cells",[l])),"<"==a.charAt(0)&& +a.indexOf(">")==a.length-1&&(a=mxUtils.htmlEntities(a)),a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"..."),l.value=a,d.updateCellSize(l),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(l.value)&&d.setLinkForCell(l,l.value),l.geometry.width+=d.gridSize,l.geometry.height+=d.gridSize}finally{d.getModel().endUpdate()}return[l]}}return[]}; +EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!= +a&&('{"state":"{\\"Properties\\":'==a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null==this.importFileInputElt){var d=document.createElement("input");d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){null!=d.files&&(this.importFiles(d.files,null,null,this.maxImageSize),d.type="",d.type="file",d.value="")}));d.style.display="none";document.body.appendChild(d);this.importFileInputElt= +d}this.importFileInputElt.click()}else{window.openNew=!1;window.openKey="import";if(!b){var c=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var d=new Blob([a],{type:"application/octet-stream"});this.importVisio(d,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a, +0,0,!0))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var f=this.dialog,e=f.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=c;e.apply(f,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,c){var d=this,f=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(f){if(0== +Object.keys(f.files).length)c();else{var e=0,k,g=!1;f.forEach(function(a,d){var f=d.name.toLowerCase();"diagram/diagram.xml"==f?(g=!0,d.async("string").then(function(a){0==a.indexOf("<mxfile ")?b(a):c()})):0==f.indexOf("versions/")&&(f=parseInt(f.substr(9)),f>e&&(e=f,k=d))});0<e?k.async("string").then(function(f){!d.isOffline()&&(new XMLHttpRequest).upload&&d.isRemoteFileFormat(f,a.name)?d.parseFile(new Blob([f],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<= +a.status&&299>=a.status?b(a.responseText):c())}),a.name):c()}):g||c()}},function(a){c(a)}):c()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importFile=function(a,b,c,e,l,g,m,p,t,u,y){u=null!=u?u:!0;var d=!1,f=null,k=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,m)):b=this.importXml(a,c,e,u);null!=p&&p(b)});"image"== +b.substring(0,5)?(t=!1,"image/png"==b.substring(0,9)&&(b=y?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,u),t=!0)),t||(b=this.editor.graph,y=a.indexOf(";"),0<y&&(a=a.substring(0,y)+a.substring(a.indexOf(",",y+1))),u&&b.isGridEnabled()&&(c=b.snap(c),e=b.snap(e)),f=[b.insertVertex(null,null,"",c,e,l,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(d=!0, +this.importGraphML(a,k)):null!=t&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||/(\.vs(x|sx?))($|\?)/i.test(m))?(d=!0,this.importVisio(t,k)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(d=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?k(a.responseText):null!=p&&p(null))}),m)):0==a.indexOf("PK")&&null!=t?(d=!0,this.importZipFile(t,k,mxUtils.bind(this,function(){f= +this.insertTextAt(this.validateFileData(a),c,e,!0,null,u);p(f)}))):/(\.v(sd|dx))($|\?)/i.test(m)||/(\.vs(s|x))($|\?)/i.test(m)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,u));d||null==p||p(f);return f};EditorUi.prototype.base64Encode=function(a){for(var b="",d=0,c=a.length,e,g,l;d<c;){e=a.charCodeAt(d++)&255;if(d==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<< +4);b+="==";break}g=a.charCodeAt(d++);if(d==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);b+="=";break}l=a.charCodeAt(d++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e& +3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(l&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,e,l,g,m,p,t,u,y,z){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,k=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var n=y||this.resampleThreshold,q=0;q<a.length;q++)if("image/"==a[q].type.substring(0, +6)&&a[q].size>n){k=!0;break}var A=mxUtils.bind(this,function(){var k=this.editor.graph,n=k.gridSize;l=null!=l?l:mxUtils.bind(this,function(a,b,c,f,e,g,k,l,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,f,e,g,k,l,n,d,z)});g=null!=g?g:mxUtils.bind(this,function(a){k.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,q=t,A=[],v=mxUtils.bind(this,function(a, +b){A[a]=b;if(0==--q){this.spinner.stop();if(null!=p)p(A);else{var d=[];k.getModel().beginUpdate();try{for(var c=0;c<A.length;c++){var f=A[c]();null!=f&&(d=d.concat(f))}}finally{k.getModel().endUpdate()}}g(d)}}),x=0;x<t;x++)mxUtils.bind(this,function(d){var g=a[d];if(null!=g){var t=new FileReader;t.onload=mxUtils.bind(this,function(a){if(null==m||m(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var t=a.target.result,p=t.indexOf(","),q=decodeURIComponent(escape(atob(t.substring(p+ +1)))),A=mxUtils.parseXml(q),q=A.getElementsByTagName("svg");if(0<q.length){var q=q[0],x=z?null:q.getAttribute("content");null!=x&&"<"!=x.charAt(0)&&"%"!=x.charAt(0)&&(x=unescape(window.atob?atob(x):Base64.decode(x,!0)));null!=x&&"%"==x.charAt(0)&&(x=decodeURIComponent(x));null==x||"<mxfile "!==x.substring(0,8)&&"<mxGraphModel "!==x.substring(0,14)?v(d,mxUtils.bind(this,function(){try{if(t.substring(0,p+1),null!=A){var a=A.getElementsByTagName("svg");if(0<a.length){var f=a[0],m=f.getAttribute("width"), +q=f.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,q=null!=q&&"%"!=q.charAt(q.length-1)?parseFloat(q):NaN,y=f.getAttribute("viewBox");if(null==y||0==y.length)f.setAttribute("viewBox","0 0 "+m+" "+q);else if(isNaN(m)||isNaN(q)){var v=y.split(" ");3<v.length&&(m=parseFloat(v[2]),q=parseFloat(v[3]))}t=this.createSvgDataUri(mxUtils.getXml(f));var u=Math.min(1,Math.min(e/Math.max(1,m)),e/Math.max(1,q)),x=l(t,g.type,b+d*n,c+d*n,Math.max(1,Math.round(m*u)),Math.max(1,Math.round(q* +u)),g.name);if(isNaN(m)||isNaN(q)){var C=new Image;C.onload=mxUtils.bind(this,function(){m=Math.max(1,C.width);q=Math.max(1,C.height);x[0].geometry.width=m;x[0].geometry.height=q;f.setAttribute("viewBox","0 0 "+m+" "+q);t=this.createSvgDataUri(mxUtils.getXml(f));var a=t.indexOf(";");0<a&&(t=t.substring(0,a)+t.substring(t.indexOf(",",a+1)));k.setCellStyles("image",t,[x[0]])});C.src=this.createSvgDataUri(mxUtils.getXml(f))}return x}}}catch(da){}return null})):v(d,mxUtils.bind(this,function(){return l(x, +"text/xml",b+d*n,c+d*n,0,0,g.name)}))}else v(d,mxUtils.bind(this,function(){return null}))}else{q=!1;if("image/png"==g.type){var C=z?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var G=new Image;G.src=a.target.result;v(d,mxUtils.bind(this,function(){return l(C,"text/xml",b+d*n,c+d*n,G.width,G.height,g.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"), +mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k,a.target.result,mxUtils.bind(this,function(k,m,t){v(d,mxUtils.bind(this,function(){if(null!=k&&k.length<u){var q=f&&this.isResampleImage(a.target.result,y)?Math.min(1,Math.min(e/m,e/t)):1;return l(k,g.type,b+d*n,c+d*n,Math.round(m*q),Math.round(t*q),g.name)}this.handleError({message:mxResources.get("imageTooBig")}); +return null}))}),f,e,y)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else l(a.target.result,g.type,b+d*n,c+d*n,240,160,g.name,function(a){v(d,function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?l(null,g.type,b+d*n,c+d*n,240,160,g.name,function(a){v(d,function(){return a})},g):"image"==g.type.substring(0,5)?t.readAsDataURL(g):t.readAsText(g)}})(x)});if(k){k=[];for(q=0;q<a.length;q++)k.push(a[q]); +a=k;this.confirmImageResize(function(a){f=a;A()},t)}else A()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,f=function(c,f){if(c||b)mxSettings.setResizeImages(c?f:null),mxSettings.save();d();a(f)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){f(a,!0)},function(a){f(a, +!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):f(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var f=new XMLHttpRequest;f.open("POST",OPEN_URL);f.onreadystatechange=function(){b(f)}; +f.send(d);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(g){}};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,l,g){l=null!=l?l:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,g))try{var k=Math.max(d/l,f/l);if(1<k){var n=Math.round(d/k),m=Math.round(f/k),q=document.createElement("canvas");q.width=n;q.height=m;q.getContext("2d").drawImage(a, +0,0,n,m);var p=q.toDataURL();if(p.length<b.length){var v=document.createElement("canvas");v.width=n;v.height=m;var u=v.toDataURL();p!==u&&(b=p,d=n,f=m)}}}catch(L){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var l=c,m=0;8>m;m++)l=1==(l&1)?3988292384^l>>>1:l>>>1,EditorUi.prototype.crcTable[c]=l;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(c+d))&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable= +this.crcTable||this.createCrcTable();for(var b=-1,d=0;d<a.length;d++)b=b>>>8^this.crcTable[(b^a.charCodeAt(d))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,e,l){function d(a,b){var d=m;m+=b;return a.substring(d,m)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a, +!0);var m=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=l&&l();else if(d(a,4),"IHDR"!=d(a,4))null!=l&&l();else{d(a,17);l=a.substring(0,m);do{var n=f(a);if("IDAT"==d(a,4)){l=a.substring(0,m-8);"pHYs"==b&&"dpi"==c?(c=Math.round(e/.0254),c=k(c)+k(c)+String.fromCharCode(1)):c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,c,0,c.length);l+=k(c.length)+b+c+k(e^4294967295);l+=a.substring(m-8, +a.length);break}l+=a.substring(m-8,m-4+n);d(a,n);d(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(l):Base64.encode(l,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a}catch(n){if(null!=c)c(n);else throw n;}};var p=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&& +!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph,c=b.cellEditor.startEditing;b.cellEditor.startEditing=function(d,f){var e=this.graph.getAttributeForCell(d,"plantUmlData");if(null!=e){var g=JSON.parse(e),e=new TextareaDialog(a,mxResources.get("plantUml")+":",g.data,function(c){null!=c&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(c,g.format,function(f,e,k){a.spinner.stop(); +b.getModel().beginUpdate();try{if("txt"==g.format)b.labelChanged(d,"<pre>"+f+"</pre>"),b.updateCellSize(d,!0);else{b.setCellStyles("image",a.convertDataUri(f),[d]);var l=b.model.getGeometry(d);null!=l&&(l=l.clone(),l.width=e,l.height=k,b.cellsResized([d],[l],!1))}b.setAttributeForCell(d,"plantUmlData",JSON.stringify({data:c,format:g.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);e.init()}else c.apply(this,arguments)}; +b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var d=!1;try{a.handleCustomLink(b),d=!0}catch(J){a.handleError(J)}return d};var e=this.clearDefaultStyle;this.clearDefaultStyle=function(){e.apply(this,arguments)};this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var l=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!= +a.pages&&null!=a.currentPage)for(var d=0;d<a.pages.length;d++)if(a.pages[d]==a.currentPage){0<d&&(b+=(0<b.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return l.apply(this,arguments)};var g=b.addClickHandler;b.addClickHandler=function(a,d,c){var f=d;d=function(a,d){if(null==d){var c=mxEvent.getSource(a);"a"==c.nodeName.toLowerCase()&&(d=c.getAttribute("href"))}null!=d&&b.isCustomLink(d)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(d)&& +mxEvent.consume(a);null!=f&&f(a,d)};g.call(this,a,d,c)};p.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var m=b.getExportVariables;b.getExportVariables=function(){var b=m.apply(this,arguments);b.pagecount=null!=a.pages?a.pages.length:1;b.page=null!= +a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var u=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:1:u.apply(this,arguments)};var t=b.labelLinkClicked;b.labelLinkClicked=function(a,d,c){var f=d.getAttribute("href"); +if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c))t.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(f),b.getRubberband().reset();mxEvent.consume(c)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,d=a.getCurrentFile();null!=d&&(b=null!=d.getTitle()?d.getTitle():b);return b};var z=this.actions.get("print");z.setEnabled(!mxClient.IS_IOS||!navigator.standalone);z.visible=z.isEnabled();if(!this.editor.chromeless|| +this.editor.editable)this.keyHandler.bindAction(70,!0,"find"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText",!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",!0),mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(this.altShiftActions[83]="synchronize"),this.installImagePasteHandler(),this.installNativeClipboardHandler(); +this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,d=b.cellEditor.text2,c=null;null!=d&&(mxEvent.addListener(d,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null== +c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=this.highlightElement(d));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,d,c,f,e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<= +mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var d=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(d)?this.loadImage(decodeURIComponent(d),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,c)),f/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*f,a*f)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types, +"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(z=this.editor.graph.view,z.setUnit(mxSettings.getUnit()),z.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));mxSettings.save()}),this.ruler=!this.canvasSupported||9== +document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,z.unit),this.refresh());if("1"==urlParams.styledev){z=document.getElementById("geFooter");null!=z&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility= +"hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),z.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var d=this.editor.graph.getSelectionCell(),d=this.editor.graph.getModel().getStyle(d);this.styleInput.value=d|| +"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var y=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:y.apply(this,arguments)}}z=document.getElementById("geInfo");null!=z&&z.parentNode.removeChild(z);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var D=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=D&&(D.parentNode.removeChild(D), +D=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==D&&(!mxClient.IS_IE||10<document.documentMode)&&(D=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=D&&(D.parentNode.removeChild(D),D=null);if(b.isEnabled()){var d=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), +c=b.view.translate,f=b.view.scale,e=d.x/f-c.x,g=d.y/f-c.y;mxEvent.isAltDown(a)&&(g=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,d=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=d)b.setSelectionCells(this.importXml(d,e,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types, +"text/html")){var l=a.dataTransfer.getData("text/html"),d=document.createElement("div");d.innerHTML=l;var m=null,c=d.getElementsByTagName("img");null!=c&&1==c.length?(l=c[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(m=!0)):(d=d.getElementsByTagName("a"),null!=d&&1==d.length&&(l=d[0].getAttribute("href")));var n=!0,t=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,e,g,!0,m,null,n))});m&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){n= +a;t()},mxEvent.isControlDown(a)):t()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var c=this.maxImageSize,c=Math.min(1,Math.min(c/Math.max(1,d)),c/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",e,g,d*c,a*c,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k, +e,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),e,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var d=b.clipboardData|| +b.originalEvent.clipboardData,c=!1,f=0;f<d.types.length;f++)if("text/"===d.types[f].substring(0,5)){c=!0;break}if(!c){var e=d.items;for(index in e){var l=e[index];if("file"===l.kind){if(a.isEditing())this.importFiles([l.getAsFile()],0,0,this.maxImageSize,function(b,d,c,f,e,g){a.insertImage(b,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var m=this.editor.graph.getInsertPoint();this.importFiles([l.getAsFile()],m.x,m.y,this.maxImageSize); +mxEvent.consume(b)}break}}}}catch(t){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){c.innerHTML=" ";c.focus();document.execCommand("selectAll",!1,null)},0)}var b=this.editor.graph,c=document.createElement("div");c.setAttribute("autocomplete","off");c.setAttribute("autocorrect","off");c.setAttribute("autocapitalize","off");c.setAttribute("spellcheck","false");c.style.textRendering="optimizeSpeed";c.style.fontFamily="monospace";c.style.wordBreak= +"break-all";c.style.background="transparent";c.style.color="transparent";c.style.position="absolute";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.display="block";c.style.fontSize="1";c.style.zIndex="-1";c.style.resize="none";c.style.outline="none";c.style.width="1px";c.style.height="1px";mxUtils.setOpacity(c,0);c.contentEditable=!0;c.innerHTML=" ";var e=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null); +mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var d=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==d.nodeName||"TEXTAREA"==d.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||e||(c.style.left=b.container.scrollLeft+10+"px",c.style.top=b.container.scrollTop+10+"px",b.container.appendChild(c),e=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){c.focus();document.execCommand("selectAll", +!1,null)},0):(c.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var d=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!e||224!=d&&17!=d&&91!=d||(e=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),c.parentNode.removeChild(c),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(c,"copy",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c), +a()}catch(A){this.handleError(A)}}));mxEvent.addListener(c,"cut",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c,!0),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(c,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&((new Date).getTime(),c.innerHTML=" ",c.focus(),null!=a.clipboardData&&this.pasteCells(a,c,!0),mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,c,!1)}), +0))}),!0);var l=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==c?!0:l.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var d=a.indexOf(",");0<d&&(b=this.getPageById(a.substring(d+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink= +function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors(); +if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(d){}this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",mxUtils.bind(this,function(a,b){mxSettings.setCustomFonts(this.menus.customFonts); +mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat); +mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){console.log("gridColorChanged",this.editor.graph.view.gridColor);mxSettings.setGridColor(this.editor.graph.view.gridColor,"dark"==uiTheme);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})), +this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var d=this.editor.graph;if(d.isSelectionEmpty())a.innerHTML= +"";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),f=mxUtils.getXml(d.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(f));b?(d.removeCells(c,!1),d.lastPasteXml=null):(d.lastPasteXml=f,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b,c){if(!mxEvent.isConsumed(a)){var d=b;if(c&&null!=a.clipboardData&&a.clipboardData.getData){var f=a.clipboardData.getData("text/html");if(null!=f&&0<f.length){if(d= +document.createElement("div"),d.innerHTML=f,f=d.getElementsByTagName("style"),null!=f)for(;0<f.length;)f[0].parentNode.removeChild(f[0])}else f=a.clipboardData.getData("text/plain"),null!=f&&0<f.length&&(d=document.createElement("div"),mxUtils.setTextContent(d,f))}f=d.getElementsByTagName("span");if(null!=f&&0<f.length&&"application/vnd.lucid.chart.objects"===f[0].getAttribute("data-lucid-type"))c=f[0].getAttribute("data-lucid-content"),null!=c&&0<c.length&&(this.convertLucidChart(c,mxUtils.bind(this, +function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var d=b.pasteCounter*b.gridSize;b.setSelectionCells(this.importXml(a,d,d));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a));else{var e=mxUtils.trim(null==d.innerText?mxUtils.getTextContent(d):d.innerText),k=!1;try{var l=e.lastIndexOf("%3E");0<=l&&l<e.length-3&&(e=e.substring(0,l+3))}catch(C){}try{var f=d.getElementsByTagName("span"), +m=null!=f&&0<f.length?mxUtils.trim(decodeURIComponent(f[0].textContent)):decodeURIComponent(e);this.isCompatibleString(m)&&(k=!0,e=m)}catch(C){}try{var p=this.editor.graph;if(null!=e&&0<e.length){p.lastPasteXml==e?p.pasteCounter++:(p.lastPasteXml=e,p.pasteCounter=0);var y=p.pasteCounter*p.gridSize;if(k||this.isCompatibleString(e))p.setSelectionCells(this.importXml(e,y,y));else{var u=p.getInsertPoint();p.isMouseInsertPoint()&&(y=0,p.lastPasteXml==e&&0<p.pasteCounter&&p.pasteCounter--);p.setSelectionCells(this.insertTextAt(e, +u.x+y,u.y+y,!0))}if(!p.isSelectionEmpty()){p.scrollCellToVisible(p.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(p.view.getState(p.getSelectionCell()));try{mxEvent.consume(a)}catch(C){}}}else c||(p.lastPasteXml=null,p.pasteCounter=0)}catch(C){this.handleError(C)}}}b.innerHTML=" "};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,d=0;d<a.length;d++)mxEvent.addListener(a[d],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b= +null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[d],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[d],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(), +"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var d=this.extractGraphModelFromEvent(a);if(null==d){var c=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=c&&(10==document.documentMode||11==document.documentMode?d=c.getData("Text"):(d=null,d=0<=mxUtils.indexOf(c.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(c.types, +"text/html")?c.getData("text/html"):null,null!=d&&0<d.length?(c=document.createElement("div"),c.innerHTML=d,c=c.getElementsByTagName("img"),0<c.length&&(d=c[0].getAttribute("src"))):0<=mxUtils.indexOf(c.types,"text/plain")&&(d=c.getData("text/plain"))),null!=d&&("data:image/png;base64,"==d.substring(0,22)?(d=this.extractGraphModelFromPng(d),null!=d&&0<d.length&&this.openLocalFile(d,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(d)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(d))).send(mxUtils.bind(this, +function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(d)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(d):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(d)))))}else this.openLocalFile(d,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,d=0,c,e;if(null==a){e=document.body; +var g=document.documentElement;c=(e.clientWidth||g.clientWidth)-3;e=Math.max(e.clientHeight||0,g.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,e=a.clientHeight;g=document.createElement("div");g.style.zIndex=mxPopupMenu.prototype.zIndex+2;g.style.border="3px dotted rgb(254, 137, 12)";g.style.pointerEvents="none";g.style.position="absolute";g.style.top=b+"px";g.style.left=d+"px";g.style.width=Math.max(0,c-3)+"px";g.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container? +this.editor.graph.container.appendChild(g):document.body.appendChild(g);return g};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var d=new mxCodec(b.ownerDocument),c=new mxGraphModel;d.decode(b,c);b=c.getChildAt(c.getRoot(),0);for(d=0;d<c.getChildCount(b);d++)a.push(c.getChildAt(b,d))}return a};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var d= +0;d<a.length;d++)mxUtils.bind(this,function(a){var d=new FileReader;d.onload=mxUtils.bind(this,function(d){try{var c=d.target.result,f=a.name;if(null!=f&&0<f.length){!this.useCanvasForExport&&/(\.png)$/i.test(f)&&(f=f.substring(0,f.length-4)+".drawio");var e=mxUtils.bind(this,function(a){f=0<=f.lastIndexOf(".")?f.substring(0,f.lastIndexOf("."))+".drawio":f+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename, +b);try{this.loadLibrary(new LocalLibrary(this,a,f))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,f,b)});if(/(\.v(dx|sdx?))($|\?)/i.test(f)||/(\.vs(x|sx?))($|\?)/i.test(f))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(/(\.*<graphml )/.test(c))this.importGraphML(c,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c, +f))this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?e(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(c))/(\.json)$/i.test(f)&&(f=f.substring(0,f.length-5)+".drawio"),this.convertLucidChart(c,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,f,b)}),mxUtils.bind(this,function(a){this.spinner.stop(); +this.handleError(a)}));else if("<mxlibrary"==d.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,d.target.result,a.name))}catch(E){this.handleError(E,mxResources.get("errorLoadingFile"))}}else 0==c.indexOf("PK")?this.importZipFile(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(c, +f,b)})):("image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,f,b))}}catch(E){this.handleError(E)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),f=mxUtils.bind(this,function(){window.openFile= +null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename,c))});if(null!=a&&0<a.length)null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?f():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"), +mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):f()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]), +this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function d(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));null==b[a]&&(b[a]=!0)}}var c=this.editor.graph,f=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(f[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(f[mxConstants.STYLE_STARTARROW])), +d(mxMarker.getPackageForType(f[mxConstants.STYLE_ENDARROW])));for(var f=c.model.getChildCount(a),e=0;e<f;e++)this.addBasenamesForCell(c.model.getChildAt(a,e),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.ruler&& +(this.ruler.hRuler.container.style.visibility=a?"":"hidden",this.ruler.vRuler.container.style.visibility=a?"":"hidden");null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))}; +EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog(),this.chromelessResize&& +this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))}; +EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,g=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified? +null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,g);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){if(f.source==(window.opener||window.parent)){var g=f.data,k=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"== +a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=Graph.decompress(a)))}catch(ia){}return a});if("json"==urlParams.proto){try{g=JSON.parse(g)}catch(U){g=null}try{if(null==g)return;if("dialog"==g.action){this.showError(null!=g.titleKey?mxResources.get(g.titleKey):g.title,null!=g.messageKey?mxResources.get(g.messageKey):g.message,null!=g.buttonKey?mxResources.get(g.buttonKey): +g.button);null!=g.modified&&(this.editor.modified=g.modified);return}if("prompt"==g.action){this.spinner.stop();var m=new FilenameDialog(this,g.defaultValue||"",null!=g.okKey?mxResources.get(g.okKey):null,function(a){null!=a&&l.postMessage(JSON.stringify({event:"prompt",value:a,message:g}),"*")},null!=g.titleKey?mxResources.get(g.titleKey):g.title);this.showDialog(m.container,300,80,!0,!1);m.init();return}if("draft"==g.action){var n=k(g.xml);this.spinner.stop();m=new DraftDialog(this,mxResources.get("draftFound", +[g.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();l.postMessage(JSON.stringify({event:"draft",result:"edit",message:g}),"*")}),mxUtils.bind(this,function(){this.hideDialog();l.postMessage(JSON.stringify({event:"draft",result:"discard",message:g}),"*")}),g.editKey?mxResources.get(g.editKey):null,g.discardKey?mxResources.get(g.discardKey):null,g.ignore?mxUtils.bind(this,function(){this.hideDialog();l.postMessage(JSON.stringify({event:"draft",result:"ignore",message:g}), +"*")}):null);this.showDialog(m.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(U){l.postMessage(JSON.stringify({event:"draft",error:U.toString(),message:g}),"*")}return}if("template"==g.action){this.spinner.stop();var p=1==g.enableRecent,q=1==g.enableSearch,u=1==g.enableCustomTemp,m=new NewDialog(this,!1,null!=g.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=g.callback?l.postMessage(JSON.stringify({event:"template", +xml:b,blank:b==this.emptyDiagramXml,name:d}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,p?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,q?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,d){l.postMessage(JSON.stringify({event:"template", +docUrl:a,info:b,name:d}),"*")}),null,null,u?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(m.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("textContent"==g.action){var A=this.getDiagramTextContent();l.postMessage(JSON.stringify({event:"textContent",data:A,message:g}),"*");return}if("status"==g.action){null!=g.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(g.messageKey))): +null!=g.message&&this.editor.setStatus(mxUtils.htmlEntities(g.message));null!=g.modified&&(this.editor.modified=g.modified);return}if("spinner"==g.action){var x=null!=g.messageKey?mxResources.get(g.messageKey):g.message;null==g.show||g.show?this.spinner.spin(document.body,x):this.spinner.stop();return}if("export"==g.action){if("png"==g.format||"xmlpng"==g.format){if(null==g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin)){var z=null!=g.xml? +g.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var B=this.editor.graph,G=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=g.format;b.message=g;b.data=a;b.xml=encodeURIComponent(z);l.postMessage(JSON.stringify(b),"*")}),O=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==g.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(z)));B!=this.editor.graph&&B.container.parentNode.removeChild(B.container); +G(a)}),R=g.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!=R){for(var ba=B.getGlobalVariable,B=this.createTemporaryGraph(B.getStylesheet()),W,H=0;H<this.pages.length;H++)if(this.pages[H].getId()==R){W=this.updatePageRoot(this.pages[H]);break}B.getGlobalVariable=function(a){return"page"==a?W.getName():"pagenumber"==a?1:ba.apply(this,arguments)};document.body.appendChild(B.container);B.model.setRoot(W.root)}if(null!=g.layerIds){for(var aa= +B.model,fa=aa.getChildCells(aa.getRoot()),m={},H=0;H<g.layerIds.length;H++)m[g.layerIds[H]]=!0;for(H=0;H<fa.length;H++)aa.setVisible(fa[H],m[fa[H].id]||!1)}this.exportToCanvas(mxUtils.bind(this,function(a){O(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){O(null)}),null,null,g.scale,null,null,null,B)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==g.format?"1":"0")+(null!=R?"&pageId="+R:"")+(null!=g.layerIds?"&extras="+encodeURIComponent(JSON.stringify({layerIds:g.layerIds})): +"")+(null!=g.scale?"&scale="+g.scale:"")+"&base64=1&xml="+encodeURIComponent(z))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?G("data:image/png;base64,"+a.getText()):O(null)}),mxUtils.bind(this,function(){O(null)}))}}else{null!=g.xml&&0<g.xml.length&&this.setFileData(g.xml);x=this.createLoadMessage("export");if("html2"==g.format||"html"==g.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var la=this.getXmlFileData();x.xml=mxUtils.getXml(la);x.data= +this.getFileData(null,null,!0,null,null,null,la);x.format=g.format}else if("html"==g.format)z=this.editor.getGraphXml(),x.data=this.getHtml(z,this.editor.graph),x.xml=mxUtils.getXml(z),x.format=g.format;else{mxSvgCanvas2D.prototype.foAltText=null;var Q=this.editor.graph.background;Q==mxConstants.NONE&&(Q=null);x.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);x.format="svg";if(g.embedImages||null==g.embedImages){if(null==g.spin&&null==g.spinKey||this.spinner.spin(document.body, +null!=g.spinKey?mxResources.get(g.spinKey):g.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==g.format?this.getEmbeddedSvg(x.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();x.data=this.createSvgDataUri(a);l.postMessage(JSON.stringify(x),"*")})):this.convertImages(this.editor.graph.getSvg(Q),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();x.data=this.createSvgDataUri(mxUtils.getXml(a));l.postMessage(JSON.stringify(x), +"*")}));return}var ja="xmlsvg"==g.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(Q));x.data=this.createSvgDataUri(ja)}l.postMessage(JSON.stringify(x),"*")}return}if("load"==g.action)c=1==g.autosave,this.hideDialog(),null!=g.modified&&null==urlParams.modified&&(urlParams.modified=g.modified),null!=g.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=g.saveAndExit),null!=g.title&&null!=this.buttonContainer&&(n=document.createElement("span"), +mxUtils.write(n,g.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(n),this.embedFilenameSpan=n),g=null!=g.xmlpng?this.extractGraphModelFromPng(g.xmlpng): +g.xml;else{"remoteInvokeReady"==g.action?this.handleRemoteInvokeReady(l):"remoteInvoke"==g.action?this.handleRemoteInvoke(g):"remoteInvokeResponse"==g.action?this.handleRemoteInvokeResponse(g):l.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(g)}),"*");return}}catch(U){this.handleError(U)}}var V=mxUtils.bind(this,function(f,g){d=!0;try{a(f,g)}catch(Z){this.handleError(Z)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var k=mxUtils.bind(this,function(){return"0"!=urlParams.pages|| +null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=k();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=k();if(c!=e&&!d){var f=this.createLoadMessage("autosave");f.xml=c;c=JSON.stringify(f);(window.opener||window.parent).postMessage(c,"*")}e=c}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged", +b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||l.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")});null!=g&&"function"===typeof g.substring&& +"data:application/vnd.visio;base64,"==g.substring(0,34)?(k="0M8R4KGxGuE"==g.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(g.substring(g.indexOf(",")+1)),function(a){V(a,f)},mxUtils.bind(this,function(a){this.handleError(a)}),k)):null!=g&&"function"===typeof g.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(g,"")?this.parseFile(new Blob([g],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&& +299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&V(a.responseText,f)}),""):null!=g&&"function"===typeof g.substring&&this.isLucidChartData(g)?this.convertLucidChart(g,mxUtils.bind(this,function(a){V(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):(g=k(g),V(g,f))}}));var l=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";l.postMessage(g,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a= +document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"0px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");b.className="geBigButton";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)): +(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this, +function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geBigButton geBigStandardButton";b.style.marginLeft="6px";b.style.marginRight="20px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme? +"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://about.draw.io/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList= +function(a,b){for(var d=this.editor.graph,c=d.getSelectionCells(),f=0;f<a.length;f++){var e=new window[a[f].layout](d);if(null!=a[f].config)for(var l in a[f].config)e[l]=a[f].config[l];this.executeLayout(function(){e.execute(d.getDefaultParent(),0==c.length?null:c)},f==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[],f=[],e={};if(0<d.length){var l={},m=null,p=null,u=null,y=null,z=null,C=null,v=null,B=null,L="",I="auto",N="auto",F=null,G=null,O=40,R=40,ba=100, +W=0,H=this.editor.graph;H.getGraphBounds();for(var aa=function(){null!=b?b(ka):(H.setSelectionCells(ka),H.scrollCellToVisible(H.getSelectionCell()))},fa=H.getFreeInsertPoint(),la=fa.x,Q=fa.y,fa=Q,ja=null,V="auto",B=null,U=[],ia=null,na=null,Z=0;Z<d.length&&"#"==d[Z].charAt(0);){a=d[Z];for(Z++;Z<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Z].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Z].substring(1)),Z++;if("#"!=a.charAt(1)){var Y=a.indexOf(":");if(0<Y){var P=mxUtils.trim(a.substring(1, +Y)),M=mxUtils.trim(a.substring(Y+1));"label"==P?ja=H.sanitizeHtml(M):"labelname"==P&&0<M.length&&"-"!=M?y=M:"labels"==P&&0<M.length&&"-"!=M?z=JSON.parse(M):"style"==P?m=M:"parentstyle"==P?C=M:"stylename"==P&&0<M.length&&"-"!=M?u=M:"styles"==P&&0<M.length&&"-"!=M?p=JSON.parse(M):"identity"==P&&0<M.length&&"-"!=M?v=M:"parent"==P&&0<M.length&&"-"!=M?B=M:"namespace"==P&&0<M.length&&"-"!=M?L=M:"width"==P?I=M:"height"==P?N=M:"left"==P&&0<M.length?F=M:"top"==P&&0<M.length?G=M:"ignore"==P?na=M.split(","): +"connect"==P?U.push(JSON.parse(M)):"link"==P?ia=M:"padding"==P?W=parseFloat(M):"edgespacing"==P?O=parseFloat(M):"nodespacing"==P?R=parseFloat(M):"levelspacing"==P?ba=parseFloat(M):"layout"==P&&(V=M)}}}if(null==d[Z])throw Error(mxResources.get("invalidOrMissingFile"));var ga=this.editor.csvToArray(d[Z]),P=Y=null;if(null!=v||null!=B)for(var T=0;T<ga.length;T++)v==ga[T]&&(Y=T),B==ga[T]&&(P=T);null==ja&&(ja="%"+ga[0]+"%");if(null!=U)for(var S=0;S<U.length;S++)null==l[U[S].to]&&(l[U[S].to]={});H.model.beginUpdate(); +try{for(T=Z+1;T<d.length;T++){var ea=this.editor.csvToArray(d[T]);if(null==ea){var ta=40<d[T].length?d[T].substring(0,40)+"...":d[T];throw Error(T+" ("+ta+") "+mxResources.get("containsValidationErrors"));}if(ea.length==ga.length){var K=null,ma=null!=Y?L+ea[Y]:null;null!=ma&&(K=H.model.getCell(ma));var v=null!=K,da=new mxCell(ja,new mxGeometry(la,fa,0,0),m||"whiteSpace=wrap;html=1;");da.vertex=!0;da.id=ma;for(var ha=0;ha<ea.length;ha++)H.setAttributeForCell(da,ga[ha],ea[ha]);if(null!=y&&null!=z){var Aa= +z[da.getAttribute(y)];null!=Aa&&H.labelChanged(da,Aa)}if(null!=u&&null!=p){var Ba=p[da.getAttribute(u)];null!=Ba&&(da.style=Ba)}H.setAttributeForCell(da,"placeholders","1");da.style=H.replacePlaceholders(da,da.style);v&&(H.model.setGeometry(K,da.geometry),H.model.setStyle(K,da.style),0>mxUtils.indexOf(f,K)&&f.push(K));K=da;if(!v)for(S=0;S<U.length;S++)l[U[S].to][K.getAttribute(U[S].to)]=K;null!=ia&&"link"!=ia&&(H.setLinkForCell(K,K.getAttribute(ia)),H.setAttributeForCell(K,ia,null));H.fireEvent(new mxEventObject("cellsInserted", +"cells",[K]));var za=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=F&&null!=K.getAttribute(F)&&(K.geometry.x=la+parseFloat(K.getAttribute(F))),null!=G&&null!=K.getAttribute(G)&&(K.geometry.y=Q+parseFloat(K.getAttribute(G))),"@"==I.charAt(0)&&null!=K.getAttribute(I.substring(1))?K.geometry.width=parseFloat(K.getAttribute(I.substring(1))):K.geometry.width="auto"==I?za.width+W:parseFloat(I),"@"==N.charAt(0)&&null!=K.getAttribute(N.substring(1))?K.geometry.height=parseFloat(K.getAttribute(N.substring(1))): +K.geometry.height="auto"==N?za.height+W:parseFloat(N),fa+=K.geometry.height+R);v?(null==e[ma]&&(e[ma]=[]),e[ma].push(K)):(B=null!=P?H.model.getCell(L+ea[P]):null,c.push(K),null!=B?(B.style=H.replacePlaceholders(B,C),H.addCell(K,B)):f.push(H.addCell(K)))}}for(var pa=f.slice(),ka=f.slice(),S=0;S<U.length;S++)for(var sa=U[S],T=0;T<f.length;T++){var K=f[T],qa=mxUtils.bind(this,function(a,b,d){var c=b.getAttribute(d.from);if(null!=c){H.setAttributeForCell(b,d.from,null);for(var c=c.split(","),f=0;f<c.length;f++){var e= +l[d.to][c[f]];if(null!=e){var g=d.label;null!=d.fromlabel&&(g=(b.getAttribute(d.fromlabel)||"")+(g||""));null!=d.tolabel&&(g=(g||"")+(e.getAttribute(d.tolabel)||""));ka.push(H.insertEdge(null,null,g||"",d.invert?e:a,d.invert?a:e,d.style||H.createCurrentEdgeStyle()));mxUtils.remove(d.invert?a:e,pa)}}}});qa(K,K,sa);if(null!=e[K.id])for(ha=0;ha<e[K.id].length;ha++)qa(K,e[K.id][ha],sa)}if(null!=na)for(T=0;T<c.length;T++)for(K=c[T],ha=0;ha<na.length;ha++)H.setAttributeForCell(K,mxUtils.trim(na[ha]),null); +if(0<f.length){var ua=new mxParallelEdgeLayout(H);ua.spacing=O;var wa=function(){0<ua.spacing&&ua.execute(H.getDefaultParent());for(var a=0;a<f.length;a++){var b=H.getCellGeometry(f[a]);b.x=Math.round(H.snap(b.x));b.y=Math.round(H.snap(b.y));"auto"==I&&(b.width=Math.round(H.snap(b.width)));"auto"==N&&(b.height=Math.round(H.snap(b.height)))}};if("["==V.charAt(0)){var ra=aa;H.view.validate();this.executeLayoutList(JSON.parse(V),function(){wa();ra()});aa=null}else if("circle"==V){var Ca=new mxCircleLayout(H); +Ca.resetEdges=!1;var Ma=Ca.isVertexIgnored;Ca.isVertexIgnored=function(a){return Ma.apply(this,arguments)||0>mxUtils.indexOf(f,a)};this.executeLayout(function(){Ca.execute(H.getDefaultParent());wa()},!0,aa);aa=null}else if("horizontaltree"==V||"verticaltree"==V||"auto"==V&&ka.length==2*f.length-1&&1==pa.length){H.view.validate();var Da=new mxCompactTreeLayout(H,"horizontaltree"==V);Da.levelDistance=R;Da.edgeRouting=!1;Da.resetEdges=!1;this.executeLayout(function(){Da.execute(H.getDefaultParent(), +0<pa.length?pa[0]:null)},!0,aa);aa=null}else if("horizontalflow"==V||"verticalflow"==V||"auto"==V&&1==pa.length){H.view.validate();var xa=new mxHierarchicalLayout(H,"horizontalflow"==V?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);xa.intraCellSpacing=R;xa.parallelEdgeSpacing=O;xa.interRankCellSpacing=ba;xa.disableEdgeStyle=!1;this.executeLayout(function(){xa.execute(H.getDefaultParent(),ka);H.moveCells(ka,la,Q)},!0,aa);aa=null}else if("organic"==V||"auto"==V&&ka.length>f.length){H.view.validate(); +var ya=new mxFastOrganicLayout(H);ya.forceConstant=3*R;ya.resetEdges=!1;var Ga=ya.isVertexIgnored;ya.isVertexIgnored=function(a){return Ga.apply(this,arguments)||0>mxUtils.indexOf(f,a)};ua=new mxParallelEdgeLayout(H);ua.spacing=O;this.executeLayout(function(){ya.execute(H.getDefaultParent());wa()},!0,aa);aa=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=aa&&aa()}}catch(Ha){this.handleError(Ha)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&& +null!=a&&0<window.location.search.length){var d="?",c;for(c in urlParams)0>mxUtils.indexOf(a,c)&&null!=urlParams[c]&&(b+=d+c+"="+urlParams[c],d="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var d="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),c;for(c in urlParams)0>mxUtils.indexOf(d,c)&& +(a=0==b?a+"?":a+"&",null!=urlParams[c]&&(a+=c+"="+urlParams[c],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var u=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=u.apply(this,arguments),d=this.editor.graph,c=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(d.container)&&d.pageVisible&&null!=this.source.minimumGraphSize){var a= +this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return c.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* +a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var c=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*c.x))/2)-c.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*c.y))/2)-c.y-5/a))}return new mxPoint(8/a, +8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=d.getPageLayout(),b=d.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,d){var c=d.getProperty("change"),f=b.source,e=b.outline;e.pageScale=f.pageScale;e.pageFormat= +f.pageFormat;e.background=f.background;e.pageVisible=f.pageVisible;e.background=f.background;var g=mxUtils.getCurrentStyle(f.container);e.container.style.backgroundColor=g.backgroundColor;null!=f.view.backgroundPageShape&&null!=e.view.backgroundPageShape&&(e.view.backgroundPageShape.fill=f.view.backgroundPageShape.fill);b.outline.view.clear(c.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var d=1;null==this.drive&&"function"!==typeof window.DriveClient|| +d++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||d++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||d++;b||null==this.gitHub||d++;b||null==this.gitLab||d++;b&&a&&isLocalStorage&&"1"==urlParams.browser&&d++;return d};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b); +var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c),this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()|| +null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.actions.get("undo").setEnabled(this.canUndo()&&a);this.actions.get("redo").setEnabled(this.canRedo()&&a);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&& +this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var e=applicationCache;if(null!=e&&null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin= +"4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var e=window.applicationCache,l=null,b=mxUtils.bind(this,function(){var a=e.status,b;a==e.CHECKING&&(a=e.DOWNLOADING);switch(a){case e.UNCACHED:b= +"";break;case e.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case e.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case e.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case e.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b= +'<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=l&&(this.offlineStatus.innerHTML=b,l=a)});mxEvent.addListener(e,"checking",b);mxEvent.addListener(e,"noupdate",b);mxEvent.addListener(e,"downloading",b);mxEvent.addListener(e,"progress",b);mxEvent.addListener(e,"cached",b);mxEvent.addListener(e,"updateready",b);mxEvent.addListener(e,"obsolete",b);mxEvent.addListener(e,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement= +function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var z=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){z.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile();this.actions.get("pageSetup").setEnabled(b); +this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&&c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell())); +this.actions.get("createShape").setEnabled(b);this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility); +this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)}; +var B=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);B.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,l,g,m){var d=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b, +"svg",mxUtils.getXml(d.getSvg(e,l,g)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),k=d.getGraphBounds(),n=Math.floor(k.width*l/d.view.scale),p=Math.floor(k.height*l/d.view.scale);if(f.length<=MAX_REQUEST_SIZE&&n*p<MAX_AREA)if(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()){var q={globalVars:d.getExportVariables()};a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a): +"")+"&extras="+encodeURIComponent(JSON.stringify(q))+(0<m?"&dpi="+m:"")+"&bg="+(null!=e?e:"none")+"&w="+n+"&h="+p+"&border="+g+"&xml="+encodeURIComponent(f))})}else"png"==c?a.exportImage(l,null==e||"none"==e,!0,!1,!1,g,!0,!1,null,null,m):a.exportImage(l,!1,!0,!1,!1,g,!0,!1,"jpeg");else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var c=0;c<this.pages.length;c++){var e= +a;this.currentPage!=this.pages[c]&&(e=this.createTemporaryGraph(a.getStylesheet()),e.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+e.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},d=document.createElement("div");d.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxUtils.htmlEntities(a));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px"; +d.appendChild(c);var e=document.createElement("div");e.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<div style="text-align:center;padding:8px;"><img src="/images/spin.gif"></div>';var g={};try{var l=mxSettings.getCustomLibraries();for(a=0;a<l.length;a++){var m=l[a];if("R"==m.substring(0,1)){var p=JSON.parse(decodeURIComponent(m.substring(1)));g[p[0]]={id:p[0],title:p[1],downloadUrl:p[2]}}}}catch(E){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML= +"";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var d=0;d<a.length;d++){var c=a[d];g[c.id]&&(b[c.id]=c);var f=this.addCheckbox(e,c.title,g[c.id]);(function(a,d){mxEvent.addListener(d,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(c,f)}},mxUtils.bind(this,function(a){e.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b, +mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:mxResources.get("unknownError"));e.appendChild(b)}));d.appendChild(e);d=new CustomDialog(this,d,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,d;for(d in b)null==g[d]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(d){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,d,b))}catch(v){this.handleError(v, +mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[d]));for(d in g)b[d]||this.closeLibrary(new RemoteLibrary(this,null,g[d]));0==a&&this.spinner.stop()}),null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(d.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks= +[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,d=this.remoteInvokeCallbacks[b.callbackId];if(null==d)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?d.error&&d.error(a.error.errResp):d.callback&&d.callback.apply(this, +a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,c,e,l){var d=!0,f=window.setTimeout(mxUtils.bind(this,function(){d=!1;l({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),k=mxUtils.bind(this,function(){window.clearTimeout(f);d&&e.apply(this,arguments)});c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:k,error:l});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b, +msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,d){var c={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=d?c.error={errResp:d}:null!=b&&(c.resp=b);this.remoteWin.postMessage(JSON.stringify(c),"*")});try{var d=a.funtionName,c=this.remoteInvokableFns[d];if(null!=c&&"function"===typeof this[d]){var e=a.functionArgs;Array.isArray(e)||(e=[]);if(c.isAsync)e.push(function(){b(Array.prototype.slice.apply(arguments))}), +e.push(function(a){b(null,a||"Unkown Error")}),this[d].apply(this,e);else{var g=this[d].apply(this,e);b([g])}}else b(null,"Invalid Call: "+d+" is not found.")}catch(A){b(null,"Invalid Call: An error occured, "+A.message)}};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded= +function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(a,b){var d=this.getCurrentFile();null!=d?d.getComments(a,b):a([])};EditorUi.prototype.addComment=function(a,b,c){var d=this.getCurrentFile();null!=d?d.addComment(a,b,c):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!= +a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var d=this.getCurrentFile();return null!=d?d.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported=function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var d=this.getCurrentFile();null!=d&&d.getRevisions?d.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled= +function(){var a=this.getCurrentFile();return null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(a){a.setRequestHeader("Content-Language","da, mi, en, de-DE")}})(); +var CommentsWindow=function(a,b,e,c,l,m){function p(){for(var a=t.getElementsByTagName("div"),b=0,d=0;d<a.length;d++)"none"!=a[d].style.display&&a[d].parentNode==t&&b++;E.style.display=0==b?"block":"none"}function u(a,b,d,c){function e(){b.removeChild(l);b.removeChild(m);k.style.display="block";f.style.display="block"}g={div:b,comment:a,saveCallback:d,deleteOnCancel:c};var f=b.querySelector(".geCommentTxt"),k=b.querySelector(".geCommentActionsList"),l=document.createElement("textarea");l.className= +"geCommentEditTxtArea";l.style.minHeight=f.offsetHeight+"px";l.value=a.content;b.insertBefore(l,f);var m=document.createElement("div");m.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){c?(b.parentNode.removeChild(b),p()):e();g=null});n.className="geCommentEditBtn";m.appendChild(n);var t=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=l.value;mxUtils.write(f,a.content);e();d(a);g=null});mxEvent.addListener(l,"keydown",mxUtils.bind(this, +function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(t.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));t.focus();t.className="geCommentEditBtn gePrimaryBtn";m.appendChild(t);b.insertBefore(m,f);k.style.display="none";f.style.display="none";l.focus()}function z(b,d){d.innerHTML="";var c=new Date(b.modifiedDate),e=a.timeSince(c);null==e&&(e=mxResources.get("lessThanAMinute"));mxUtils.write(d,mxResources.get("timeAgo", +[e],"{1} ago"));d.setAttribute("title",c.toLocaleDateString()+" "+c.toLocaleTimeString())}function B(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function d(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function f(a){a.style.border="";a.removeChild(a.busyImg)}function k(b,c,e,l,m){function y(a,d,c){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className= +"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){d(a,b);a.preventDefault();mxEvent.consume(a)});I.appendChild(e);c&&(e.style.display="none")}function v(){function a(b){d.push(c);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)c=c.nextSibling,a(b.replies[e])}var d=[],c=x;a(b);return{pdiv:c,replies:d}}function A(c,e,g,m,n){function p(){B(x);b.addReply(y,function(a){y.id=a;b.replies.push(y);f(x);g&&g()},function(b){t();d(x);a.handleError(b,null, +null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},m,n)}function t(){u(y,x,function(a){p()},!0)}var q=v().pdiv,y=a.newComment(c,a.getCurrentUser());y.pCommentId=b.id;null==b.replies&&(b.replies=[]);var x=k(y,b.replies,q,l+1);e?t():p()}if(m||!b.isResolved){E.style.display="none";var x=document.createElement("div");x.className="geCommentContainer";x.setAttribute("data-commentId",b.id);x.style.marginLeft=20*l+5+"px";b.isResolved&&"dark"!=uiTheme&&(x.style.backgroundColor="ghostWhite"); +var G=document.createElement("div");G.className="geCommentHeader";var D=document.createElement("img");D.className="geCommentUserImg";D.src=b.user.pictureUrl||Editor.userImage;G.appendChild(D);D=document.createElement("div");D.className="geCommentHeaderTxt";G.appendChild(D);var O=document.createElement("div");O.className="geCommentUsername";mxUtils.write(O,b.user.displayName||"");D.appendChild(O);O=document.createElement("div");O.className="geCommentDate";O.setAttribute("data-commentId",b.id);z(b, +O);D.appendChild(O);x.appendChild(G);G=document.createElement("div");G.className="geCommentTxt";mxUtils.write(G,b.content||"");x.appendChild(G);G=document.createElement("div");G.className="geCommentActions";var I=document.createElement("ul");I.className="geCommentActionsList";G.appendChild(I);q||0!=l&&!n||y(mxResources.get("reply"),function(){A("",!0)},b.isResolved);D=a.getCurrentUser();null==D||D.id!=b.user.id||q||(y(mxResources.get("edit"),function(){function c(){u(b,x,function(){B(x);b.editComment(b.content, +function(){f(x)},function(b){d(x);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),y(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){B(x);b.deleteComment(function(){for(var a=v(b).replies,d=0;d<a.length;d++)t.removeChild(a[d]);for(d=0;d<c.length;d++)if(c[d]==b){c.splice(d,1);break}E.style.display=0==t.getElementsByTagName("div").length?"block":"none"},function(b){d(x);a.handleError(b,null,null, +null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));q||0!=l||y(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function d(){var d=a.target;d.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(d,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var c=b.isResolved?"none":"",e=v(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var k=e[g].querySelectorAll(".geCommentAction"), +l=0;l<k.length;l++)k[l]!=d.parentNode&&(k[l].style.display=c);C||(e[g].style.display="none")}p()}b.isResolved?A(mxResources.get("reOpened")+": ",!0,d,!1,!0):A(mxResources.get("markedAsResolved"),!1,d,!0)});x.appendChild(G);null!=e?t.insertBefore(x,e.nextSibling):t.appendChild(x);for(e=0;null!=b.replies&&e<b.replies.length;e++)G=b.replies[e],G.isResolved=b.isResolved,k(G,b.replies,null,l+1,m);null!=g&&(g.comment.id==b.id?(m=b.content,b.content=g.comment.content,u(b,x,g.saveCallback,g.deleteOnCancel), +b.content=m):null==g.comment.id&&g.comment.pCommentId==b.id&&(t.appendChild(g.div),u(g.comment,g.div,g.saveCallback,g.deleteOnCancel)));return x}}var q=!a.canComment(),n=a.canReplyToReplies(),g=null,A=document.createElement("div");A.className="geCommentsWin";A.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var x=EditorUi.compactUi?"26px":"30px",t=document.createElement("div");t.className="geCommentsList";t.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke": +Dialog.backdropColor;t.style.bottom=parseInt(x)+7+"px";A.appendChild(t);var E=document.createElement("span");E.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(E,mxResources.get("noCommentsFound"));var y=document.createElement("div");y.className="geToolbarContainer geCommentsToolbar";y.style.height=x;y.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";y.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(y.style.filter= +"none");x=document.createElement("a");x.className="geButton";mxClient.IS_QUIRKS&&(x.style.filter="none");if(!q){var D=x.cloneNode();D.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';D.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(D,"click",function(b){function c(){u(e,g,function(b){B(g);a.addComment(b,function(a){b.id=a;v.push(b);f(g)},function(b){d(g);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})}, +!0)}var e=a.newComment("",a.getCurrentUser()),g=k(e,v,null,0);c();b.preventDefault();mxEvent.consume(b)});y.appendChild(D)}D=x.cloneNode();D.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';D.setAttribute("title",mxResources.get("showResolved"));var C=!1;"dark"==uiTheme&&(D.style.filter="invert(100%)");mxEvent.addListener(D,"click",function(a){this.className=(C=!C)?"geButton geCheckedBtn":"geButton";J();a.preventDefault();mxEvent.consume(a)});y.appendChild(D);a.commentsRefreshNeeded()&& +(D=x.cloneNode(),D.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',D.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(D.style.filter="invert(100%)"),mxEvent.addListener(D,"click",function(a){J();a.preventDefault();mxEvent.consume(a)}),y.appendChild(D));a.commentsSaveNeeded()&&(x=x.cloneNode(),x.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',x.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&& +(x.style.filter="invert(100%)"),mxEvent.addListener(x,"click",function(a){m();a.preventDefault();mxEvent.consume(a)}),y.appendChild(x));A.appendChild(y);var v=[],J=mxUtils.bind(this,function(){this.hasError=!1;if(null!=g)try{g.div=g.div.cloneNode(!0);var b=g.div.querySelector(".geCommentEditTxtArea"),d=g.div.querySelector(".geCommentEditBtns");g.comment.content=b.value;b.parentNode.removeChild(b);d.parentNode.removeChild(d)}catch(F){a.handleError(F)}t.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+ +IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";n=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var d=0;d<a.length;d++)b(a[d].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});t.innerHTML="";t.appendChild(E);E.style.display="block";v=a;for(a=0;a<v.length;a++)b(v[a].replies), +k(v[a],v,null,0,C);null!=g&&null==g.comment.id&&null==g.comment.pCommentId&&(t.appendChild(g.div),u(g.comment,g.div,g.saveCallback,g.deleteOnCancel))},mxUtils.bind(this,function(a){t.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=!0})):t.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});J();this.refreshComments=J;y=mxUtils.bind(this,function(){function a(b){var c=d[b.id];if(null!=c)for(z(b,c),c=0;null!=b.replies&&c<b.replies.length;c++)a(b.replies[c])} +if(this.window.isVisible()){for(var b=t.querySelectorAll(".geCommentDate"),d={},c=0;c<b.length;c++){var e=b[c];d[e.getAttribute("data-commentId")]=e}for(c=0;c<v.length;c++)a(v[c])}});setInterval(y,6E4);this.refreshCommentsTime=y;this.window=new mxWindow(mxResources.get("comments"),A,b,e,c,l,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW, +mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var d=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,d-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var L=mxUtils.bind(this,function(){var a=this.window.getX(), +b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",L);this.destroy=function(){mxEvent.removeListener(window,"resize",L);this.window.destroy()}},ConfirmDialog=function(a,b,e,c,l,m,p,u,z,B,d){var f=document.createElement("div");f.style.textAlign="center";d=null!=d?d:44;var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight=d+"px";k.style.lineHeight="1.2em";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b); +f.appendChild(k);null!=B&&(k=document.createElement("div"),k.style.padding="6px 0 6px 0",b=document.createElement("img"),b.setAttribute("src",B),k.appendChild(b),f.appendChild(k));B=document.createElement("div");B.style.textAlign="center";B.style.whiteSpace="nowrap";var q=document.createElement("input");q.setAttribute("type","checkbox");m=mxUtils.button(m||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(q.checked)});m.className="geBtn";null!=u&&(m.innerHTML=u+"<br>"+m.innerHTML,m.style.paddingBottom= +"8px",m.style.paddingTop="8px",m.style.height="auto",m.style.width="40%");a.editor.cancelFirst&&B.appendChild(m);var n=mxUtils.button(l||mxResources.get("ok"),function(){a.hideDialog();null!=e&&e(q.checked)});B.appendChild(n);null!=p?(n.innerHTML=p+"<br>"+n.innerHTML+"<br>",n.style.paddingBottom="8px",n.style.paddingTop="8px",n.style.height="auto",n.className="geBtn",n.style.width="40%"):n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||B.appendChild(m);f.appendChild(B);z?(B.style.marginTop= +"10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(q),l=document.createElement("span"),mxUtils.write(l," "+mxResources.get("rememberThisSetting")),k.appendChild(l),f.appendChild(k),mxEvent.addListener(l,"click",function(a){q.checked=!q.checked;mxEvent.consume(a)})):B.style.marginTop="12px";this.init=function(){n.focus()};this.container=f};function DiagramPage(a,b){this.node=a;null!=b?this.node.setAttribute("id",b):null==this.getId()&&this.node.setAttribute("id",Editor.guid())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")}; DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,b,e){this.ui=a;this.page=b;this.previous=this.name=e}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.name=this.previous;this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))}; function MovePage(a,b,e){this.ui=a;this.oldIndex=b;this.newIndex=e}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))}; function SelectPage(a,b,e){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b),null!=e&&(b.viewState=e,this.neverShown=!1))} -SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,d=Graph.compressNode(b.getGraphXml(!0));mxUtils.setTextContent(a.node,d);a.viewState=e.getViewState();a.root=e.model.root;null!=a.model&&a.model.rootChanged(a.root);e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.prefix=Editor.guid()+"-";e.model.rootChanged(a.root); +SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,c=Graph.compressNode(b.getGraphXml(!0));mxUtils.setTextContent(a.node,c);a.viewState=e.getViewState();a.root=e.model.root;null!=a.model&&a.model.rootChanged(a.root);e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.prefix=Editor.guid()+"-";e.model.rootChanged(a.root); e.setViewState(a.viewState);e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();e.view.validate();e.blockMathRender=!0;e.sizeDidChange();e.blockMathRender=!1;this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}}; -function ChangePage(a,b,e,d,k){SelectPage.call(this,a,e);this.relatedPage=b;this.index=d;this.previousIndex=null;this.noSelect=k}mxUtils.extend(ChangePage,SelectPage); +function ChangePage(a,b,e,c,l){SelectPage.call(this,a,e);this.relatedPage=b;this.index=c;this.previousIndex=null;this.noSelect=l}mxUtils.extend(ChangePage,SelectPage); ChangePage.prototype.execute=function(){this.ui.editor.fireEvent(new mxEventObject("beforePageChange","change",this));this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;this.noSelect||SelectPage.prototype.execute.apply(this,arguments)};EditorUi.prototype.tabContainerHeight=38; EditorUi.prototype.getSelectedPageIndex=function(){var a=null;if(null!=this.pages&&null!=this.currentPage)for(var b=0;b<this.pages.length;b++)if(this.pages[b]==this.currentPage){a=b;break}return a};EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var b=0;b<this.pages.length;b++)if(this.pages[b].getId()==a)return this.pages[b];return null}; -EditorUi.prototype.initPages=function(){if(!this.editor.graph.standalone){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var d=this.tabContainer.style.height; -this.tabContainer.style.height=null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":this.tabContainerHeight+"px";d!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,d=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0, +EditorUi.prototype.initPages=function(){if(!this.editor.graph.standalone){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height; +this.tabContainer.style.height=null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":this.tabContainerHeight+"px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0, a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft=a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),e=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){null!=this.editor&&this.editor.graph.refresh()})): -"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){d();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}}; -EditorUi.prototype.restoreViewState=function(a,b,e){a=null!=a?this.getPageById(a.getId()):null;var d=this.editor.graph;null!=a&&null!=this.currentPage&&null!=this.pages&&(a!=this.currentPage?this.selectPage(a,!0,b):(d.setViewState(b),this.editor.updateGraphComponents(),d.view.revalidate(),d.sizeDidChange()),d.container.scrollLeft=d.view.translate.x*d.view.scale+b.scrollLeft,d.container.scrollTop=d.view.translate.y*d.view.scale+b.scrollTop,d.restoreSelection(e))}; -Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=parseFloat(a.getAttribute("pageScale")),d=parseFloat(a.getAttribute("pageWidth")),k=parseFloat(a.getAttribute("pageHeight")),m=a.getAttribute("background"),p=a.getAttribute("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null,u=a.getAttribute("extFonts");if(u)try{u=u.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}})}catch(y){console.log("ExtFonts format error: "+y.message)}return{gridEnabled:"0"!= -a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=m&&0<m.length?m:null,backgroundImage:null!=p?new mxImage(p.src,p.width,p.height):null,pageScale:isNaN(e)?mxGraph.prototype.pageScale:e,pageFormat:isNaN(d)||isNaN(k)?"undefined"=== -typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat():new mxRectangle(0,0,d,k),tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1,extFonts:u||[]}}; +"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,l=0;l<e.length;l++)if(e[l]instanceof SelectPage||e[l]instanceof RenamePage||e[l]instanceof MovePage||e[l]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}}; +EditorUi.prototype.restoreViewState=function(a,b,e){a=null!=a?this.getPageById(a.getId()):null;var c=this.editor.graph;null!=a&&null!=this.currentPage&&null!=this.pages&&(a!=this.currentPage?this.selectPage(a,!0,b):(c.setViewState(b),this.editor.updateGraphComponents(),c.view.revalidate(),c.sizeDidChange()),c.container.scrollLeft=c.view.translate.x*c.view.scale+b.scrollLeft,c.container.scrollTop=c.view.translate.y*c.view.scale+b.scrollTop,c.restoreSelection(e))}; +Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=parseFloat(a.getAttribute("pageScale")),c=parseFloat(a.getAttribute("pageWidth")),l=parseFloat(a.getAttribute("pageHeight")),m=a.getAttribute("background"),p=a.getAttribute("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null,u=a.getAttribute("extFonts");if(u)try{u=u.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}})}catch(z){console.log("ExtFonts format error: "+z.message)}return{gridEnabled:"0"!= +a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=m&&0<m.length?m:null,backgroundImage:null!=p?new mxImage(p.src,p.width,p.height):null,pageScale:isNaN(e)?mxGraph.prototype.pageScale:e,pageFormat:isNaN(c)||isNaN(l)?"undefined"=== +typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat():new mxRectangle(0,0,c,l),tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1,extFonts:u||[]}}; Graph.prototype.saveViewState=function(a,b,e){e||(b.setAttribute("grid",null==a||a.gridEnabled?"1":"0"),b.setAttribute("gridSize",null!=a?a.gridSize:mxGraph.prototype.gridSize),b.setAttribute("guides",null==a||a.guidesEnabled?"1":"0"),b.setAttribute("tooltips",null==a||a.tooltips?"1":"0"),b.setAttribute("connect",null==a||a.connect?"1":"0"),b.setAttribute("arrows",null==a||a.arrows?"1":"0"),b.setAttribute("page",null==a&&this.defaultPageVisible||null!=a&&a.pageVisible?"1":"0"),b.setAttribute("fold", null==a||a.foldingEnabled?"1":"0"));b.setAttribute("pageScale",null!=a&&null!=a.pageScale?a.pageScale:mxGraph.prototype.pageScale);e=null!=a?a.pageFormat:"undefined"===typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat();null!=e&&(b.setAttribute("pageWidth",e.width),b.setAttribute("pageHeight",e.height));null!=a&&null!=a.background&&b.setAttribute("background",a.background);null!=a&&null!=a.backgroundImage&&b.setAttribute("backgroundImage",JSON.stringify(a.backgroundImage));b.setAttribute("math", null!=a&&a.mathEnabled?"1":"0");b.setAttribute("shadow",null!=a&&a.shadowVisible?"1":"0");null!=a&&null!=a.extFonts&&0<a.extFonts.length&&b.setAttribute("extFonts",a.extFonts.map(function(a){return a.name+"^"+a.url}).join("|"))}; Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(), arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled,extFonts:this.extFonts}}; Graph.prototype.setViewState=function(a,b){if(null!=a){this.lastPasteXml=a.lastPasteXml;this.pasteCounter=a.pasteCounter||0;this.mathEnabled=a.mathEnabled;this.gridEnabled=a.gridEnabled;this.gridSize=a.gridSize;this.graphHandler.guidesEnabled=a.guidesEnabled;this.foldingEnabled=a.foldingEnabled;this.setShadowVisible(a.shadowVisible,!1);this.scrollbars=a.scrollbars;this.pageVisible=!this.isViewer()&&a.pageVisible;this.background=a.background;this.backgroundImage=a.backgroundImage;this.pageScale=a.pageScale; -this.pageFormat=a.pageFormat;this.view.currentRoot=a.currentRoot;this.defaultParent=a.defaultParent;this.connectionArrowsEnabled=a.arrows;this.setTooltips(a.tooltips);this.setConnectable(a.connect);var e=this.extFonts;this.extFonts=a.extFonts||[];if(b&&null!=e)for(var d=0;d<e.length;d++){var k=document.getElementById("extFont_"+e[d].name);null!=k&&k.parentNode.removeChild(k)}for(d=0;d<this.extFonts.length;d++)this.addExtFont(this.extFonts[d].name,this.extFonts[d].url,!0);this.view.scale=null!=a.scale? +this.pageFormat=a.pageFormat;this.view.currentRoot=a.currentRoot;this.defaultParent=a.defaultParent;this.connectionArrowsEnabled=a.arrows;this.setTooltips(a.tooltips);this.setConnectable(a.connect);var e=this.extFonts;this.extFonts=a.extFonts||[];if(b&&null!=e)for(var c=0;c<e.length;c++){var l=document.getElementById("extFont_"+e[c].name);null!=l&&l.parentNode.removeChild(l)}for(c=0;c<this.extFonts.length;c++)this.addExtFont(this.extFonts[c].name,this.extFonts[c].url,!0);this.view.scale=null!=a.scale? a.scale:1;null==this.view.currentRoot||this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null);null==this.defaultParent||this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer());null!=a.translate&&(this.view.translate=a.translate)}else this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat="undefined"===typeof mxSettings?mxGraph.prototype.pageFormat: mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.backgroundImage=this.background=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.setShadowVisible(!1,!1),this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0,this.extFonts=[];this.preferPageSize=this.pageBreaksVisible=this.pageVisible;this.fireEvent(new mxEventObject("viewStateChanged", "state",a))}; -Graph.prototype.addExtFont=function(a,b,e){if(a&&b){var d="extFont_"+a;if(null==document.getElementById(d))if(0==b.indexOf(Editor.GOOGLE_FONTS))mxClient.link("stylesheet",b,null,d);else{var k=document.createElement("style");k.appendChild(document.createTextNode('@font-face {\n\tfont-family: "'+a+'";\n\tsrc: url("'+b+'");\n}'));k.setAttribute("id",d);document.getElementsByTagName("head")[0].appendChild(k)}if(!e){null==this.extFonts&&(this.extFonts=[]);e=this.extFonts;d=!0;for(k=0;k<e.length;k++)if(e[k].name==a){d= -!1;break}d&&this.extFonts.push({name:a,url:b})}}}; +Graph.prototype.addExtFont=function(a,b,e){if(a&&b){var c="extFont_"+a;if(null==document.getElementById(c))if(0==b.indexOf(Editor.GOOGLE_FONTS))mxClient.link("stylesheet",b,null,c);else{var l=document.createElement("style");l.appendChild(document.createTextNode('@font-face {\n\tfont-family: "'+a+'";\n\tsrc: url("'+b+'");\n}'));l.setAttribute("id",c);document.getElementsByTagName("head")[0].appendChild(l)}if(!e){null==this.extFonts&&(this.extFonts=[]);e=this.extFonts;c=!0;for(l=0;l<e.length;l++)if(e[l].name==a){c= +!1;break}c&&this.extFonts.push({name:a,url:b})}}}; EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node),e=Editor.extractParserError(b);if(e)throw Error(e);null!=b?(a.graphModelNode=b,a.viewState=this.editor.graph.createViewState(b),e=new mxCodec(b.ownerDocument),a.root=e.decode(b).root):a.root=this.editor.graph.model.createRoot()}else if(null==a.viewState){if(null==a.graphModelNode){b=this.editor.extractGraphModel(a.node);if(e=Editor.extractParserError(b))throw Error(e);null!=b&&(a.graphModelNode= b)}null!=a.graphModelNode&&(a.viewState=this.editor.graph.createViewState(a.graphModelNode))}return a}; -EditorUi.prototype.selectPage=function(a,b,e){try{if(a!=this.currentPage){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var d=this.editor.graph.model.createUndoableEdit();d.ignoreEdit=!0;var k=new SelectPage(this,a,e);k.execute();d.add(k);d.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",d))}}catch(m){this.handleError(m)}}; +EditorUi.prototype.selectPage=function(a,b,e){try{if(a!=this.currentPage){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var c=this.editor.graph.model.createUndoableEdit();c.ignoreEdit=!0;var l=new SelectPage(this,a,e);l.execute();c.add(l);c.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c))}}catch(m){this.handleError(m)}}; EditorUi.prototype.selectNextPage=function(a){var b=this.currentPage;null!=b&&null!=this.pages&&(b=mxUtils.indexOf(this.pages,b),a?this.selectPage(this.pages[mxUtils.mod(b+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(b-1,this.pages.length)]))}; EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);a=null!=a?a:this.createPage(null,this.createPageId());b=null!=b?b:this.pages.length;var e=new ChangePage(this,a,a,b);this.editor.graph.model.execute(e)}return a};EditorUi.prototype.createPageId=function(){var a;do a=Editor.guid();while(null!=this.getPageById(a));return a}; EditorUi.prototype.createPage=function(a,b){var e=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"),b);e.setName(null!=a?a:this.createPageName());return e};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var e=this.pages[b].getName();null!=e&&0<e.length&&(a[e]=e)}b=this.pages.length;do e=mxResources.get("pageWithNumber",[++b]);while(null!=a[e]);return e}; -EditorUi.prototype.removePage=function(a){try{var b=this.editor.graph,e=mxUtils.indexOf(this.pages,a);if(b.isEnabled()&&0<=e){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b.model.beginUpdate();try{var d=this.currentPage;d==a&&1<this.pages.length?(e==this.pages.length-1?e--:e++,d=this.pages[e]):1>=this.pages.length&&(d=this.insertPage(),b.model.execute(new RenamePage(this,d,mxResources.get("pageWithNumber",[1]))));b.model.execute(new ChangePage(this,a,d))}finally{b.model.endUpdate()}}}catch(k){this.handleError(k)}return a}; -EditorUi.prototype.duplicatePage=function(a,b){var e=null;try{var d=this.editor.graph;if(d.isEnabled()){d.isEditing()&&d.stopEditing();var k=a.node.cloneNode(!1);k.removeAttribute("id");e=new DiagramPage(k);e.root=d.cloneCell(d.model.root);e.viewState=d.getViewState();e.viewState.scale=1;e.viewState.scrollLeft=null;e.viewState.scrollTop=null;e.viewState.currentRoot=null;e.viewState.defaultParent=null;e.setName(b);e=this.insertPage(e,mxUtils.indexOf(this.pages,a)+1)}}catch(m){this.handleError(m)}return e}; +EditorUi.prototype.removePage=function(a){try{var b=this.editor.graph,e=mxUtils.indexOf(this.pages,a);if(b.isEnabled()&&0<=e){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b.model.beginUpdate();try{var c=this.currentPage;c==a&&1<this.pages.length?(e==this.pages.length-1?e--:e++,c=this.pages[e]):1>=this.pages.length&&(c=this.insertPage(),b.model.execute(new RenamePage(this,c,mxResources.get("pageWithNumber",[1]))));b.model.execute(new ChangePage(this,a,c))}finally{b.model.endUpdate()}}}catch(l){this.handleError(l)}return a}; +EditorUi.prototype.duplicatePage=function(a,b){var e=null;try{var c=this.editor.graph;if(c.isEnabled()){c.isEditing()&&c.stopEditing();var l=a.node.cloneNode(!1);l.removeAttribute("id");e=new DiagramPage(l);e.root=c.cloneCell(c.model.root);e.viewState=c.getViewState();e.viewState.scale=1;e.viewState.scrollLeft=null;e.viewState.scrollTop=null;e.viewState.currentRoot=null;e.viewState.defaultParent=null;e.setName(b);e=this.insertPage(e,mxUtils.indexOf(this.pages,a)+1)}}catch(m){this.handleError(m)}return e}; EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var b=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&this.editor.graph.model.execute(new RenamePage(this,a,b))}),mxResources.get("rename"));this.showDialog(b.container,300,80,!0,!0);b.init()}return a};EditorUi.prototype.movePage=function(a,b){this.editor.graph.model.execute(new MovePage(this,a,b))}; EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.className="geTabContainer";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a}; -EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="13px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- -e)/this.pages.length)+1),k=null,m=0;m<this.pages.length;m++)mxUtils.bind(this,function(d,c){this.pages[d]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#fff"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=d):mxEvent.consume(b)}));mxEvent.addListener(c,"dragend",mxUtils.bind(this,function(a){k= -null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=k&&d!=k&&this.movePage(k,d);a.stopPropagation();a.preventDefault()}));b.appendChild(c)})(m,this.createTabForPage(this.pages[m],d,this.pages[m]!=this.currentPage,m+1));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);d=this.createPageMenuTab(); -this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var p=this.createControlTab(4," ❮ ");p.style.position="absolute";p.style.right=this.editor.chromeless?"29px":"55px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var u=this.createControlTab(4," ❯"); -u.style.position="absolute";u.style.right=this.editor.chromeless?"0px":"29px";u.style.fontSize="13pt";this.tabContainer.appendChild(u);var y=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=y+"px";mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,y-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(p,0<b.scrollLeft?100: -50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(u,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,y-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; +EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="13px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- +e)/this.pages.length)+1),l=null,m=0;m<this.pages.length;m++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#fff"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),l=c):mxEvent.consume(b)}));mxEvent.addListener(d,"dragend",mxUtils.bind(this,function(a){l= +null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=l&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=l&&c!=l&&this.movePage(l,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(m,this.createTabForPage(this.pages[m],c,this.pages[m]!=this.currentPage,m+1));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);c=this.createPageMenuTab(); +this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=c&&(c.style.position="absolute",c.style.right="0px",b.style.marginRight="30px");var p=this.createControlTab(4," ❮ ");p.style.position="absolute";p.style.right=this.editor.chromeless?"29px":"55px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var u=this.createControlTab(4," ❯"); +u.style.position="absolute";u.style.right=this.editor.chromeless?"0px":"29px";u.style.fontSize="13pt";this.tabContainer.appendChild(u);var z=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=z+"px";mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,z-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(p,0<b.scrollLeft?100: +50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(u,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,z-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; EditorUi.prototype.createTab=function(a){var b=document.createElement("div");b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.whiteSpace="nowrap";b.style.boxSizing="border-box";b.style.position="relative";b.style.overflow="hidden";b.style.textAlign="center";b.style.marginLeft="-1px";b.style.height=this.tabContainer.clientHeight+"px";b.style.padding="12px 4px 8px 4px";b.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #e8eaed";b.style.borderTopStyle="none";b.style.borderBottomStyle= "none";b.style.backgroundColor=this.tabContainer.style.backgroundColor;b.style.cursor="move";b.style.color="gray";a&&(mxEvent.addListener(b,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(b.style.backgroundColor="dark"==uiTheme?"black":"#e8eaed",mxEvent.consume(a))})),mxEvent.addListener(b,"mouseleave",mxUtils.bind(this,function(a){b.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return b}; EditorUi.prototype.createControlTab=function(a,b){var e=this.createTab(!0);e.style.lineHeight=this.tabContainerHeight+"px";e.style.paddingTop=a+"px";e.style.cursor="pointer";e.style.width="30px";e.innerHTML=b;null!=e.firstChild&&null!=e.firstChild.style&&mxUtils.setOpacity(e.firstChild,40);return e}; -EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;margin-top:5px;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.marginLeft="0px";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var d= -0;d<this.pages.length;d++)mxUtils.bind(this,function(d){var c=a.addItem(this.pages[d].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[d])}),b);this.pages[d]==this.currentPage&&a.addCheckmark(c,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this, -function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var d= -mxEvent.getClientX(a),k=mxEvent.getClientY(a);b.popup(d,k,null,a);this.setCurrentMenu(b);mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a}; -EditorUi.prototype.createTabForPage=function(a,b,e,d){e=this.createTab(e);var k=a.getName()||mxResources.get("untitled"),m=a.getId();e.setAttribute("title",k+(null!=m?" ("+m+")":"")+" ["+d+"]");mxUtils.write(e,k);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e}; -EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,k=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;k=a==this.currentPage;e.isMouseDown||k||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&k||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu(); -this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!d){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var u=mxEvent.getClientX(m),y=mxEvent.getClientY(m);p.popup(u,y,null,m);this.setCurrentMenu(p,b)}mxEvent.consume(m)}}))}; +EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;margin-top:5px;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.marginLeft="0px";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c= +0;c<this.pages.length;c++)mxUtils.bind(this,function(c){var d=a.addItem(this.pages[c].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[c])}),b);this.pages[c]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(c);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this, +function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var c= +mxEvent.getClientX(a),l=mxEvent.getClientY(a);b.popup(c,l,null,a);this.setCurrentMenu(b);mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a}; +EditorUi.prototype.createTabForPage=function(a,b,e,c){e=this.createTab(e);var l=a.getName()||mxResources.get("untitled"),m=a.getId();e.setAttribute("title",l+(null!=m?" ("+m+")":"")+" ["+c+"]");mxUtils.write(e,l);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e}; +EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var c=!1,l=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){c=null!=this.currentMenu;l=a==this.currentPage;e.isMouseDown||l||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&l||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu(); +this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!c){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var u=mxEvent.getClientX(m),z=mxEvent.getClientY(m);p.popup(u,z,null,m);this.setCurrentMenu(p,b)}mxEvent.consume(m)}}))}; EditorUi.prototype.getLinkForPage=function(a){if(!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp){var b=this.getCurrentFile();if(null!=b&&b.constructor!=LocalFile&&"draw.io"==this.getServiceName()){var e=this.getSearch("create title mode url drive splash state".split(" ")),e=e+((0==e.length?"?":"&")+"page-id="+a.getId());return window.location.protocol+"//"+window.location.host+"/"+e+"#"+b.getHash()}}return null}; -EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,d){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),d);var k=this.getLinkForPage(a);null!=k&&(e.addSeparator(d),e.addItem(mxResources.get("link"),null, -mxUtils.bind(this,function(){var a=new EmbedDialog(this,k);this.showDialog(a.container,440,240,!0,!0);a.init()}),d));e.addSeparator(d);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,mxResources.get("copyOf",[a.getName()]))}),d)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})(); -(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){a=d.oldIndex;d.oldIndex=d.newIndex;d.newIndex=a;return d};mxCodecRegistry.register(a)})();(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){a=d.previous;d.previous=d.name;d.name=a;return d};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),b="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,d,k){k.setAttribute("relatedPage",d.relatedPage.getId());null==d.index&&(k.setAttribute("name",d.relatedPage.getName()),null!=d.relatedPage.viewState&&k.setAttribute("viewState",JSON.stringify(d.relatedPage.viewState,function(a,d){return 0>mxUtils.indexOf(b, -a)?d:void 0})),null!=d.relatedPage.root&&a.encodeCell(d.relatedPage.root,k));return k};a.beforeDecode=function(a,b,k){k.ui=a.ui;k.relatedPage=k.ui.getPageById(b.getAttribute("relatedPage"));if(null==k.relatedPage){var d=b.ownerDocument.createElement("diagram");d.setAttribute("id",b.getAttribute("relatedPage"));d.setAttribute("name",b.getAttribute("name"));k.relatedPage=new DiagramPage(d);d=b.getAttribute("viewState");null!=d&&(k.relatedPage.viewState=JSON.parse(d),b.removeAttribute("viewState")); -b=b.cloneNode(!0);d=b.firstChild;if(null!=d)for(k.relatedPage.root=a.decodeCell(d,!1),k=d.nextSibling,d.parentNode.removeChild(d),d=k;null!=d;){k=d.nextSibling;if(d.nodeType==mxConstants.NODETYPE_ELEMENT){var e=d.getAttribute("id");null==a.lookup(e)&&a.decodeCell(d)}d.parentNode.removeChild(d);d=k}}return b};a.afterDecode=function(a,b,k){k.index=k.previousIndex;return k};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png";EditorUi.prototype.altShiftActions[68]= -"selectDescendants";var b=Graph.prototype.foldCells;Graph.prototype.foldCells=function(a,d,e,u,y){d=null!=d?d:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var k=e.slice(),c=[],f=0;f<e.length;f++){var g=this.view.getState(e[f]),m=null!=g?g.style:this.getCellStyle(e[f]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(e[f],!0,mxUtils.bind(this,function(a,b){null!=b&&c.push(b);a!=e[f]&&c.push(a);return a==e[f]||!this.model.isCollapsed(a)})), -this.model.setCollapsed(e[f],a))}for(f=0;f<c.length;f++)this.model.setVisible(c[f],!a);e=k;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return A.isVertex(a)&&e(a)}function d(a){var b=!1;null!=a&&(b=l.view.getState(a),b="1"==(null!=b?b.style:l.getCellStyle(a)).treeMoving); -return b}function e(a){var b=!1;null!=a&&(a=A.getParent(a),b=l.view.getState(a),b="tree"==(null!=b?b.style:l.getCellStyle(a)).containerType);return b}function u(a){var b=!1;null!=a&&(a=A.getParent(a),b=l.view.getState(a),l.view.getState(a),b=null!=(null!=b?b.style:l.getCellStyle(a)).childLayout);return b}function y(a){a=l.view.getState(a);if(null!=a){var b=l.getIncomingEdges(a.cell);if(0<b.length&&(b=l.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y== -a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function B(a,b){b=null!=b?b:!0;l.model.beginUpdate();try{var c=l.model.getParent(a),d=l.getIncomingEdges(a),e=l.cloneCells([d[0],a]);l.model.setTerminal(e[0],l.model.getTerminal(d[0],!0),!0);var f=y(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH|| -f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;l.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=l.view.getState(a),m=l.view.scale;if(null!=k){var n=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var p=l.getOutgoingEdges(l.model.getTerminal(d[0], -!0));if(null!=p){for(var t=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<p.length;q++){var z=l.model.getTerminal(p[q],!1);if(f==y(z)){var u=l.view.getState(z);z!=a&&null!=u&&(t&&b!=u.getCenterX()<k.getCenterX()||!t&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(n,u)&&(d=10+Math.max(d,(Math.min(n.x+n.width,u.x+u.width)-Math.max(n.x,u.x))/m),g=10+Math.max(g,(Math.min(n.y+n.height,u.y+u.height)-Math.max(n.y,u.y))/m))}}t?g=0:d=0;for(q=0;q<p.length;q++)if(z=l.model.getTerminal(p[q], -!1),f==y(z)&&(u=l.view.getState(z),z!=a&&null!=u&&(t&&b!=u.getCenterX()<k.getCenterX()||!t&&b!=u.getCenterY()<k.getCenterY()))){var v=[];l.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});l.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return l.addCells(e,c)}finally{l.model.endUpdate()}}function c(a){l.model.beginUpdate();try{var b=y(a),c=l.getIncomingEdges(a),d=l.cloneCells([c[0],a]);l.model.setTerminal(c[0],d[1],!1);l.model.setTerminal(d[0],d[1],!0);l.model.setTerminal(d[0],a,!1); -var e=l.model.getParent(a),f=e.geometry,g=[];l.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);l.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,m=-m):b==mxConstants.DIRECTION_WEST?(k=-k,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);l.moveCells(g,k,m);return l.addCells(d,e)}finally{l.model.endUpdate()}}function f(a){l.model.beginUpdate();try{var b= -l.model.getParent(a),c=l.getIncomingEdges(a),d=l.cloneCells([c[0],a]);l.model.setTerminal(d[0],a,!0);var c=l.getOutgoingEdges(a),e=b.geometry,f=[];l.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=l.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var m=l.view.getBounds(f),n=y(a),p=l.view.translate,t=l.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/t-p.x-e.x+10,d[1].geometry.y+=d[1].geometry.height- -e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/t-p.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height+e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width+e.x+40):d[1].geometry.x+(d[1].geometry.width-e.x+40),d[1].geometry.y=null==m?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(m.y+m.height)/t-p.y+-e.y+10);return l.addCells(d,b)}finally{l.model.endUpdate()}}function g(a, -b,c){a=l.getOutgoingEdges(a);c=l.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=l.view.getState(l.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function q(a,b){var c=y(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| -c==mxConstants.DIRECTION_WEST)==d&&c!=b?n.actions.get("selectParent").funct():c==b?(d=l.getOutgoingEdges(a),null!=d&&0<d.length&&l.setSelectionCell(l.model.getTerminal(d[0],!1))):(c=l.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(l.model.getTerminal(c[0],!0),d,a),c=l.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&l.setSelectionCell(d[c].cell)))))}var n=this,l=n.editor.graph,A=l.getModel(),x=n.menus.createPopupMenu; -n.menus.createPopupMenu=function(a,c,d){x.apply(this,arguments);if(1==l.getSelectionCount()){c=l.getSelectionCell();var e=l.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(l.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(l.getSelectionCell())&&(a.addSeparator(),0<l.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};n.actions.addAction("selectChildren",function(){if(l.isEnabled()&& -1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(l.model.getTerminal(a[c],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+X");n.actions.addAction("selectSiblings",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=l.getOutgoingEdges(l.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(l.model.getTerminal(a[c], -!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+S");n.actions.addAction("selectParent",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);null!=a&&0<a.length&&l.setSelectionCell(l.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");n.actions.addAction("selectDescendants",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),b=[];l.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});l.setSelectionCells(b)}}, -null,null,"Alt+Shift+D");var t=l.removeCells;l.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var d=[],f=0;f<a.length;f++){var g=a[f];A.isEdge(g)&&e(g)&&(d.push(g),g=A.getTerminal(g,!1));b(g)?(l.traverse(g,!0,function(a,b){null!=b&&d.push(b);d.push(a);return!0}),g=l.getIncomingEdges(a[f]),a=a.concat(g)):d.push(a[f])}a=d;return t.apply(this,arguments)};n.hoverIcons.getStateAt=function(a,c, -d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var F=l.duplicateCells;l.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=l.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=l.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],a)}this.model.beginUpdate();try{var k=F.call(this,a,c);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var m=l.getIncomingEdges(k[e]),g=l.getIncomingEdges(a[e]); -if(0==m.length&&0<g.length){var n=this.cloneCell(g[0]);this.addEdge(n,l.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var z=l.moveCells;l.moveCells=function(a,c,d,e,f,g,k){var m=null;this.model.beginUpdate();try{var n=f,p=this.view.getState(f),t=null!=p?p.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(t,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||l.model.isEdge(a[q])&&null==l.model.getTerminal(a[q],!0)){f=l.model.getParent(a[q]); -break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var u=l.getIncomingEdges(a[0]);if(0<u.length){var v=l.view.getState(l.model.getTerminal(u[0],!0));if(null!=v){var A=l.view.getState(n);null!=A&&(c=(A.getCenterX()-v.getCenterX())/l.view.scale,d=(A.getCenterY()-v.getCenterY())/l.view.scale)}}}}m=z.apply(this,arguments);if(null!=m&&null!=a&&m.length==a.length)for(q=0;q<m.length;q++)if(this.model.isEdge(m[q]))b(n)&&0>mxUtils.indexOf(m,this.model.getTerminal(m[q],!0))&&this.model.setTerminal(m[q], -n,!0);else if(b(a[q])&&(u=l.getIncomingEdges(a[q]),0<u.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(u[0],!0))&&this.model.setTerminal(u[0],n,!0);else if(0==l.getIncomingEdges(m[q]).length){p=n;if(null==p||p==l.model.getParent(a[q]))p=l.model.getTerminal(u[0],!0);e=this.cloneCell(u[0]);this.addEdge(e,l.getDefaultParent(),p,m[q])}}finally{this.model.endUpdate()}return m};if(null!=n.sidebar){var E=n.sidebar.dropAndConnect;n.sidebar.dropAndConnect=function(a,c,d,e){var f=l.model,g=null; -f.beginUpdate();try{if(g=E.apply(this,arguments),b(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var m=l.getCellGeometry(g[k]);m.points=null;null!=m.getTerminalPoint(!0)&&m.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var C={88:n.actions.get("selectChildren"),84:n.actions.get("selectSubtree"),80:n.actions.get("selectParent"),83:n.actions.get("selectSiblings")},v=n.onKeyDown;n.onKeyDown=function(a){try{if(l.isEnabled()&&!l.isEditing()&& -b(l.getSelectionCell())&&1==l.getSelectionCount()){var d=null;0<l.getIncomingEdges(l.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?c(l.getSelectionCell()):f(l.getSelectionCell()):13==a.which&&(d=B(l.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&l.model.isEdge(d[0])?l.setSelectionCell(l.model.getTerminal(d[0],!1)):l.setSelectionCell(d[d.length-1]),null!=n.hoverIcons&&n.hoverIcons.update(l.view.getState(l.getSelectionCell())),l.startEditingAtCell(l.getSelectionCell()), -mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=C[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(q(l.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(q(l.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(q(l.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(q(l.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(ba){console.log("error", -ba)}mxEvent.isConsumed(a)||v.apply(this,arguments)};var J=l.connectVertex;l.connectVertex=function(a,d,e,g,k,m){var n=l.getIncomingEdges(a);return b(a)&&0<n.length?(e=y(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,e==d?f(a):g==k?c(a):B(a,d!=mxConstants.DIRECTION_NORTH&&d!=mxConstants.DIRECTION_WEST)):J.call(this,a,d,e,g,k,m)};l.getSubtree=function(a){var c=[a];!d(a)&&!b(a)||u(a)||l.traverse(a,!0,function(a,b){null!= -b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var L=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){L.apply(this,arguments);(d(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px", +EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,c){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),c);var l=this.getLinkForPage(a);null!=l&&(e.addSeparator(c),e.addItem(mxResources.get("link"),null, +mxUtils.bind(this,function(){var a=new EmbedDialog(this,l);this.showDialog(a.container,440,240,!0,!0);a.init()}),c));e.addSeparator(c);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})(); +(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){a=c.oldIndex;c.oldIndex=c.newIndex;c.newIndex=a;return c};mxCodecRegistry.register(a)})();(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){a=c.previous;c.previous=c.name;c.name=a;return c};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),b="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,c,l){l.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(l.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.viewState&&l.setAttribute("viewState",JSON.stringify(c.relatedPage.viewState,function(a,c){return 0>mxUtils.indexOf(b, +a)?c:void 0})),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,l));return l};a.beforeDecode=function(a,b,l){l.ui=a.ui;l.relatedPage=l.ui.getPageById(b.getAttribute("relatedPage"));if(null==l.relatedPage){var c=b.ownerDocument.createElement("diagram");c.setAttribute("id",b.getAttribute("relatedPage"));c.setAttribute("name",b.getAttribute("name"));l.relatedPage=new DiagramPage(c);c=b.getAttribute("viewState");null!=c&&(l.relatedPage.viewState=JSON.parse(c),b.removeAttribute("viewState")); +b=b.cloneNode(!0);c=b.firstChild;if(null!=c)for(l.relatedPage.root=a.decodeCell(c,!1),l=c.nextSibling,c.parentNode.removeChild(c),c=l;null!=c;){l=c.nextSibling;if(c.nodeType==mxConstants.NODETYPE_ELEMENT){var e=c.getAttribute("id");null==a.lookup(e)&&a.decodeCell(c)}c.parentNode.removeChild(c);c=l}}return b};a.afterDecode=function(a,b,l){l.index=l.previousIndex;return l};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png";EditorUi.prototype.altShiftActions[68]= +"selectDescendants";var b=Graph.prototype.foldCells;Graph.prototype.foldCells=function(a,c,e,u,z){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var l=e.slice(),d=[],f=0;f<e.length;f++){var k=this.view.getState(e[f]),m=null!=k?k.style:this.getCellStyle(e[f]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(e[f],!0,mxUtils.bind(this,function(a,b){null!=b&&d.push(b);a!=e[f]&&d.push(a);return a==e[f]||!this.model.isCollapsed(a)})), +this.model.setCollapsed(e[f],a))}for(f=0;f<d.length;f++)this.model.setVisible(d[f],!a);e=l;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return A.isVertex(a)&&e(a)}function c(a){var b=!1;null!=a&&(b=g.view.getState(a),b="1"==(null!=b?b.style:g.getCellStyle(a)).treeMoving); +return b}function e(a){var b=!1;null!=a&&(a=A.getParent(a),b=g.view.getState(a),b="tree"==(null!=b?b.style:g.getCellStyle(a)).containerType);return b}function u(a){var b=!1;null!=a&&(a=A.getParent(a),b=g.view.getState(a),g.view.getState(a),b=null!=(null!=b?b.style:g.getCellStyle(a)).childLayout);return b}function z(a){a=g.view.getState(a);if(null!=a){var b=g.getIncomingEdges(a.cell);if(0<b.length&&(b=g.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y== +a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function B(a,b){b=null!=b?b:!0;g.model.beginUpdate();try{var c=g.model.getParent(a),d=g.getIncomingEdges(a),e=g.cloneCells([d[0],a]);g.model.setTerminal(e[0],g.model.getTerminal(d[0],!0),!0);var f=z(a),k=c.geometry;f==mxConstants.DIRECTION_SOUTH|| +f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;g.view.currentRoot!=c&&(e[1].geometry.x-=k.x,e[1].geometry.y-=k.y);var l=g.view.getState(a),m=g.view.scale;if(null!=l){var n=mxRectangle.fromRectangle(l);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var p=g.getOutgoingEdges(g.model.getTerminal(d[0], +!0));if(null!=p){for(var t=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=k=d=0;q<p.length;q++){var y=g.model.getTerminal(p[q],!1);if(f==z(y)){var u=g.view.getState(y);y!=a&&null!=u&&(t&&b!=u.getCenterX()<l.getCenterX()||!t&&b!=u.getCenterY()<l.getCenterY())&&mxUtils.intersects(n,u)&&(d=10+Math.max(d,(Math.min(n.x+n.width,u.x+u.width)-Math.max(n.x,u.x))/m),k=10+Math.max(k,(Math.min(n.y+n.height,u.y+u.height)-Math.max(n.y,u.y))/m))}}t?k=0:d=0;for(q=0;q<p.length;q++)if(y=g.model.getTerminal(p[q], +!1),f==z(y)&&(u=g.view.getState(y),y!=a&&null!=u&&(t&&b!=u.getCenterX()<l.getCenterX()||!t&&b!=u.getCenterY()<l.getCenterY()))){var v=[];g.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});g.moveCells(v,(b?1:-1)*d,(b?1:-1)*k)}}}return g.addCells(e,c)}finally{g.model.endUpdate()}}function d(a){g.model.beginUpdate();try{var b=z(a),c=g.getIncomingEdges(a),d=g.cloneCells([c[0],a]);g.model.setTerminal(c[0],d[1],!1);g.model.setTerminal(d[0],d[1],!0);g.model.setTerminal(d[0],a,!1); +var e=g.model.getParent(a),f=e.geometry,k=[];g.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);g.traverse(a,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});var l=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?l=0:b==mxConstants.DIRECTION_NORTH?(l=0,m=-m):b==mxConstants.DIRECTION_WEST?(l=-l,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);g.moveCells(k,l,m);return g.addCells(d,e)}finally{g.model.endUpdate()}}function f(a){g.model.beginUpdate();try{var b= +g.model.getParent(a),c=g.getIncomingEdges(a),d=g.cloneCells([c[0],a]);g.model.setTerminal(d[0],a,!0);var c=g.getOutgoingEdges(a),e=b.geometry,f=[];g.view.currentRoot==b&&(e=new mxRectangle);for(var k=0;k<c.length;k++){var l=g.model.getTerminal(c[k],!1);null!=l&&f.push(l)}var m=g.view.getBounds(f),n=z(a),p=g.view.translate,t=g.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/t-p.x-e.x+10,d[1].geometry.y+=d[1].geometry.height- +e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/t-p.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height+e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width+e.x+40):d[1].geometry.x+(d[1].geometry.width-e.x+40),d[1].geometry.y=null==m?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(m.y+m.height)/t-p.y+-e.y+10);return g.addCells(d,b)}finally{g.model.endUpdate()}}function k(a, +b,d){a=g.getOutgoingEdges(a);d=g.view.getState(d);var c=[];if(null!=d&&null!=a){for(var e=0;e<a.length;e++){var f=g.view.getState(g.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,d.x+d.width)>=Math.max(f.x,d.x)||b&&Math.min(f.y+f.height,d.y+d.height)>=Math.max(f.y,d.y))&&c.push(f)}c.sort(function(a,d){return b?a.x+a.width-d.x-d.width:a.y+a.height-d.y-d.height})}return c}function q(a,b){var d=z(a),c=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(d==mxConstants.DIRECTION_EAST|| +d==mxConstants.DIRECTION_WEST)==c&&d!=b?n.actions.get("selectParent").funct():d==b?(c=g.getOutgoingEdges(a),null!=c&&0<c.length&&g.setSelectionCell(g.model.getTerminal(c[0],!1))):(d=g.getIncomingEdges(a),null!=d&&0<d.length&&(c=k(g.model.getTerminal(d[0],!0),c,a),d=g.view.getState(a),null!=d&&(d=mxUtils.indexOf(c,d),0<=d&&(d+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=d&&d<=c.length-1&&g.setSelectionCell(c[d].cell)))))}var n=this,g=n.editor.graph,A=g.getModel(),x=n.menus.createPopupMenu; +n.menus.createPopupMenu=function(a,d,c){x.apply(this,arguments);if(1==g.getSelectionCount()){d=g.getSelectionCell();var e=g.getOutgoingEdges(d);a.addSeparator();null!=e&&0<e.length&&(b(g.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,c),this.addMenuItems(a,["selectDescendants"],null,c));b(g.getSelectionCell())&&(a.addSeparator(),0<g.getIncomingEdges(d).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,c))}};n.actions.addAction("selectChildren",function(){if(g.isEnabled()&& +1==g.getSelectionCount()){var a=g.getSelectionCell(),a=g.getOutgoingEdges(a);if(null!=a){for(var b=[],d=0;d<a.length;d++)b.push(g.model.getTerminal(a[d],!1));g.setSelectionCells(b)}}},null,null,"Alt+Shift+X");n.actions.addAction("selectSiblings",function(){if(g.isEnabled()&&1==g.getSelectionCount()){var a=g.getSelectionCell(),a=g.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=g.getOutgoingEdges(g.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],d=0;d<a.length;d++)b.push(g.model.getTerminal(a[d], +!1));g.setSelectionCells(b)}}},null,null,"Alt+Shift+S");n.actions.addAction("selectParent",function(){if(g.isEnabled()&&1==g.getSelectionCount()){var a=g.getSelectionCell(),a=g.getIncomingEdges(a);null!=a&&0<a.length&&g.setSelectionCell(g.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");n.actions.addAction("selectDescendants",function(){if(g.isEnabled()&&1==g.getSelectionCount()){var a=g.getSelectionCell(),b=[];g.traverse(a,!0,function(a,d){null!=d&&b.push(d);b.push(a);return!0});g.setSelectionCells(b)}}, +null,null,"Alt+Shift+D");var t=g.removeCells;g.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var c=[],f=0;f<a.length;f++){var k=a[f];A.isEdge(k)&&e(k)&&(c.push(k),k=A.getTerminal(k,!1));b(k)?(g.traverse(k,!0,function(a,b){null!=b&&c.push(b);c.push(a);return!0}),k=g.getIncomingEdges(a[f]),a=a.concat(k)):c.push(a[f])}a=c;return t.apply(this,arguments)};n.hoverIcons.getStateAt=function(a,d, +c){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(d,c))};var E=g.duplicateCells;g.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();for(var c=a.slice(0),e=0;e<c.length;e++){var f=g.view.getState(c[e]);if(null!=f&&b(f.cell))for(var k=g.getIncomingEdges(f.cell),f=0;f<k.length;f++)mxUtils.remove(k[f],a)}this.model.beginUpdate();try{var l=E.call(this,a,d);if(l.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var m=g.getIncomingEdges(l[e]),k=g.getIncomingEdges(a[e]); +if(0==m.length&&0<k.length){var n=this.cloneCell(k[0]);this.addEdge(n,g.getDefaultParent(),this.model.getTerminal(k[0],!0),l[e])}}}finally{this.model.endUpdate()}return l};var y=g.moveCells;g.moveCells=function(a,d,c,e,f,k,l){var m=null;this.model.beginUpdate();try{var n=f,p=this.view.getState(f),t=null!=p?p.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(t,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||g.model.isEdge(a[q])&&null==g.model.getTerminal(a[q],!0)){f=g.model.getParent(a[q]); +break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var u=g.getIncomingEdges(a[0]);if(0<u.length){var v=g.view.getState(g.model.getTerminal(u[0],!0));if(null!=v){var x=g.view.getState(n);null!=x&&(d=(x.getCenterX()-v.getCenterX())/g.view.scale,c=(x.getCenterY()-v.getCenterY())/g.view.scale)}}}}m=y.apply(this,arguments);if(null!=m&&null!=a&&m.length==a.length)for(q=0;q<m.length;q++)if(this.model.isEdge(m[q]))b(n)&&0>mxUtils.indexOf(m,this.model.getTerminal(m[q],!0))&&this.model.setTerminal(m[q], +n,!0);else if(b(a[q])&&(u=g.getIncomingEdges(a[q]),0<u.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(u[0],!0))&&this.model.setTerminal(u[0],n,!0);else if(0==g.getIncomingEdges(m[q]).length){p=n;if(null==p||p==g.model.getParent(a[q]))p=g.model.getTerminal(u[0],!0);e=this.cloneCell(u[0]);this.addEdge(e,g.getDefaultParent(),p,m[q])}}finally{this.model.endUpdate()}return m};if(null!=n.sidebar){var D=n.sidebar.dropAndConnect;n.sidebar.dropAndConnect=function(a,d,c,e){var f=g.model,k=null; +f.beginUpdate();try{if(k=D.apply(this,arguments),b(a))for(var l=0;l<k.length;l++)if(f.isEdge(k[l])&&null==f.getTerminal(k[l],!0)){f.setTerminal(k[l],a,!0);var m=g.getCellGeometry(k[l]);m.points=null;null!=m.getTerminalPoint(!0)&&m.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return k}}var C={88:n.actions.get("selectChildren"),84:n.actions.get("selectSubtree"),80:n.actions.get("selectParent"),83:n.actions.get("selectSiblings")},v=n.onKeyDown;n.onKeyDown=function(a){try{if(g.isEnabled()&&!g.isEditing()&& +b(g.getSelectionCell())&&1==g.getSelectionCount()){var c=null;0<g.getIncomingEdges(g.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(g.getSelectionCell()):f(g.getSelectionCell()):13==a.which&&(c=B(g.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&g.model.isEdge(c[0])?g.setSelectionCell(g.model.getTerminal(c[0],!1)):g.setSelectionCell(c[c.length-1]),null!=n.hoverIcons&&n.hoverIcons.update(g.view.getState(g.getSelectionCell())),g.startEditingAtCell(g.getSelectionCell()), +mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=C[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(q(g.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(q(g.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(q(g.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(q(g.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(ba){console.log("error", +ba)}mxEvent.isConsumed(a)||v.apply(this,arguments)};var J=g.connectVertex;g.connectVertex=function(a,c,e,k,l,m){var n=g.getIncomingEdges(a);return b(a)&&0<n.length?(e=z(a),k=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,l=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):k==l?d(a):B(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):J.call(this,a,c,e,k,l,m)};g.getSubtree=function(a){var d=[a];!c(a)&&!b(a)||u(a)||g.traverse(a,!0,function(a,b){null!= +b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var L=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){L.apply(this,arguments);(c(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px", this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a),this.graph.getSubtree(this.state.cell));this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;n.hoverIcons.reset();mxEvent.consume(a)})))};var I=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles= -function(){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var N=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(a){N.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.display=a?"":"none")};var D=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= -function(a,b){D.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex= -!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");b.vertex=!0;var d=new mxCell("Topic", -new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");d.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);d.insertEdge(e,!1);var c=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;"); -c.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);c.insertEdge(f,!1);var g=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");g.vertex=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); -k.geometry.relative=!0;k.edge=!0;b.insertEdge(k,!0);g.insertEdge(k,!1);var m=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");m.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); -l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);m.insertEdge(l,!1);a.insert(e);a.insert(f);a.insert(k);a.insert(l);a.insert(b);a.insert(d);a.insert(c);a.insert(g);a.insert(m);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex= +function(){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var N=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(a){N.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.display=a?"":"none")};var F=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= +function(a,b){F.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),b=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex= +!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");b.vertex=!0;var c=new mxCell("Topic", +new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);c.insertEdge(e,!1);var d=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;"); +d.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);d.insertEdge(f,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); +l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);k.insertEdge(l,!1);var m=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");m.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); +g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);m.insertEdge(g,!1);a.insert(e);a.insert(f);a.insert(l);a.insert(g);a.insert(b);a.insert(c);a.insert(d);a.insert(k);a.insert(m);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex= !0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("", new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;"); a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;"); -a.vertex=!0;var d=new mxCell("Organization",new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(d,"treeRoot","1");d.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");e.vertex=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;"); -k.geometry.relative=!0;k.edge=!0;d.insertEdge(k,!0);e.insertEdge(k,!1);var c=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");c.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");f.geometry.relative=!0;f.edge=!0;d.insertEdge(f,!0);c.insertEdge(f,!1);a.insert(k);a.insert(f);a.insert(d);a.insert(e); -a.insert(c);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division", +a.vertex=!0;var c=new mxCell("Organization",new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(c,"treeRoot","1");c.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");e.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;"); +l.geometry.relative=!0;l.edge=!0;c.insertEdge(l,!0);e.insertEdge(l,!1);var d=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");d.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");f.geometry.relative=!0;f.edge=!0;c.insertEdge(f,!0);d.insertEdge(f,!1);a.insert(l);a.insert(f);a.insert(c);a.insert(e); +a.insert(d);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division", new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections", -function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var d=new mxCell("Sub Section", -new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");d.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");e.geometry.setTerminalPoint(new mxPoint(110,-40),!0);e.geometry.relative=!0;e.edge=!0;d.insertEdge(e,!1);return sb.createVertexTemplateFromCells([b,e,a,d],220,60, -"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(566,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& -a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,218);a.sidebarWindow=new k(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;cusor:pointer;"; -g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";d.innerHTML='<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries|| -"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom="0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d, -"click",a.actions.get("newLibrary").funct);d=document.createElement("div");d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d= -c("newLibrary",mxResources.get("newLibrary")),d.style.boxSizing="border-box",d.style.paddingRight="6px",d.style.paddingLeft="6px",d.style.height="32px",d.style.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.boxSizing="border-box",d.style.paddingRight="6px",d.style.paddingLeft="6px",d.style.height="32px",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0, +function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section", +new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");e.geometry.setTerminalPoint(new mxPoint(110,-40),!0);e.geometry.relative=!0;e.edge=!0;c.insertEdge(e,!1);return sb.createVertexTemplateFromCells([b,e,a,c],220,60, +"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new l(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(566,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& +a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var d=Math.min(b.container.clientWidth-10,218);a.sidebarWindow=new l(a,mxResources.get("shapes"),10,56,d-6,Math.min(650,b.container.clientHeight-30),function(b){function d(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;cusor:pointer;"; +g.className="geTitle";b.appendChild(g);return g}var c=document.createElement("div");c.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";c.className="geTitle";c.innerHTML='<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(c,mxResources.get("moreShapes"));b.appendChild(c);mxEvent.addListener(c,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries|| +"1"==urlParams.embed&&"1"!=urlParams.libraries)c.style.bottom="0";else if(null!=a.actions.get("newLibrary")){c=document.createElement("div");c.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";c.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c, +"click",a.actions.get("newLibrary").funct);c=document.createElement("div");c.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";c.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("openLibrary").funct)}else c= +d("newLibrary",mxResources.get("newLibrary")),c.style.boxSizing="border-box",c.style.paddingRight="6px",c.style.paddingLeft="6px",c.style.height="32px",c.style.left="0",c=d("openLibraryFrom",mxResources.get("openLibraryFrom")),c.style.borderLeft="1px solid lightgray",c.style.boxSizing="border-box",c.style.paddingRight="6px",c.style.paddingLeft="6px",c.style.height="32px",c.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0, 0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth; -try{var d=document.createElement("style");d.type="text/css";d.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0; }html body table.mxWindow td.mxWindowPane div.mxWindowPane *:not(svg *) { font-size:9pt; }table.mxWindow * { font-size:13px; }html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }html body a.geMenuItem { opacity: 0.75; cursor: pointer; user-select:none; }html body a.geMenuItem[disabled] { opacity: 0.2; }html body a.geMenuItem[disabled]:active { opacity: 0.2; }html body div.geActivePage { opacity: 0.7; }html body a.geMenuItem:active { opacity: 0.2; }html body .geToolbarButton { opacity: 0.3; }html body .geToolbarButton:active { opacity: 0.15; }html body .geStatus:active { opacity: 0.5; }html table.mxPopupMenu tr.mxPopupMenuItemHover:active { opacity:0.7; }html body .geDialog input, html body .geToolbarContainer input, html body .mxWindow input {padding:2px;display:inline-block; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; border: none !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-style: solid; border-width: 1px; border-color: rgb(216, 216, 216); }html body div.diagramContainer button:hover, html body .mxWindow button:hover, html body .geDialog button:hover { border-color: rgb(177, 177, 177); }html body div.diagramContainer button:active, html body .mxWindow button:active, html body .geDialog button:active { opacity: 0.6; }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:0px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }.geToolbarContainer { background:#fff !important; }div.geSidebarContainer { background-color: #ffffff; }div.geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color: #A0A0A0 !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.4) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"+ -(mxClient.IS_IOS?"html input[type=checkbox], html input[type=radio] { height:12px; }":"");document.getElementsByTagName("head")[0].appendChild(d)}catch(l){}var k=function(a,b,c,d,e,f,g){var l=document.createElement("div");l.className="geSidebarContainer";l.style.position="absolute";l.style.width="100%";l.style.height="100%";l.style.border="1px solid whiteSmoke";l.style.overflowX="hidden";l.style.overflowY="auto";g(l);this.window=new mxWindow(b,l,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1); +try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0; }html body table.mxWindow td.mxWindowPane div.mxWindowPane *:not(svg *) { font-size:9pt; }table.mxWindow * { font-size:13px; }html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }html body a.geMenuItem { opacity: 0.75; cursor: pointer; user-select:none; }html body a.geMenuItem[disabled] { opacity: 0.2; }html body a.geMenuItem[disabled]:active { opacity: 0.2; }html body div.geActivePage { opacity: 0.7; }html body a.geMenuItem:active { opacity: 0.2; }html body .geToolbarButton { opacity: 0.3; }html body .geToolbarButton:active { opacity: 0.15; }html body .geStatus:active { opacity: 0.5; }html table.mxPopupMenu tr.mxPopupMenuItemHover:active { opacity:0.7; }html body .geDialog input, html body .geToolbarContainer input, html body .mxWindow input {padding:2px;display:inline-block; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; border: none !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-style: solid; border-width: 1px; border-color: rgb(216, 216, 216); }html body div.diagramContainer button:hover, html body .mxWindow button:hover, html body .geDialog button:hover { border-color: rgb(177, 177, 177); }html body div.diagramContainer button:active, html body .mxWindow button:active, html body .geDialog button:active { opacity: 0.6; }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:0px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }.geToolbarContainer { background:#fff !important; }div.geSidebarContainer { background-color: #ffffff; }div.geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color: #A0A0A0 !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.4) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"+ +(mxClient.IS_IOS?"html input[type=checkbox], html input[type=radio] { height:12px; }":"");document.getElementsByTagName("head")[0].appendChild(c)}catch(g){}var l=function(a,b,c,d,e,f,k){var g=document.createElement("div");g.className="geSidebarContainer";g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke";g.style.overflowX="hidden";g.style.overflowY="auto";k(g);this.window=new mxWindow(b,g,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1); this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};mxClient.IS_SF&& (this.window.div.onselectstart=mxUtils.bind(this,function(b){null==b&&(b=window.event);return null!=b&&a.isSelectionAllowed(b)}))};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src;mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src; mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>');mxOutline.prototype.sizerImage=null;mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR= "#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH=5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor= "#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.toolbarHeight=46;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var m=EditorUi.prototype.updateTabContainer;EditorUi.prototype.updateTabContainer= function(){null!=this.tabContainer&&(this.tabContainer.style.right="70px",this.diagramContainer.style.bottom=this.tabContainerHeight+"px");m.apply(this,arguments)};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var u=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title", -b.shortcut):u.apply(this,arguments)};var y=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){y.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="position:relative;margin-right:4px;cursor:pointer;display:"+a.style.display;a.className="geToolbarButton";a.innerHTML="";a.style.backgroundImage="url("+Editor.userImage+")";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height= +b.shortcut):u.apply(this,arguments)};var z=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){z.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="position:relative;margin-right:4px;cursor:pointer;display:"+a.style.display;a.className="geToolbarButton";a.innerHTML="";a.style.backgroundImage="url("+Editor.userImage+")";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height= "24px";a.style.width="24px";a.style.cssFloat="right";a.setAttribute("title",mxResources.get("changeUser"));"none"!=a.style.display&&(a.style.display="inline-block")}};var B=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){B.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="geToolbarButton";a.innerHTML="";a.style.backgroundImage= "url("+Editor.shareImage+")";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px"}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="8px";a.style.marginRight="4px";var b=document.createElement("a");b.className="geMenuItem gePrimaryBtn";b.style.marginLeft= "8px";b.style.padding="6px";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)):(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),a.appendChild(b), "1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geMenuItem",b.style.marginLeft="6px",b.style.padding="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.marginLeft= -"6px";b.style.padding="6px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.buttonContainer.appendChild(a);this.buttonContainer.style.top="6px"}};Sidebar.prototype.getTooltipOffset=function(){var a=mxUtils.getOffset(this.editorUi.sidebarWindow.window.div);a.y+=40;return a};var c=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,d){var e=this.editorUi.editor.graph;a.smartSeparators=!0;c.apply(this,arguments); -mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==e.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-","editStyle","editGeometry","-"],null,d),e.isCellFoldable(e.getSelectionCell())&&this.addMenuItems(a,e.isCellCollapsed(b)?["expand"]:["collapse"],null,d),this.addMenuItems(a,["collapsible","-","lockUnlock","enterGroup"], -null,d),a.addSeparator(),this.addSubmenu("layout",a)):e.isSelectionEmpty()&&e.isEnabled()?(a.addSeparator(),this.addMenuItems(a,["editData"],null,d),a.addSeparator(),this.addSubmenu("layout",a),this.addSubmenu("view",a,null,mxResources.get("options")),this.addMenuItems(a,["-","exitGroup"],null,d)):e.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,d)};EditorUi.prototype.toggleFormatPanel=function(b){null!=this.formatWindow?this.formatWindow.window.setVisible(b?!1:!this.formatWindow.window.isVisible()): +"6px";b.style.padding="6px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.buttonContainer.appendChild(a);this.buttonContainer.style.top="6px"}};Sidebar.prototype.getTooltipOffset=function(){var a=mxUtils.getOffset(this.editorUi.sidebarWindow.window.div);a.y+=40;return a};var d=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var e=this.editorUi.editor.graph;a.smartSeparators=!0;d.apply(this,arguments); +mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==e.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-","editStyle","editGeometry","-"],null,c),e.isCellFoldable(e.getSelectionCell())&&this.addMenuItems(a,e.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["collapsible","-","lockUnlock","enterGroup"], +null,c),a.addSeparator(),this.addSubmenu("layout",a)):e.isSelectionEmpty()&&e.isEnabled()?(a.addSeparator(),this.addMenuItems(a,["editData"],null,c),a.addSeparator(),this.addSubmenu("layout",a),this.addSubmenu("view",a,null,mxResources.get("options")),this.addMenuItems(a,["-","exitGroup"],null,c)):e.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(b){null!=this.formatWindow?this.formatWindow.window.setVisible(b?!1:!this.formatWindow.window.isVisible()): a(this)};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var f=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&(this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(), -this.actions.outlineWindow=null);null!=this.actions.layersWindow&&(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);f.apply(this,arguments)};var g= -EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=function(a){g.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var q=Menus.prototype.init;Menus.prototype.init=function(){q.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("editDiagram").label=mxResources.get("formatXml")+"...";c.actions.get("createShape").label= +this.actions.outlineWindow=null);null!=this.actions.layersWindow&&(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);f.apply(this,arguments)};var k= +EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=function(a){k.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var q=Menus.prototype.init;Menus.prototype.init=function(){q.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("editDiagram").label=mxResources.get("formatXml")+"...";c.actions.get("createShape").label= mxResources.get("shape")+"...";c.actions.get("outline").label=mxResources.get("outline")+"...";c.actions.get("layers").label=mxResources.get("layers")+"...";c.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){d.popupMenuHandler.hideMenu();c.showImportCsvDialog()}));c.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a=new ParseDialog(c,"Insert from Text");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("formatSql",new Action(mxResources.get("formatSql")+ "...",function(){var a=new ParseDialog(c,"Insert from Text","formatSql");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){b(c)}));c.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(c)}));EditorUi.enablePlantUml&&!c.isOffline()&&c.actions.put("plantUml",new Action(mxResources.get("plantUml")+"...",function(){var a=new ParseDialog(c,"Insert from Text","plantUml");c.showDialog(a.container, 620,420,!0,!1);a.init()}));this.put("diagram",new Menu(mxUtils.bind(this,function(a,b){var d=c.getCurrentFile();c.menus.addSubmenu("extras",a,b,mxResources.get("preferences"));a.addSeparator(b);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(c.menus.addMenuItems(a,["new","open","-"],b),EditorUi.isElectronApp&&c.menus.addMenuItems(a,["synchronize","-"],b),c.menus.addMenuItems(a,["save","saveAs","-"],b)):"1"==urlParams.embed?(c.menus.addMenuItems(a,["-","save"],b),"1"==urlParams.saveAndExit&&c.menus.addMenuItems(a, @@ -3497,95 +3498,95 @@ b);c.commentsSupported()&&c.menus.addMenuItems(a,["comments"],b);c.menus.addMenu b):(c.menus.addMenuItems(a,["save","saveAs","-","rename"],b),c.isOfflineApp()?navigator.onLine&&"1"!=urlParams.stealth&&this.addMenuItems(a,["upload"],b):c.menus.addMenuItems(a,["makeCopy"],b));c.menus.addMenuItems(a,["-","autosave"],b);null!=d&&d.isRevisionHistorySupported()&&c.menus.addMenuItems(a,["-","revisionHistory"],b)})));var e=this.get("exportAs");this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){e.funct(a,b);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||c.menus.addMenuItems(a, ["publishLink"],b);a.addSeparator(b);c.menus.addSubmenu("embed",a,b)})));var f=this.get("language");this.put("extras",new Menu(mxUtils.bind(this,function(a,b){"1"!=urlParams.embed&&c.menus.addSubmenu("theme",a,b);null!=f&&c.menus.addSubmenu("language",a,b);c.menus.addSubmenu("units",a,b);a.addSeparator(b);c.menus.addMenuItems(a,["scrollbars","tooltips","ruler"],b);"1"!=urlParams.embed&&(isLocalStorage||mxClient.IS_CHROMEAPP)&&c.menus.addMenuItems(a,["-","search","scratchpad","-","showStartScreen"], b);!c.isOfflineApp()&&isLocalStorage&&c.menus.addMenuItem(a,"plugins",b);a.addSeparator(b);c.menus.addMenuItem(a,"drawConfig",b);a.addSeparator(b)})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"importText plantUml - formatSql importCsv - createShape editDiagram".split(" "),b)})));this.put("insert",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "), -b);c.insertTemplateEnabled&&!c.isOffline()&&c.menus.addMenuItems(a,["insertTemplate"],b);a.addSeparator(b);this.addMenuItems(a,["createShape","insertFreehand","-"],b);this.addSubmenu("insertLayout",a,b,mxResources.get("layout"));this.addSubmenu("insertAdvanced",a,b,mxResources.get("advanced"));a.addSeparator(b);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.menus.addMenuItems(a,["import"],b):c.menus.addSubmenu("importFrom",a,b)})));var g="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "), -k=function(a,b,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);a.init()}),b)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<g.length;c++)"-"==g[c]?a.addSeparator(b):k(a,b,mxResources.get(g[c])+"...",g[c])})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"grid guides ruler - connectionArrows connectionPoints -".split(" "),b);if("undefined"!==typeof MathJax){var d= -c.menus.addMenuItem(a,"mathematicalTypesetting",b);c.menus.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}c.menus.addMenuItems(a,["copyConnect","collapseExpand","-","pageScale"],b)})))};var n=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c){var d=k.menus.get(a),e=u.addMenu(mxResources.get(a),mxUtils.bind(this,function(){d.funct.apply(this,arguments)}),q);e.className="geMenuItem";e.style.display="inline-block";e.style.boxSizing="border-box"; -e.style.top="6px";e.style.marginRight="6px";e.style.height="30px";e.style.paddingTop="6px";e.style.paddingBottom="6px";e.style.cursor="pointer";e.setAttribute("title",mxResources.get(a));k.menus.menuCreated(d,e,"geMenuItem");null!=c?(e.style.backgroundImage="url("+c+")",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",e.style.backgroundSize="24px 24px",e.style.width="34px",e.innerHTML=""):b||(e.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",e.style.backgroundPosition= -"right 6px center",e.style.backgroundRepeat="no-repeat",e.style.paddingRight="22px");return e}function c(a,b,c,d,e,f){var g=document.createElement("a");g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";null!=k.statusContainer?p.insertBefore(g,k.statusContainer):p.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition= +b);c.insertTemplateEnabled&&!c.isOffline()&&c.menus.addMenuItems(a,["insertTemplate"],b);a.addSeparator(b);this.addMenuItems(a,["createShape","insertFreehand","-"],b);this.addSubmenu("insertLayout",a,b,mxResources.get("layout"));this.addSubmenu("insertAdvanced",a,b,mxResources.get("advanced"));a.addSeparator(b);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.menus.addMenuItems(a,["import"],b):c.menus.addSubmenu("importFrom",a,b)})));var k="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "), +l=function(a,b,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);a.init()}),b)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):l(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"grid guides ruler - connectionArrows connectionPoints -".split(" "),b);if("undefined"!==typeof MathJax){var d= +c.menus.addMenuItem(a,"mathematicalTypesetting",b);c.menus.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}c.menus.addMenuItems(a,["copyConnect","collapseExpand","-","pageScale"],b)})))};var n=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c){var d=l.menus.get(a),e=u.addMenu(mxResources.get(a),mxUtils.bind(this,function(){d.funct.apply(this,arguments)}),q);e.className="geMenuItem";e.style.display="inline-block";e.style.boxSizing="border-box"; +e.style.top="6px";e.style.marginRight="6px";e.style.height="30px";e.style.paddingTop="6px";e.style.paddingBottom="6px";e.style.cursor="pointer";e.setAttribute("title",mxResources.get(a));l.menus.menuCreated(d,e,"geMenuItem");null!=c?(e.style.backgroundImage="url("+c+")",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",e.style.backgroundSize="24px 24px",e.style.width="34px",e.innerHTML=""):b||(e.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",e.style.backgroundPosition= +"right 6px center",e.style.backgroundRepeat="no-repeat",e.style.paddingRight="22px");return e}function c(a,b,c,d,e,f){var g=document.createElement("a");g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";null!=l.statusContainer?p.insertBefore(g,l.statusContainer):p.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition= "center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px"):mxUtils.write(g,a);mxEvent.addListener(g,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(g,"click",function(a){"disabled"!=g.getAttribute("disabled")&&b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),g.style.cursor= "pointer"):(g.setAttribute("disabled","disabled"),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function d(a,b){var c=document.createElement("div");c.className="geMenuItem";c.style.display="inline-block";c.style.verticalAlign="top";c.style.marginRight="6px";c.style.padding="0 4px 0 4px";c.style.height="30px";c.style.position="relative";c.style.top="0px";for(var d=0;d<a.length;d++)null!=a[d]&&(a[d].style.margin="0px",a[d].style.boxShadow="none",c.appendChild(a[d]));null!= -b&&mxUtils.setOpacity(c,b);null!=k.statusContainer?p.insertBefore(c,k.statusContainer):p.appendChild(c);return c}function f(){for(var b=p.firstChild;null!=b;){var f=b.nextSibling;"geMenuItem"!=b.className&&"geItem"!=b.className||b.parentNode.removeChild(b);b=f}q=p.firstChild;e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;(b=1E3>e)||a("diagram");d([b?a("diagram",null,IMAGE_PATH+"/drawlogo.svg"):null,c(mxResources.get("shapes"),k.actions.get("toggleShapes").funct, -null,mxResources.get("shapes"),k.actions.get("image"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),c(mxResources.get("format"),k.actions.get("toggleFormat").funct,null,mxResources.get("format")+" ("+k.actions.get("formatPanel").shortcut+")",k.actions.get("image"), +b&&mxUtils.setOpacity(c,b);null!=l.statusContainer?p.insertBefore(c,l.statusContainer):p.appendChild(c);return c}function f(){for(var b=p.firstChild;null!=b;){var f=b.nextSibling;"geMenuItem"!=b.className&&"geItem"!=b.className||b.parentNode.removeChild(b);b=f}q=p.firstChild;e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;(b=1E3>e)||a("diagram");d([b?a("diagram",null,IMAGE_PATH+"/drawlogo.svg"):null,c(mxResources.get("shapes"),l.actions.get("toggleShapes").funct, +null,mxResources.get("shapes"),l.actions.get("image"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),c(mxResources.get("format"),l.actions.get("toggleFormat").funct,null,mxResources.get("format")+" ("+l.actions.get("formatPanel").shortcut+")",l.actions.get("image"), b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==": -null)],b?60:null);f=a("insert",!0,b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null);d([f,c(mxResources.get("delete"),k.actions.get("delete").funct,null,mxResources.get("delete"),k.actions.get("delete"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": -null)],b?60:null);if(411<=e&&(f=k.actions.get("undo"),b=k.actions.get("redo"),f=c("",f.funct,null,mxResources.get("undo")+" ("+f.shortcut+")",f,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),b=c("", -b.funct,null,mxResources.get("redo")+" ("+b.shortcut+")",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg=="),d([f,b],60),480<=e)){var b=k.actions.get("zoomIn"),f=k.actions.get("zoomOut"),g=k.actions.get("resetView"); -d([c("",function(){m.popupMenuHandler.hideMenu();var a=m.view.scale,b=m.view.translate.x,c=m.view.translate.y;k.actions.get("resetView").funct();1E-5>Math.abs(a-m.view.scale)&&b==m.view.translate.x&&c==m.view.translate.y&&k.actions.get(m.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",g,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), +null)],b?60:null);f=a("insert",!0,b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null);d([f,c(mxResources.get("delete"),l.actions.get("delete").funct,null,mxResources.get("delete"),l.actions.get("delete"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": +null)],b?60:null);if(411<=e&&(f=l.actions.get("undo"),b=l.actions.get("redo"),f=c("",f.funct,null,mxResources.get("undo")+" ("+f.shortcut+")",f,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),b=c("", +b.funct,null,mxResources.get("redo")+" ("+b.shortcut+")",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg=="),d([f,b],60),480<=e)){var b=l.actions.get("zoomIn"),f=l.actions.get("zoomOut"),g=l.actions.get("resetView"); +d([c("",function(){m.popupMenuHandler.hideMenu();var a=m.view.scale,b=m.view.translate.x,c=m.view.translate.y;l.actions.get("resetView").funct();1E-5>Math.abs(a-m.view.scale)&&b==m.view.translate.x&&c==m.view.translate.y&&l.actions.get(m.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",g,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), 640<=e?c("",b.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="): null,640<=e?c("",f.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",f,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): -null],60)}b=k.menus.get("language");null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&600<=e?(null==O&&(f=u.addMenu("",b.funct),f.setAttribute("title",mxResources.get("language")),f.className="geToolbarButton",f.style.backgroundImage="url("+Editor.globeImage+")",f.style.backgroundPosition="center center",f.style.backgroundRepeat="no-repeat",f.style.backgroundSize="24px 24px",f.style.position="absolute",f.style.height="24px",f.style.width="24px",f.style.zIndex="1",f.style.right="8px",f.style.cursor= -"pointer",f.style.top="1"==urlParams.embed?"12px":"11px",p.appendChild(f),O=f),k.buttonContainer.style.paddingRight="34px"):(k.buttonContainer.style.paddingRight="4px",null!=O&&(O.parentNode.removeChild(O),O=null))}n.apply(this,arguments);var g=document.createElement("div");g.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";g.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?"63px":"32px";this.sidebar=this.createSidebar(g);null==urlParams.clibs&& -null==urlParams.libs||b(this);var k=this,m=k.editor.graph;k.toolbar=this.createToolbar(k.createDiv("geToolbar"));k.defaultLibraryName=mxResources.get("untitledLibrary");var p=document.createElement("div");p.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var q=null,u=new Menubar(k,p);k.statusContainer=k.createStatusContainer();k.statusContainer.style.position="relative"; -k.statusContainer.style.maxWidth="";k.statusContainer.style.marginTop="7px";k.statusContainer.style.marginLeft="6px";k.statusContainer.style.color="gray";k.statusContainer.style.cursor="default";k.editor.addListener("statusChanged",mxUtils.bind(this,function(){k.setStatusText(k.editor.getStatus())}));var y=k.descriptorChanged;k.descriptorChanged=function(){y.apply(this,arguments);var a=k.getCurrentFile();if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub": -"gitlab"==b?b="gitLab":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);p.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else p.removeAttribute("title")};k.setStatusText(k.editor.getStatus());p.appendChild(k.statusContainer);k.buttonContainer=document.createElement("div");k.buttonContainer.style.cssText="position:absolute;right:0px;padding-right:34px;top:10px;white-space:nowrap;padding-top:2px;background-color:inherit;";p.appendChild(k.buttonContainer);k.menubarContainer=k.buttonContainer; -k.tabContainer=document.createElement("div");k.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;visibility:hidden;";var g=k.diagramContainer.parentNode,B=document.createElement("div");B.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";k.diagramContainer.style.top="47px";var N=k.menus.get("viewZoom"); -if(null!=N){this.tabContainer.style.right="70px";var D=u.addMenu("100%",N.funct);D.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");D.style.whiteSpace="nowrap";D.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";D.style.backgroundPosition="right 6px center";D.style.backgroundRepeat="no-repeat";D.style.backgroundColor="#ffffff";D.style.paddingRight="10px";D.style.display="block";D.style.position="absolute";D.style.textDecoration="none";D.style.textDecoration="none"; -D.style.right="0px";D.style.bottom="0px";D.style.overflow="hidden";D.style.visibility="hidden";D.style.textAlign="center";D.style.color="#000";D.style.fontSize="12px";D.style.color="#707070";D.style.width="59px";D.style.cursor="pointer";D.style.borderTop="1px solid lightgray";D.style.borderLeft="1px solid lightgray";D.style.height=parseInt(k.tabContainerHeight)-1+"px";D.style.lineHeight=parseInt(k.tabContainerHeight)+1+"px";B.appendChild(D);N=mxUtils.bind(this,function(){D.innerHTML=Math.round(100* -k.editor.graph.view.scale)+"%"});k.editor.graph.view.addListener(mxEvent.EVENT_SCALE,N);k.editor.addListener("resetGraphView",N);k.editor.addListener("pageSelected",N);var G=k.setGraphEnabled;k.setGraphEnabled=function(){G.apply(this,arguments);null!=this.tabContainer&&(D.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}B.appendChild(k.tabContainer);B.appendChild(p);B.appendChild(k.diagramContainer); -g.appendChild(B);k.updateTabContainer();var O=null;f();mxEvent.addListener(window,"resize",function(){f();null!=k.sidebarWindow&&k.sidebarWindow.window.fit();null!=k.formatWindow&&k.formatWindow.window.fit();null!=k.actions.outlineWindow&&k.actions.outlineWindow.window.fit();null!=k.actions.layersWindow&&k.actions.layersWindow.window.fit();null!=k.menus.tagsWindow&&k.menus.tagsWindow.window.fit();null!=k.menus.findWindow&&k.menus.findWindow.window.fit()})}}}; -(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,d,k,m,p){this.file=a;this.id=b;this.content=e;this.modifiedDate=d;this.createdDate=k;this.isResolved=m;this.user=p;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,d,k){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,d,k){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=d;this.locale=k};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Download draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrwaDiag=draw.io diagram\nunknownErr=Unkown Error\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; +null],60)}b=l.menus.get("language");null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&600<=e?(null==O&&(f=u.addMenu("",b.funct),f.setAttribute("title",mxResources.get("language")),f.className="geToolbarButton",f.style.backgroundImage="url("+Editor.globeImage+")",f.style.backgroundPosition="center center",f.style.backgroundRepeat="no-repeat",f.style.backgroundSize="24px 24px",f.style.position="absolute",f.style.height="24px",f.style.width="24px",f.style.zIndex="1",f.style.right="8px",f.style.cursor= +"pointer",f.style.top="1"==urlParams.embed?"12px":"11px",p.appendChild(f),O=f),l.buttonContainer.style.paddingRight="34px"):(l.buttonContainer.style.paddingRight="4px",null!=O&&(O.parentNode.removeChild(O),O=null))}n.apply(this,arguments);var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";k.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?"63px":"32px";this.sidebar=this.createSidebar(k);null==urlParams.clibs&& +null==urlParams.libs||b(this);var l=this,m=l.editor.graph;l.toolbar=this.createToolbar(l.createDiv("geToolbar"));l.defaultLibraryName=mxResources.get("untitledLibrary");var p=document.createElement("div");p.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var q=null,u=new Menubar(l,p);l.statusContainer=l.createStatusContainer();l.statusContainer.style.position="relative"; +l.statusContainer.style.maxWidth="";l.statusContainer.style.marginTop="7px";l.statusContainer.style.marginLeft="6px";l.statusContainer.style.color="gray";l.statusContainer.style.cursor="default";l.editor.addListener("statusChanged",mxUtils.bind(this,function(){l.setStatusText(l.editor.getStatus())}));var z=l.descriptorChanged;l.descriptorChanged=function(){z.apply(this,arguments);var a=l.getCurrentFile();if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub": +"gitlab"==b?b="gitLab":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);p.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else p.removeAttribute("title")};l.setStatusText(l.editor.getStatus());p.appendChild(l.statusContainer);l.buttonContainer=document.createElement("div");l.buttonContainer.style.cssText="position:absolute;right:0px;padding-right:34px;top:10px;white-space:nowrap;padding-top:2px;background-color:inherit;";p.appendChild(l.buttonContainer);l.menubarContainer=l.buttonContainer; +l.tabContainer=document.createElement("div");l.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;visibility:hidden;";var k=l.diagramContainer.parentNode,B=document.createElement("div");B.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";l.diagramContainer.style.top="47px";var N=l.menus.get("viewZoom"); +if(null!=N){this.tabContainer.style.right="70px";var F=u.addMenu("100%",N.funct);F.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");F.style.whiteSpace="nowrap";F.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";F.style.backgroundPosition="right 6px center";F.style.backgroundRepeat="no-repeat";F.style.backgroundColor="#ffffff";F.style.paddingRight="10px";F.style.display="block";F.style.position="absolute";F.style.textDecoration="none";F.style.textDecoration="none"; +F.style.right="0px";F.style.bottom="0px";F.style.overflow="hidden";F.style.visibility="hidden";F.style.textAlign="center";F.style.color="#000";F.style.fontSize="12px";F.style.color="#707070";F.style.width="59px";F.style.cursor="pointer";F.style.borderTop="1px solid lightgray";F.style.borderLeft="1px solid lightgray";F.style.height=parseInt(l.tabContainerHeight)-1+"px";F.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";B.appendChild(F);N=mxUtils.bind(this,function(){F.innerHTML=Math.round(100* +l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,N);l.editor.addListener("resetGraphView",N);l.editor.addListener("pageSelected",N);var G=l.setGraphEnabled;l.setGraphEnabled=function(){G.apply(this,arguments);null!=this.tabContainer&&(F.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}B.appendChild(l.tabContainer);B.appendChild(p);B.appendChild(l.diagramContainer); +k.appendChild(B);l.updateTabContainer();var O=null;f();mxEvent.addListener(window,"resize",function(){f();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}}; +(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,c,l,m,p){this.file=a;this.id=b;this.content=e;this.modifiedDate=c;this.createdDate=l;this.isResolved=m;this.user=p;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,c,l){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,c,l){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=c;this.locale=l};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # % * : < > ? / { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrwaDiag=draw.io diagram\nunknownErr=Unkown Error\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1; GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;GraphViewer.prototype.minHeight=28;GraphViewer.prototype.minWidth=100; GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?this.graphConfig.center:this.center;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!= this.graphConfig.toolbar?this.graphConfig.toolbar.split(" "):[];this.zoomEnabled=0<=mxUtils.indexOf(this.toolbarItems,"zoom");this.layersEnabled=0<=mxUtils.indexOf(this.toolbarItems,"layers");this.lightboxEnabled=0<=mxUtils.indexOf(this.toolbarItems,"lightbox");this.lightboxClickEnabled=0!=this.graphConfig.lightbox;this.initialWidth=null!=a?a.style.width:null;this.widthIsEmpty=null!=this.initialWidth?""==this.initialWidth:!0;this.currentPage=parseInt(this.graphConfig.page)||0;this.pageId=this.graphConfig.pageId; -this.editor=null;"inline"==this.graphConfig["toolbar-position"]&&(this.minHeight+=this.toolbarHeight);if(null!=b&&(this.xmlDocument=b.ownerDocument,this.xmlNode=b,this.xml=mxUtils.getXml(b),null!=a)){var d=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.defaultPageBackgroundColor="transparent";this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0, -null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);1==this.graphConfig["toolbar-nohide"]&&(this.editor.defaultGraphOverflow="visible");this.xmlNode=this.editor.extractGraphModel(this.xmlNode,!0);this.xmlNode!=b&&(this.xml=mxUtils.getXml(this.xmlNode),this.xmlDocument=this.xmlNode.ownerDocument);var d=this;this.graph.getImageFromBundles=function(a){return d.getImageUrl(a)}; -mxClient.IS_SVG&&this.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==this.xmlNode.nodeName){var e=this.xmlNode.getElementsByTagName("diagram");if(0<e.length){if(null!=this.pageId)for(var k=0;k<e.length;k++)if(this.pageId==e[k].getAttribute("id")){this.currentPage=k;break}var m=this.graph.getGlobalVariable,d=this;this.graph.getGlobalVariable=function(a){var b=e[d.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(d.currentPage+1):"pagenumber"==a?d.currentPage+ -1:"pagecount"==a?e.length:m.apply(this,arguments)}}}this.diagrams=[];var c=null;this.selectPage=function(a){this.handlingResize||(this.currentPage=mxUtils.mod(a,this.diagrams.length),this.updateGraphXml(Editor.parseDiagramNode(this.diagrams[this.currentPage])))};this.selectPageById=function(a){for(var b=!1,c=0;c<this.diagrams.length;c++)if(this.diagrams[c].getAttribute("id")==a){this.selectPage(c);b=!0;break}return b};k=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams= -[];this.xmlNode!=c&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),c=this.xmlNode)});this.addListener("xmlNodeChanged",k);k();urlParams.page=d.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning= +this.editor=null;"inline"==this.graphConfig["toolbar-position"]&&(this.minHeight+=this.toolbarHeight);if(null!=b&&(this.xmlDocument=b.ownerDocument,this.xmlNode=b,this.xml=mxUtils.getXml(b),null!=a)){var c=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.defaultPageBackgroundColor="transparent";this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0, +null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);1==this.graphConfig["toolbar-nohide"]&&(this.editor.defaultGraphOverflow="visible");this.xmlNode=this.editor.extractGraphModel(this.xmlNode,!0);this.xmlNode!=b&&(this.xml=mxUtils.getXml(this.xmlNode),this.xmlDocument=this.xmlNode.ownerDocument);var c=this;this.graph.getImageFromBundles=function(a){return c.getImageUrl(a)}; +mxClient.IS_SVG&&this.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==this.xmlNode.nodeName){var e=this.xmlNode.getElementsByTagName("diagram");if(0<e.length){if(null!=this.pageId)for(var l=0;l<e.length;l++)if(this.pageId==e[l].getAttribute("id")){this.currentPage=l;break}var m=this.graph.getGlobalVariable,c=this;this.graph.getGlobalVariable=function(a){var b=e[c.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(c.currentPage+1):"pagenumber"==a?c.currentPage+ +1:"pagecount"==a?e.length:m.apply(this,arguments)}}}this.diagrams=[];var d=null;this.selectPage=function(a){this.handlingResize||(this.currentPage=mxUtils.mod(a,this.diagrams.length),this.updateGraphXml(Editor.parseDiagramNode(this.diagrams[this.currentPage])))};this.selectPageById=function(a){for(var b=!1,c=0;c<this.diagrams.length;c++)if(this.diagrams[c].getAttribute("id")==a){this.selectPage(c);b=!0;break}return b};l=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams= +[];this.xmlNode!=d&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),d=this.xmlNode)});this.addListener("xmlNodeChanged",l);l();urlParams.page=c.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning= !0;this.graph.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())&&"auto"==this.graph.container.style.overflow};this.graph.panningHandler.usePopupTrigger=!1;this.graph.panningHandler.pinchEnabled=!1;this.graph.panningHandler.ignoreCell=!0;this.graph.setPanning(!1);null!=this.graphConfig.toolbar?this.addToolbar():null!=this.graphConfig.title&&this.showTitleAsTooltip&&a.setAttribute("title",this.graphConfig.title);this.addSizeHandler();this.showLayers(this.graph); -this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};d=this;this.graph.customLinkClicked=function(a){var b=!0;if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");d.selectPageById(a.substring(c+1))||(b=!1,alert(mxResources.get("pageNotFound")||"Page not found"))}else this.handleCustomLink(a);return b};this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver|| -window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var k=this.getObservableParent(a),m=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(m.disconnect(),d())}));m.observe(k,{attributes:!0})}else d()}};GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a}; +this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};c=this;this.graph.customLinkClicked=function(a){var b=!0;if("data:page/id,"==a.substring(0,13)){var d=a.indexOf(",");c.selectPageById(a.substring(d+1))||(b=!1,alert(mxResources.get("pageNotFound")||"Page not found"))}else this.handleCustomLink(a);return b};this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver|| +window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var l=this.getObservableParent(a),m=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(m.disconnect(),c())}));m.observe(l,{attributes:!0})}else c()}};GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a}; GraphViewer.prototype.getImageUrl=function(a){null!=a&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)&&("/"==a.charAt(0)&&(a=a.substring(1,a.length)),a=this.imageBaseUrl+a);return a};GraphViewer.prototype.setXmlNode=function(a){this.xmlDocument=a.ownerDocument;this.xml=mxUtils.getXml(a);this.xmlNode=a;this.updateGraphXml(a);this.fireEvent(new mxEventObject("xmlNodeChanged"))}; GraphViewer.prototype.setFileNode=function(a){null==this.xmlNode&&(this.xmlDocument=a.ownerDocument,this.xml=mxUtils.getXml(a),this.xmlNode=a);this.setGraphXml(a)};GraphViewer.prototype.updateGraphXml=function(a){this.setGraphXml(a);this.fireEvent(new mxEventObject("graphChanged"))}; GraphViewer.prototype.setGraphXml=function(a){null!=this.graph&&(this.graph.view.translate=new mxPoint,this.graph.view.scale=1,this.graph.getModel().clear(),this.editor.setGraphXml(a),this.widthIsEmpty?(this.graph.container.style.width="",this.graph.container.style.height=""):this.graph.container.style.width=this.initialWidth,this.positionGraph(),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale})}; -GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?"hidden":"visible";var d=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?b.width+2*this.graph.border>a.offsetWidth-2?"auto":"hidden":"visible";if(null!=this.toolbar&&1!=this.graphConfig["toolbar-nohide"]){var b=a.getBoundingClientRect(),d=mxUtils.getScrollOrigin(document.body), -d="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-d.x,top:-d.y},b={left:b.left-d.left,top:b.top-d.top,bottom:b.bottom-d.top,right:b.right-d.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e= -!1}}),k=null;this.handlingResize=!1;this.fitGraph=mxUtils.bind(this,function(b){var d=a.offsetWidth;d==k||this.handlingResize||(this.handlingResize=!0,"auto"==a.style.overflow&&(a.style.overflow="hidden"),this.graph.maxFitScale=null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,null,!0),(this.center||0==this.graphConfig.resize&&""!=a.style.height)&&this.graph.center(),this.graph.maxFitScale=null,0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a, -Math.max(this.minHeight,this.graph.getGraphBounds().height+2*this.graph.border+1)),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},k=d,window.setTimeout(mxUtils.bind(this,function(){this.handlingResize=!1}),0))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",d),this.graph.addListener("size",d)):new ResizeSensor(this.graph.container,d));if(this.graphConfig.resize||(this.zoomEnabled|| -!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,this.minWidth,this.minHeight),this.graph.resizeContainer=!0;else if(!this.widthIsEmpty||""!=a.style.height&&this.autoFit||this.updateContainerWidth(a,b.width+2*this.graph.border),0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a,Math.max(this.minHeight,b.height+2*this.graph.border+1)),!this.zoomEnabled&&this.autoFit){var m=k=null,d=mxUtils.bind(this,function(){window.clearTimeout(m); -this.handlingResize||(m=window.setTimeout(mxUtils.bind(this,this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",d):new ResizeSensor(this.graph.container,d))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",d);var p=mxUtils.bind(this,function(){var d=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");var e=null!=this.graphConfig["max-height"]?this.graphConfig["max-height"]:""!= -a.style.height&&this.autoFit?a.offsetHeight:void 0;if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>e)){var m=null;null!=e&&b.height+2*this.graph.border>e-2&&(m=(e-2*this.graph.border-2)/b.height);this.fitGraph(m)}else this.widthIsEmpty||0!=this.graphConfig.resize||""==a.style.height?(this.graph.view.setTranslate(Math.floor(this.graph.border-b.x/this.graph.view.scale),Math.floor(this.graph.border-b.y/this.graph.view.scale)),k=a.offsetWidth): -this.graph.center((!this.widthIsEmpty||b.width<this.minWidth)&&1!=this.graphConfig.resize);a.style.minWidth=d});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(p,0):p();this.positionGraph=function(){b=this.graph.getGraphBounds();k=null;p()}};GraphViewer.prototype.updateContainerWidth=function(a,b){a.style.width=b+"px"}; +GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?"hidden":"visible";var c=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?b.width+2*this.graph.border>a.offsetWidth-2?"auto":"hidden":"visible";if(null!=this.toolbar&&1!=this.graphConfig["toolbar-nohide"]){var b=a.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body), +c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},b={left:b.left-c.left,top:b.top-c.top,bottom:b.bottom-c.top,right:b.right-c.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e= +!1}}),l=null;this.handlingResize=!1;this.fitGraph=mxUtils.bind(this,function(b){var c=a.offsetWidth;c==l||this.handlingResize||(this.handlingResize=!0,"auto"==a.style.overflow&&(a.style.overflow="hidden"),this.graph.maxFitScale=null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,null,!0),(this.center||0==this.graphConfig.resize&&""!=a.style.height)&&this.graph.center(),this.graph.maxFitScale=null,0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a, +Math.max(this.minHeight,this.graph.getGraphBounds().height+2*this.graph.border+1)),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},l=c,window.setTimeout(mxUtils.bind(this,function(){this.handlingResize=!1}),0))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",c),this.graph.addListener("size",c)):new ResizeSensor(this.graph.container,c));if(this.graphConfig.resize||(this.zoomEnabled|| +!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,this.minWidth,this.minHeight),this.graph.resizeContainer=!0;else if(!this.widthIsEmpty||""!=a.style.height&&this.autoFit||this.updateContainerWidth(a,b.width+2*this.graph.border),0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a,Math.max(this.minHeight,b.height+2*this.graph.border+1)),!this.zoomEnabled&&this.autoFit){var m=l=null,c=mxUtils.bind(this,function(){window.clearTimeout(m); +this.handlingResize||(m=window.setTimeout(mxUtils.bind(this,this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",c):new ResizeSensor(this.graph.container,c))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",c);var p=mxUtils.bind(this,function(){var c=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");var e=null!=this.graphConfig["max-height"]?this.graphConfig["max-height"]:""!= +a.style.height&&this.autoFit?a.offsetHeight:void 0;if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>e)){var m=null;null!=e&&b.height+2*this.graph.border>e-2&&(m=(e-2*this.graph.border-2)/b.height);this.fitGraph(m)}else this.widthIsEmpty||0!=this.graphConfig.resize||""==a.style.height?(this.graph.view.setTranslate(Math.floor(this.graph.border-b.x/this.graph.view.scale),Math.floor(this.graph.border-b.y/this.graph.view.scale)),l=a.offsetWidth): +this.graph.center((!this.widthIsEmpty||b.width<this.minWidth)&&1!=this.graphConfig.resize);a.style.minWidth=c});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(p,0):p();this.positionGraph=function(){b=this.graph.getGraphBounds();l=null;p()}};GraphViewer.prototype.updateContainerWidth=function(a,b){a.style.width=b+"px"}; GraphViewer.prototype.updateContainerHeight=function(a,b){if(this.zoomEnabled||!this.autoFit||"BackCompat"==document.compatMode||mxClient.IS_QUIRKS||8==document.documentMode)a.style.height=b+"px"}; -GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers,e=null!=e?e.split(" "):[],d=this.graphConfig.layerIds,k=null!=d&&0<d.length;if(0<e.length||k||null!=b){var m=null!=b?b.getModel():null,p=a.getModel();p.beginUpdate();try{for(var u=p.getChildCount(p.root),y=0;y<u;y++)p.setVisible(p.getChildAt(p.root,y),null!=b?m.isVisible(m.getChildAt(m.root,y)):!1);if(null==m)if(k)for(y=0;y<d.length;y++)p.setVisible(p.getCell(d[y]),!0);else for(y=0;y<e.length;y++)p.setVisible(p.getChildAt(p.root, -parseInt(e[y])),!0)}finally{p.endUpdate()}}}; -GraphViewer.prototype.addToolbar=function(){function a(a,b,d,f){var g=document.createElement("div");g.style.borderRight="1px solid #d0d0d0";g.style.padding="3px 6px 3px 6px";mxEvent.addListener(g,"click",a);null!=d&&g.setAttribute("title",d);g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);null==f||f?(mxEvent.addListener(g,"mouseenter",function(){g.style.backgroundColor="#ddd"}),mxEvent.addListener(g,"mouseleave", -function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cursor="pointer"):mxUtils.setOpacity(g,30);g.appendChild(a);e.appendChild(g);c++;return g}var b=this.graph.container;"bottom"==this.graphConfig["toolbar-position"]?b.style.marginBottom=this.toolbarHeight+"px":"inline"!=this.graphConfig["toolbar-position"]&&(b.style.marginTop=this.toolbarHeight+"px");var e=b.ownerDocument.createElement("div");e.style.position="absolute";e.style.overflow="hidden";e.style.boxSizing="border-box"; -e.style.whiteSpace="nowrap";e.style.textAlign="left";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var d=null,k=null,m=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);d=window.setTimeout(mxUtils.bind(this, -function(){mxUtils.setOpacity(e,0);d=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),p=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(p(30),m())}));mxEvent.addListener(e,mxClient.IS_POINTER? -"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){p(100)}));mxEvent.addListener(e,"mousemove",mxUtils.bind(this,function(a){p(100);mxEvent.consume(a)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||p(30)}));var u=this.graph,y=u.getTolerance();u.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY(); -this.scrollLeft=u.container.scrollLeft;this.scrollTop=u.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-u.container.scrollLeft)<y&&Math.abs(this.scrollTop-u.container.scrollTop)<y&&Math.abs(this.startX-b.getGraphX())<y&&Math.abs(this.startY-b.getGraphY())<y&&(0<parseFloat(e.style.opacity||0)?m():p(30))}})}for(var B=this.toolbarItems,c=0,f=null,g=null,q=0;q<B.length;q++){var n=B[q];if("pages"==n){g=b.ownerDocument.createElement("div"); -g.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(g,70);var l=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");l.style.borderRightStyle="none";l.style.paddingLeft="0px";l.style.paddingRight="0px";e.appendChild(g);var A=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+ -1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");A.style.paddingLeft="0px";A.style.paddingRight="0px";n=mxUtils.bind(this,function(){g.innerHTML="";mxUtils.write(g,this.currentPage+1+" / "+this.diagrams.length);g.style.display=1<this.diagrams.length?"inline-block":"none";l.style.display=g.style.display;A.style.display=g.style.display});this.addListener("graphChanged",n);n()}else if("zoom"==n)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage, +GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers,e=null!=e?e.split(" "):[],c=this.graphConfig.layerIds,l=null!=c&&0<c.length;if(0<e.length||l||null!=b){var m=null!=b?b.getModel():null,p=a.getModel();p.beginUpdate();try{for(var u=p.getChildCount(p.root),z=0;z<u;z++)p.setVisible(p.getChildAt(p.root,z),null!=b?m.isVisible(m.getChildAt(m.root,z)):!1);if(null==m)if(l)for(z=0;z<c.length;z++)p.setVisible(p.getCell(c[z]),!0);else for(z=0;z<e.length;z++)p.setVisible(p.getChildAt(p.root, +parseInt(e[z])),!0)}finally{p.endUpdate()}}}; +GraphViewer.prototype.addToolbar=function(){function a(a,b,c,f){var g=document.createElement("div");g.style.borderRight="1px solid #d0d0d0";g.style.padding="3px 6px 3px 6px";mxEvent.addListener(g,"click",a);null!=c&&g.setAttribute("title",c);g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);null==f||f?(mxEvent.addListener(g,"mouseenter",function(){g.style.backgroundColor="#ddd"}),mxEvent.addListener(g,"mouseleave", +function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cursor="pointer"):mxUtils.setOpacity(g,30);g.appendChild(a);e.appendChild(g);d++;return g}var b=this.graph.container;"bottom"==this.graphConfig["toolbar-position"]?b.style.marginBottom=this.toolbarHeight+"px":"inline"!=this.graphConfig["toolbar-position"]&&(b.style.marginTop=this.toolbarHeight+"px");var e=b.ownerDocument.createElement("div");e.style.position="absolute";e.style.overflow="hidden";e.style.boxSizing="border-box"; +e.style.whiteSpace="nowrap";e.style.textAlign="left";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var c=null,l=null,m=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=l&&(window.clearTimeout(l),fadeThead2=null);c=window.setTimeout(mxUtils.bind(this, +function(){mxUtils.setOpacity(e,0);c=null;l=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";l=null}),100)}),a||200)}),p=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=l&&(window.clearTimeout(l),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(p(30),m())}));mxEvent.addListener(e,mxClient.IS_POINTER? +"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){p(100)}));mxEvent.addListener(e,"mousemove",mxUtils.bind(this,function(a){p(100);mxEvent.consume(a)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||p(30)}));var u=this.graph,z=u.getTolerance();u.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY(); +this.scrollLeft=u.container.scrollLeft;this.scrollTop=u.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-u.container.scrollLeft)<z&&Math.abs(this.scrollTop-u.container.scrollTop)<z&&Math.abs(this.startX-b.getGraphX())<z&&Math.abs(this.startY-b.getGraphY())<z&&(0<parseFloat(e.style.opacity||0)?m():p(30))}})}for(var B=this.toolbarItems,d=0,f=null,k=null,q=0;q<B.length;q++){var n=B[q];if("pages"==n){k=b.ownerDocument.createElement("div"); +k.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(k,70);var g=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");g.style.borderRightStyle="none";g.style.paddingLeft="0px";g.style.paddingRight="0px";e.appendChild(k);var A=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+ +1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");A.style.paddingLeft="0px";A.style.paddingRight="0px";n=mxUtils.bind(this,function(){k.innerHTML="";mxUtils.write(k,this.currentPage+1+" / "+this.diagrams.length);k.style.display=1<this.diagrams.length?"inline-block":"none";g.style.display=k.style.display;A.style.display=k.style.display});this.addListener("graphChanged",n);n()}else if("zoom"==n)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage, mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==n){if(this.layersEnabled){var x=this.graph.getModel(),t=a(mxUtils.bind(this,function(a){if(null!=f)f.parentNode.removeChild(f), f=null;else{f=this.graph.createLayersDialog();mxEvent.addListener(f,"mouseleave",function(){f.parentNode.removeChild(f);f=null});a=t.getBoundingClientRect();f.style.width="140px";f.style.padding="2px 0px 2px 0px";f.style.border="1px solid #d0d0d0";f.style.backgroundColor="#eee";f.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";f.style.fontSize="11px";f.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(f,80);var b=mxUtils.getDocumentScrollOrigin(document);f.style.left=b.x+a.left+ "px";f.style.top=b.y+a.bottom+"px";document.body.appendChild(f)}}),Editor.layersImage,mxResources.get("layers")||"Layers");x.addListener(mxEvent.CHANGE,function(){t.style.display=1<x.getChildCount(x.root)?"inline-block":"none"});t.style.display=1<x.getChildCount(x.root)?"inline-block":"none"}}else"lightbox"==n?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(n=this.graphConfig["toolbar-buttons"][n], -null!=n&&a(null==n.enabled||n.enabled?n.handler:function(){},n.image,n.title,n.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*c);null!=this.graphConfig.title&&(B=b.ownerDocument.createElement("div"),B.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",B.setAttribute("title",this.graphConfig.title),mxUtils.write(B,this.graphConfig.title),mxUtils.setOpacity(B, -70),e.appendChild(B));this.minToolbarWidth=34*c;var F=b.style.border,B=mxUtils.bind(this,function(){e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px";e.style.border="1px solid #d0d0d0";if(1!=this.graphConfig["toolbar-nohide"]){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top- -c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";"bottom"==this.graphConfig["toolbar-position"]?e.style.top=a.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(e.style.marginTop=-this.toolbarHeight+"px",e.style.top=a.top+1+"px"):e.style.top=a.top+"px";"1px solid transparent"==F&&(b.style.border="1px solid #d0d0d0");document.body.appendChild(e);var d=mxUtils.bind(this,function(){null!=e.parentNode&&e.parentNode.removeChild(e);null!=f&&(f.parentNode.removeChild(f), -f=null);b.style.border=F});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==f)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})}else e.style.top=-this.toolbarHeight+"px",b.appendChild(e)});1!=this.graphConfig["toolbar-nohide"]?mxEvent.addListener(b,"mouseenter",B):B()}; -GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,d){if(null==d){var k=mxEvent.getSource(e);"a"==k.nodeName.toLowerCase()&&(d=k.getAttribute("href"))}null!=b?null==d||a.isExternalProtocol(d)||a.isBlankLink(d)||a.customLinkClicked(d)?mxEvent.consume(e):window.setTimeout(function(){b.destroy()},0):null!=d&&null==b&&a.isCustomLink(d)&&(mxEvent.isTouchEvent(e)||!mxEvent.isPopupTrigger(e))&& -a.customLinkClicked(d)&&mxEvent.consume(e)}),mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))}; +null!=n&&a(null==n.enabled||n.enabled?n.handler:function(){},n.image,n.title,n.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*d);null!=this.graphConfig.title&&(B=b.ownerDocument.createElement("div"),B.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",B.setAttribute("title",this.graphConfig.title),mxUtils.write(B,this.graphConfig.title),mxUtils.setOpacity(B, +70),e.appendChild(B));this.minToolbarWidth=34*d;var E=b.style.border,B=mxUtils.bind(this,function(){e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px";e.style.border="1px solid #d0d0d0";if(1!=this.graphConfig["toolbar-nohide"]){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top- +c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";"bottom"==this.graphConfig["toolbar-position"]?e.style.top=a.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(e.style.marginTop=-this.toolbarHeight+"px",e.style.top=a.top+1+"px"):e.style.top=a.top+"px";"1px solid transparent"==E&&(b.style.border="1px solid #d0d0d0");document.body.appendChild(e);var d=mxUtils.bind(this,function(){null!=e.parentNode&&e.parentNode.removeChild(e);null!=f&&(f.parentNode.removeChild(f), +f=null);b.style.border=E});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==f)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})}else e.style.top=-this.toolbarHeight+"px",b.appendChild(e)});1!=this.graphConfig["toolbar-nohide"]?mxEvent.addListener(b,"mouseenter",B):B()}; +GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,c){if(null==c){var l=mxEvent.getSource(e);"a"==l.nodeName.toLowerCase()&&(c=l.getAttribute("href"))}null!=b?null==c||a.isCustomLink(c)?mxEvent.consume(e):a.isExternalProtocol(c)||a.isBlankLink(c)||window.setTimeout(function(){b.destroy()},0):null!=c&&null==b&&a.isCustomLink(c)&&(mxEvent.isTouchEvent(e)||!mxEvent.isPopupTrigger(e))&& +a.customLinkClicked(c)&&mxEvent.consume(e)}),mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))}; GraphViewer.prototype.showLightbox=function(a,b,e){if("open"==this.graphConfig.lightbox||window.self!==window.top)if(null==this.lightboxWindow||this.lightboxWindow.closed){a=null!=a?a:null!=this.graphConfig.editable?this.graphConfig.editable:!0;e={client:1,lightbox:1,target:null!=e?e:"blank"};a&&(e.edit=this.graphConfig.edit||"_blank");if(null!=b?b:1)e.close=1;this.layersEnabled&&(e.layers=1);null!=this.graphConfig&&0!=this.graphConfig.nav&&(e.nav=1);null!=this.graphConfig&&null!=this.graphConfig.highlight&& (e.highlight=this.graphConfig.highlight.substring(1));null!=this.currentPage&&0<this.currentPage&&(e.page=this.currentPage);"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?null==this.lightboxWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(a){"ready"==a.data&&a.source==this.lightboxWindow&&this.lightboxWindow.postMessage(this.xml,"*")})):e.data=encodeURIComponent(this.xml);a="www.draw.io";"1"==urlParams.dev&&(e.dev="1",e.drawdev= "1",a="test.draw.io");this.lightboxWindow=window.open("https://"+a+"/#P"+encodeURIComponent(JSON.stringify(e)))}else this.lightboxWindow.focus();else this.showLocalLightbox()}; GraphViewer.prototype.showLocalLightbox=function(){var a=mxUtils.getDocumentScrollOrigin(document),b=document.createElement("div");mxClient.IS_QUIRKS?(b.style.position="absolute",b.style.left=a.x+"px",b.style.top=a.y+"px",b.style.width=document.body.offsetWidth+"px",b.style.height=document.body.offsetHeight+"px"):b.style.cssText="position:fixed;top:0;left:0;bottom:0;right:0;";b.style.zIndex=this.lightboxZIndex;b.style.backgroundColor="#000000";mxUtils.setOpacity(b,70);document.body.appendChild(b); -var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){k.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams["page-id"]=this.graphConfig.pageId;urlParams["layer-ids"]=null!=this.graphConfig.layerIds&&0<this.graphConfig.layerIds.length? -this.graphConfig.layerIds.join(" "):null;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode||10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit,Editor.prototype.editButtonFunc=this.graphConfig.editFunc;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};var d=Graph.prototype.shadowId;Graph.prototype.shadowId= -"lightboxDropShadow";var k=new EditorUi(new Editor(!0),document.createElement("div"),!0);k.editor.editBlankUrl=this.editBlankUrl;k.editor.graph.shadowId="lightboxDropShadow";Graph.prototype.shadowId=d;k.refresh=function(){};var m=mxUtils.bind(this,function(a){27==a.keyCode&&k.destroy()}),p=k.destroy;k.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",m);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled= -!0;p.apply(this,arguments)};var u=k.editor.graph,y=u.container;y.style.overflow="hidden";this.lightboxChrome?(y.style.border="1px solid #c0c0c0",y.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",m)):(b.style.display="none",e.style.display="none");var B=this;u.getImageFromBundles=function(a){return B.getImageUrl(a)};var c=k.createTemporaryGraph;k.createTemporaryGraph=function(){var a=c.apply(this,arguments);a.getImageFromBundles=function(a){return B.getImageUrl(a)};return a}; -this.graphConfig.move&&(u.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(y.style,"border-radius","4px"),y.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE||(mxUtils.setPrefixedStyle(y.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(y.style,"transition","all .25s ease-in-out"));this.addClickHandler(u,k);window.setTimeout(mxUtils.bind(this,function(){y.style.outline="none"; -y.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(y);document.body.appendChild(e);k.setFileData(this.xml);mxUtils.setPrefixedStyle(y.style,"transform","rotateY(0deg)");k.chromelessToolbar.style.bottom="60px";k.chromelessToolbar.style.zIndex=this.lightboxZIndex;document.body.appendChild(k.chromelessToolbar);k.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(y.style.position="absolute",y.style.display="block",y.style.left= -a.x+"px",y.style.top=a.y+"px",y.style.width=document.body.clientWidth-80+"px",y.style.height=document.body.clientHeight-80+"px",y.style.backgroundColor="white",k.chromelessToolbar.style.display="block",k.chromelessToolbar.style.position="absolute",k.chromelessToolbar.style.bottom="",k.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");k.lightboxFit();k.chromelessResize();this.showLayers(u,this.graph);mxEvent.addListener(b,"click",function(){k.destroy()})}),0);return k}; +var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){l.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams["page-id"]=this.graphConfig.pageId;urlParams["layer-ids"]=null!=this.graphConfig.layerIds&&0<this.graphConfig.layerIds.length? +this.graphConfig.layerIds.join(" "):null;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode||10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit,Editor.prototype.editButtonFunc=this.graphConfig.editFunc;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};var c=Graph.prototype.shadowId;Graph.prototype.shadowId= +"lightboxDropShadow";var l=new EditorUi(new Editor(!0),document.createElement("div"),!0);l.editor.editBlankUrl=this.editBlankUrl;l.editor.graph.shadowId="lightboxDropShadow";Graph.prototype.shadowId=c;l.refresh=function(){};var m=mxUtils.bind(this,function(a){27==a.keyCode&&l.destroy()}),p=l.destroy;l.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",m);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled= +!0;p.apply(this,arguments)};var u=l.editor.graph,z=u.container;z.style.overflow="hidden";this.lightboxChrome?(z.style.border="1px solid #c0c0c0",z.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",m)):(b.style.display="none",e.style.display="none");var B=this;u.getImageFromBundles=function(a){return B.getImageUrl(a)};var d=l.createTemporaryGraph;l.createTemporaryGraph=function(){var a=d.apply(this,arguments);a.getImageFromBundles=function(a){return B.getImageUrl(a)};return a}; +this.graphConfig.move&&(u.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(z.style,"border-radius","4px"),z.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE||(mxUtils.setPrefixedStyle(z.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(z.style,"transition","all .25s ease-in-out"));this.addClickHandler(u,l);window.setTimeout(mxUtils.bind(this,function(){z.style.outline="none"; +z.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(z);document.body.appendChild(e);l.setFileData(this.xml);mxUtils.setPrefixedStyle(z.style,"transform","rotateY(0deg)");l.chromelessToolbar.style.bottom="60px";l.chromelessToolbar.style.zIndex=this.lightboxZIndex;document.body.appendChild(l.chromelessToolbar);l.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(z.style.position="absolute",z.style.display="block",z.style.left= +a.x+"px",z.style.top=a.y+"px",z.style.width=document.body.clientWidth-80+"px",z.style.height=document.body.clientHeight-80+"px",z.style.backgroundColor="white",l.chromelessToolbar.style.display="block",l.chromelessToolbar.style.position="absolute",l.chromelessToolbar.style.bottom="",l.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");l.lightboxFit();l.chromelessResize();this.showLayers(u,this.graph);mxEvent.addListener(b,"click",function(){l.destroy()})}),0);return l}; GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})}; -GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var d=document.getElementsByTagName("*"),b=[],e=0;e<d.length;e++){var k=d[e].className;null!=k&&0<k.length&&(k=k.split(" "),0<=mxUtils.indexOf(k,a)&&b.push(d[e]))}return b}; -GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var d=JSON.parse(e),k=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,d);null!=b&&b(e)};null!=d.url?GraphViewer.getUrl(d.url,function(a){k(a)}):k(d.xml)}}; +GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var c=document.getElementsByTagName("*"),b=[],e=0;e<c.length;e++){var l=c[e].className;null!=l&&0<l.length&&(l=l.split(" "),0<=mxUtils.indexOf(l,a)&&b.push(c[e]))}return b}; +GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var c=JSON.parse(e),l=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,c);null!=b&&b(e)};null!=c.url?GraphViewer.getUrl(c.url,function(a){l(a)}):l(c.xml)}}; GraphViewer.initCss=function(){try{var a=document.createElement("style");a.type="text/css";a.innerHTML="div.mxTooltip {\n-webkit-box-shadow: 3px 3px 12px #C0C0C0;\n-moz-box-shadow: 3px 3px 12px #C0C0C0;\nbox-shadow: 3px 3px 12px #C0C0C0;\nbackground: #FFFFCC;\nborder-style: solid;\nborder-width: 1px;\nborder-color: black;\nfont-family: Arial;\nfont-size: 8pt;\nposition: absolute;\ncursor: default;\npadding: 4px;\ncolor: black;}\ntd.mxPopupMenuIcon div {\nwidth:16px;\nheight:16px;}\nhtml div.mxPopupMenu {\n-webkit-box-shadow:2px 2px 3px #d5d5d5;\n-moz-box-shadow:2px 2px 3px #d5d5d5;\nbox-shadow:2px 2px 3px #d5d5d5;\n_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d0d0d0',Positive='true');\nbackground:white;\nposition:absolute;\nborder:3px solid #e7e7e7;\npadding:3px;}\nhtml table.mxPopupMenu {\nborder-collapse:collapse;\nmargin:0px;}\nhtml td.mxPopupMenuItem {\npadding:7px 30px 7px 30px;\nfont-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;}\nhtml td.mxPopupMenuIcon {\nbackground-color:white;\npadding:0px;}\ntd.mxPopupMenuIcon .geIcon {\npadding:2px;\npadding-bottom:4px;\nmargin:2px;\nborder:1px solid transparent;\nopacity:0.5;\n_width:26px;\n_height:26px;}\ntd.mxPopupMenuIcon .geIcon:hover {\nborder:1px solid gray;\nborder-radius:2px;\nopacity:1;}\nhtml tr.mxPopupMenuItemHover {\nbackground-color: #eeeeee;\ncolor: black;}\ntable.mxPopupMenu hr {\ncolor:#cccccc;\nbackground-color:#cccccc;\nborder:none;\nheight:1px;}\ntable.mxPopupMenu tr {\tfont-size:4pt;}\n.geDialog { font-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;\nborder:none;\nmargin:0px;}\n.geDialog {\tposition:absolute;\tbackground:white;\toverflow:hidden;\tpadding:30px;\tborder:1px solid #acacac;\t-webkit-box-shadow:0px 0px 2px 2px #d5d5d5;\t-moz-box-shadow:0px 0px 2px 2px #d5d5d5;\tbox-shadow:0px 0px 2px 2px #d5d5d5;\t_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d5d5d5', Positive='true');\tz-index: 2;}.geDialogClose {\tposition:absolute;\twidth:9px;\theight:9px;\topacity:0.5;\tcursor:pointer;\t_filter:alpha(opacity=50);}.geDialogClose:hover {\topacity:1;}.geDialogTitle {\tbox-sizing:border-box;\twhite-space:nowrap;\tbackground:rgb(229, 229, 229);\tborder-bottom:1px solid rgb(192, 192, 192);\tfont-size:15px;\tfont-weight:bold;\ttext-align:center;\tcolor:rgb(35, 86, 149);}.geDialogFooter {\tbackground:whiteSmoke;\twhite-space:nowrap;\ttext-align:right;\tbox-sizing:border-box;\tborder-top:1px solid #e5e5e5;\tcolor:darkGray;}\n.geBtn {\tbackground-color: #f5f5f5;\tborder-radius: 2px;\tborder: 1px solid #d8d8d8;\tcolor: #333;\tcursor: default;\tfont-size: 11px;\tfont-weight: bold;\theight: 29px;\tline-height: 27px;\tmargin: 0 0 0 8px;\tmin-width: 72px;\toutline: 0;\tpadding: 0 8px;\tcursor: pointer;}.geBtn:hover, .geBtn:focus {\t-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\t-moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tbox-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tborder: 1px solid #c6c6c6;\tbackground-color: #f8f8f8;\tbackground-image: linear-gradient(#f8f8f8 0px,#f1f1f1 100%);\tcolor: #111;}.geBtn:disabled {\topacity: .5;}.gePrimaryBtn {\tbackground-color: #4d90fe;\tbackground-image: linear-gradient(#4d90fe 0px,#4787ed 100%);\tborder: 1px solid #3079ed;\tcolor: #fff;}.gePrimaryBtn:hover, .gePrimaryBtn:focus {\tbackground-color: #357ae8;\tbackground-image: linear-gradient(#4d90fe 0px,#357ae8 100%);\tborder: 1px solid #2f5bb7;\tcolor: #fff;}.gePrimaryBtn:disabled {\topacity: .5;}";document.getElementsByTagName("head")[0].appendChild(a)}catch(b){}}; -GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var d=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;d.open("GET",a);d.onload=function(){b(null!=d.getText?d.getText():d.responseText)};d.onerror=e;d.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0; -(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,d){function k(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function m(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function p(b,c){if(!b.resizedAttached)b.resizedAttached= -new k,b.resizedAttached.add(c);else if(b.resizedAttached){b.resizedAttached.add(c);return}b.resizeSensor=document.createElement("div");b.resizeSensor.className="resize-sensor";b.resizeSensor.style.cssText="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;";b.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s;"></div></div><div class="resize-sensor-shrink" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s; width: 200%; height: 200%"></div></div>'; -b.appendChild(b.resizeSensor);"static"==m(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var p=!1,t=function(){b.resizedAttached&&(p&&(b.resizedAttached.call(),p=!1),a(t))};a(t);var u,z,y,B,v=function(){if((y=b.offsetWidth)!=u||(B=b.offsetHeight)!=z)p=!0,u=y,z=B;g()},J=function(a,b,c){a.attachEvent? -a.attachEvent("on"+b,c):a.addEventListener(b,c)};J(d,"scroll",v);J(f,"scroll",v)}var u=function(){GraphViewer.resizeSensorEnabled&&d()},y=Object.prototype.toString.call(e),B="[object Array]"===y||"[object NodeList]"===y||"[object HTMLCollection]"===y||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(B)for(var y=0,c=e.length;y<c;y++)p(e[y],u);else p(e,u);this.detach=function(){if(B)for(var a=0,c=e.length;a<c;a++)b.detach(e[a]);else b.detach(e)}}; +GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var c=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;c.open("GET",a);c.onload=function(){b(null!=c.getText?c.getText():c.responseText)};c.onerror=e;c.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0; +(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,c){function l(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function m(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function p(b,c){if(!b.resizedAttached)b.resizedAttached= +new l,b.resizedAttached.add(c);else if(b.resizedAttached){b.resizedAttached.add(c);return}b.resizeSensor=document.createElement("div");b.resizeSensor.className="resize-sensor";b.resizeSensor.style.cssText="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;";b.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s;"></div></div><div class="resize-sensor-shrink" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s; width: 200%; height: 200%"></div></div>'; +b.appendChild(b.resizeSensor);"static"==m(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],k=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};k();var p=!1,t=function(){b.resizedAttached&&(p&&(b.resizedAttached.call(),p=!1),a(t))};a(t);var u,y,z,B,v=function(){if((z=b.offsetWidth)!=u||(B=b.offsetHeight)!=y)p=!0,u=z,y=B;k()},J=function(a,b,c){a.attachEvent? +a.attachEvent("on"+b,c):a.addEventListener(b,c)};J(d,"scroll",v);J(f,"scroll",v)}var u=function(){GraphViewer.resizeSensorEnabled&&c()},z=Object.prototype.toString.call(e),B="[object Array]"===z||"[object NodeList]"===z||"[object HTMLCollection]"===z||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(B)for(var z=0,d=e.length;z<d;z++)p(e[z],u);else p(e,u);this.detach=function(){if(B)for(var a=0,c=e.length;a<c;a++)b.detach(e[a]);else b.detach(e)}}; b.detach=function(a){a.resizeSensor&&(a.removeChild(a.resizeSensor),delete a.resizeSensor,delete a.resizedAttached)};window.ResizeSensor=b})(); (function(){Editor.initMath();GraphViewer.initCss();if(null!=window.onDrawioViewerLoad)window.onDrawioViewerLoad();else GraphViewer.processElements()})(); diff --git a/src/main/webapp/resources/dia.txt b/src/main/webapp/resources/dia.txt index bdffe47e6..f1e5a906b 100644 --- a/src/main/webapp/resources/dia.txt +++ b/src/main/webapp/resources/dia.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_am.txt b/src/main/webapp/resources/dia_am.txt index 42a0a0c27..bdfb484d4 100644 --- a/src/main/webapp/resources/dia_am.txt +++ b/src/main/webapp/resources/dia_am.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_ar.txt b/src/main/webapp/resources/dia_ar.txt index 543e1c90b..de06406ea 100644 --- a/src/main/webapp/resources/dia_ar.txt +++ b/src/main/webapp/resources/dia_ar.txt @@ -185,7 +185,7 @@ doubleClickOrientation=‫أنقر مرتين لتغيير الإتجاه‬ doubleClickTooltip=‫انقر مرتين Ù„Ø¥Ø¶Ø§ÙØ© نص‬ doubleClickChangeProperty=Doubleclick to change property name download=‫تØÙ…يل‬ -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=‫تØÙ…يل ك‬ clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_bg.txt b/src/main/webapp/resources/dia_bg.txt index 116f867df..71761d9ee 100644 --- a/src/main/webapp/resources/dia_bg.txt +++ b/src/main/webapp/resources/dia_bg.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Кликнете два пъти за промÑна на doubleClickTooltip=Кликнете два пъти за вмъкване на текÑÑ‚ doubleClickChangeProperty=Кликнете два пъти за промÑна на името на функциÑта download=ИзтеглÑне -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=ИзтеглÑне като clickHereToSave=Кликнете тук за запазване dpi=DPI diff --git a/src/main/webapp/resources/dia_bn.txt b/src/main/webapp/resources/dia_bn.txt index 03a638eff..ec77e4fd2 100644 --- a/src/main/webapp/resources/dia_bn.txt +++ b/src/main/webapp/resources/dia_bn.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_bs.txt b/src/main/webapp/resources/dia_bs.txt index 40d75fede..5a00581e7 100644 --- a/src/main/webapp/resources/dia_bs.txt +++ b/src/main/webapp/resources/dia_bs.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dupli klik za promjenu orijentacije doubleClickTooltip=Dupli klik za unos teksta doubleClickChangeProperty=Dupli klik za promjenu naziva fajla download=Preuzmi -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Preuzmi kao clickHereToSave=Kliknite ovdje kako biste spasili. dpi=DPI diff --git a/src/main/webapp/resources/dia_ca.txt b/src/main/webapp/resources/dia_ca.txt index c51f77fa9..9d067a4f1 100644 --- a/src/main/webapp/resources/dia_ca.txt +++ b/src/main/webapp/resources/dia_ca.txt @@ -42,7 +42,7 @@ arrows=Fletxes asNew=Com a nou atlas=Atles author=Autor -authorizationRequired=Cal autorització +authorizationRequired=Cal autorització authorizeThisAppIn=Autoritza aquesta aplicació a {1}: authorize=Autoritza authorizing=S'està autoritzant @@ -81,12 +81,12 @@ cabinets=Cabinets cancel=Cancel·la center=Centra cannotLoad=S'ha produït un error la cà rrega. Torneu-ho a provar més tard. -cannotLogin=S'ha produït un error en l l'inici de sessió. Torneu-ho a provar més tard. +cannotLogin=S'ha produït un error en l'inici de sessió. Torneu-ho a provar més tard. cannotOpenFile=No s'ha pogut obrir el fitxer change=Canvia changeOrientation=Canvia l'orientació changeUser=Canvia d'usuari -changeStorage=Change storage +changeStorage=Canvia l'emmagatzematge changesNotSaved=No s'han desat els canvis userJoined={1} s'ha afegit userLeft={1} ha sortit @@ -96,8 +96,8 @@ chromeApp=Aplicació Chrome collaborativeEditingNotice=AvÃs important per a l'edició col·laborativa compressed=Comprimit commitMessage=Missatge de la comissió -configLinkWarn=L'enllaç configura el draw.io. Feu clic a "Accepta" només si confieu en la persona que us l'ha enviat. -configLinkConfirm=Feu clic a "Accepta" per configurar i reiniciar el draw.io +configLinkWarn=L'enllaç configura el draw.io. Feu clic a "D'acord" només si confieu en la persona que us l'ha enviat. +configLinkConfirm=Feu clic a "D'acord" per configurar i reiniciar el draw.io. csv=CSV dark=Fosc didYouMeanToExportToPdf=Voleu exportar-ho a PDF? @@ -119,7 +119,7 @@ collaborators=Col·laboradors collapse=Minimitza collapseExpand=Minimitza/Maximitza collapse-expand=Feu clic per reduir/xtendre\nPremeu Shift i feu clic per moure els veïns\nPremeu Alt i feu clic per protegir la mida del grup -collapsible=Minimitzable +collapsible=Plegable comic=Còmic comment=Comentari commentsNotes=Comentaris/Notes @@ -149,7 +149,7 @@ curved=Corbada custom=Personalitza current=Actual currentPage=Pà gina actual -cut=Talla +cut=Retalla dashed=Discontinu decideLater=Decideix més tard default=Predeterminat @@ -173,12 +173,12 @@ diamond=Diamant diamondThin=Diamant (fi) didYouKnow=Sabies que... direction=Direcció -discard=Descartar -discardChangesAndReconnect=Descartar canvis i tornar a connectar +discard=Descarta +discardChangesAndReconnect=Descarta els canvis i torna a connectar googleDriveMissingClickHere=No trobes Google Drive? Clica aquÃ! discardChanges=Descartar els canvis disconnected=Desconnectat -distribute=Distribuir +distribute=Distribueix done=Finalitzat dotted=Puntejat doubleClickOrientation=Fes doble clic per canviar l'orientació @@ -200,7 +200,7 @@ drawingEmpty=El dibuix està buit drawingTooLarge=El dibuix és massa gran drawioForWork=Draw.io per a GSuite dropbox=Dropbox -duplicate=Duplicar +duplicate=Duplica duplicateIt=Duplica {1} divider=Separador dx=Dx @@ -240,22 +240,22 @@ errorRenamingFileNotFound=Error en canviar el nom del fitxer. No s'ha trobat el errorRenamingFileForbidden=Error en canviar el nom del fitxer. No disposa dels drets d'accés suficients. errorSavingDraft=Error en desar l'esborrany errorSavingFile=Error en desar el fitxer -errorSavingFileUnknown=Error en autoritzar els servidors de Google. Si us plau, actualitza la pà gina per reintentar-ho. +errorSavingFileUnknown=Error en autoritzar els servidors de Google. Actualitzeu la pà gina per reintentar-ho. errorSavingFileForbidden=Error en desar el fitxer. No disposeu dels drets d'accés suficients. errorSavingFileNameConflict=No s'ha pogut desar el diagrama. La pà gina actual conté un fitxer anomenat '{1}'. errorSavingFileNotFound=Error en desar. No s'ha trobat el fitxer. -errorSavingFileReadOnlyMode=No s'ha pogut desar el diagrama mentre el mode de només lectura és actiu +errorSavingFileReadOnlyMode=No s'ha pogut desar el diagrama mentre el mode de només lectura és actiu. errorSavingFileSessionTimeout=La teva sessió ha acabat. Si us plau, <a target='_blank' href='{1}'>{2}</a> i retorna a aquesta pestanya per intentar desar-ho de nou. errorSendingFeedback=Error en enviar l'opinió. -errorUpdatingPreview=Error pujant la vista prèvia. +errorUpdatingPreview=S'ha produït un error en actualitzar la vista prèvia. exit=Surt exitGroup=Surt del grup expand=Amplia export=Exporta exporting=S'està exportant -exportAs=Exporta com a +exportAs=Exporta com a exportOptionsDisabled=Opcions d'exportació inactives -exportOptionsDisabledDetails=El propietari ha desactivat les opcions per a descarregar, imprimir o copiar aquest fitxer per els que només tenen permÃs per visualitzar i comentar. +exportOptionsDisabledDetails=El propietari ha desactivat les opcions per a descarregar, imprimir o copiar aquest fitxer pels que només tenen permÃs per visualitzar i comentar. externalChanges=Canvis externs extras=Extres facebook=Facebook @@ -273,11 +273,11 @@ synchronize=Sincronitza filename=Nom del fitxer fileExists=Aquest fitxer ja existeix fileMovedToTrash=S'ha tirat el fitxer a la paperera -fileNearlyFullSeeFaq=El fitxer està quasi ple, si us plau llegeix les PMF +fileNearlyFullSeeFaq=El fitxer està quasi ple, vegeu les PMF fileNotFound=No s'ha trobat el fitxer repositoryNotFound=No s'ha trobat el repositori fileNotFoundOrDenied=No s'ha trobat el fitxer. No existeix o no teniu permÃs. -fileNotLoaded=No s'ha carregat el fitxer +fileNotLoaded=No s'ha carregat el fitxer fileNotSaved=No s'ha desat el fitxer fileOpenLocation=Com desitja obrir aquest(s) fitxer(s)? filetypeHtml=.html fa que el fitxer es desi en HTML amb una redirecció a un URL al núvol @@ -293,7 +293,7 @@ fitContainer=Redimensiona el contenidor fitIntoContainer=Ajusta'l al contenidor fitPage=Ajusta la pà gina fitPageWidth=Ajusta l'amplada de pà gina -fitTo=Ajusta a +fitTo=Ajusta a fitToSheetsAcross=pà gines a través fitToBy=per fitToSheetsDown=pà gines cap a baix @@ -325,7 +325,7 @@ formatVsdx=VSDX formatVssx=VSSX formatXmlPlain=XML (Simple) formatXml=XML -forum=Fòrums de discussió i ajuda +forum=Fòrums de debat i ajuda freehand=Freehand fromTemplate=Des de la plantilla fromTemplateUrl=Des de l'URL de la plantilla @@ -348,7 +348,7 @@ googleSharingNotAvailable=Només està disponible compartir amb Google Drive. Fe googleSlides=Presentacions de Google googleSites=Google Sites googleSheets=Fulls de cà lcul de Google -gradient=Gradient +gradient=Degradat gradientColor=Color grid=QuadrÃcula gridColor=Color de la quadrÃcula @@ -377,7 +377,7 @@ image=Imatge imageUrl=URL de la imatge images=Imatges imagePreviewError=No s'ha pogut carregar la imatge per a la vista prèvia. Comprova l'URL. -imageTooBig=La imatge és massa gran. +imageTooBig=La imatge és massa grossa imgur=Imgur import=Importa importFrom=Importa des de @@ -399,7 +399,7 @@ insertRowAfter=Afegeix una fila avall insertText=Afegeix text inserting=Afegint invalidFilename=Els noms dels diagrames no poden contenir els següents carà cters: \ / | : ; { < & + ? = " -invalidLicenseSeeThisPage=La teva llicència no és và lida, si us plau mira això <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>. +invalidLicenseSeeThisPage=La llicència no és và lida, consulteu aquesta <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">pà gina</a>. invalidInput=L'entrada no és và lida invalidName=El nom no és và lid invalidOrMissingFile=Fitxer no và lid o desconegut @@ -412,7 +412,7 @@ keyboardShortcuts=Dreceres de teclat layers=Capes landscape=Horitzontal language=Idioma -leanMapping=Mapeig pobre +leanMapping=Mapatge pobre lastChange=El darrer canvi s'ha efectuat fa {1} lessThanAMinute=menys d'un minut licensingError=Error de llicència @@ -488,10 +488,10 @@ noLibraries=No s'han trobat biblioteques noMoreResults=No hi ha més resultats none=Cap noOtherViewers=No hi ha cap usuari més -noPlugins=No hi cap plugin +noPlugins=No hi ha cap connector noPreview=No hi ha vista prèvia noResponse=El servidor no respon -noResultsFor=No hi ha cap resultat per a {1} +noResultsFor=No s'ha trobat cap resultat per {1} noRevisions=Sense revisions noSearchResults=La cerca no té resultats noPageContentOrNotSaved=No s'han trobat enllaços a la pà gina o encara no s'ha desat @@ -506,7 +506,7 @@ note=Nota notUsingService=No utilitzes {1}? numberedList=Llista numerada offline=Desconnectat -ok=Accepta +ok=D'acord oneDrive=OneDrive online=Connectat opacity=Opacitat @@ -519,14 +519,14 @@ openLibrary=Obre biblioteca openLibraryFrom=Obre la biblioteca des de openLink=Obre enllaç openInNewWindow=Obre en una finestra nova -openInThisWindow=Obre en la finestra actual +openInThisWindow=Obre en la finestra actual openIt=Obre {1} openRecent=Obre recent openSupported=Els formats suportats inclouen els fitxers desats des del programari actual (.xml), .vsdx i .gliffy options=Opcions organic=Orgà nic orthogonal=Ortogonal -otherViewer=altre usuari +otherViewer=un altre usuari otherViewers=altres usuaris outline=Contorn oval=Oval @@ -554,17 +554,17 @@ pickLibraryDialogTitle=Selecciona biblioteca publicDiagramUrl=URL públic del diagrama placeholders=Espais reservats plantUml=PlantUML -plugins=Plugins -pluginUrl=URL del plugin -pluginWarning=La pà gina actual sol·licita carregar el(s) següent(s) plugin(s):\n \n {1}\n \n Vols carregar aquest(s) plugin(s) ara?\n \n NOTA : Només permet l'execució dels plugins si entens completament les implicacions de seguretat de fer-ho.\n -plusTooltip=Fes clic per connectar i clonar (Ctrl+clic per clonar, Máyus+clic per connectar). Arrossega per connectar (Ctrl+arrossega per clonar). +plugins=Connectors +pluginUrl=URL del connector +pluginWarning=La pà gina sol·licita carregar els següents connectors:\n \n {1}\n \n Voleu carregar aquests connectors?\n \n Atenció: Només permeteu l'execució dels connectors si coneixeu les implicacions de seguretat.\n +plusTooltip=Feu clic per connectar i clonar (Ctrl+clic per clonar, Maj.+clic per connectar). Arrossegueu per connectar (Ctrl+arrossegar per clonar). portrait=Orientació vertical position=Posició posterPrint=Imprimeix cartell preferences=Preferències preview=Vista prèvia previousPage=Pà gina anterior -print=Imprimeix +print=Imprimeix printAllPages=Imprimeix totes les pà gines procEng=Enginyeria de processos project=Projecta @@ -603,7 +603,7 @@ required=requerit reset=Restableix resetView=Restableix la vista resize=Ajusta la mida -resizeLargeImages=Voleu canviar la mida de les imatges grans per fer que l'aplicació funcioni més rà pid? +resizeLargeImages=Voleu canviar la mida de les imatges grans per fer que l'aplicació funcioni més rà pidament? retina=Retina responsive=Receptiu restore=Recupera @@ -619,12 +619,12 @@ right=Dreta rightAlign=Alinea a la dreta rightToLeft=De dreta a esquerra rotate=Gira -rotateTooltip=Fes clic i arrossega per rotar, fes clic per girar 90 graus +rotateTooltip=Feu clic i arrossegueu per girar, feu clic per girar 90 graus rotation=Rotació rounded=Arrodonit save=Desa saveAndExit=Desa i surt -saveAs=Desa com +saveAs=Anomena i desa saveAsXmlFile=Desar com a fitxer XML? saved=S'ha desat saveDiagramFirst=Deseu primer el diagrama @@ -645,28 +645,28 @@ selectFolder=Selecciona una carpeta selectFont=Selecciona una font selectNone=No seleccionis res selectTemplate=Selecciona una plantilla -selectVertices=Selecciona els vèrtexs +selectVertices=Selecciona els vèrtexs sendMessage=Envia -sendYourFeedbackToDrawIo=Envia la teva opinió a draw.io -serviceUnavailableOrBlocked=Servei no disponible o bloquejat -sessionExpired=La teva sessió ha caducat. Si us plau, refresca la finestra del teu navegador. -sessionTimeoutOnSave=La sessió ha caducat i s'ha desconnectat de Google Drive. Prem Accepta per accedir-hi i desar. +sendYourFeedbackToDrawIo=Envieu els vostres comentaris a draw.io +serviceUnavailableOrBlocked=El servei no està disponible o està bloquejat +sessionExpired=La sessió ha caducat. Refresqueu la finestra del navegador. +sessionTimeoutOnSave=La sessió ha caducat i us heu desconnectat de Google Drive. Premeu "D'acord" per accedir-hi i desar. setAsDefaultStyle=Estableix com estil predeterminat shadow=Ombra shape=Forma shapes=Formes share=Comparteix -shareLink=Enllaç per a l'edició compartida. +shareLink=Enllaç per a l'edició compartida sharp=Angulós show=Mostra showStartScreen=Mostra la pantalla d'inici -sidebarTooltip=Clica per expandir. Arrossega i amolla formes al diagrama. Máyus+clic per canviar la selecció. Alt+clic per inserir i connectar. +sidebarTooltip=Feu clic per expandir. Arrossegueu i deixeu anar formes al diagrama. Feu Maj.+clic per canviar la selecció. Alt+clic per inserir i connectar. signs=Signes signOut=Tanca la sessió simple=Simple simpleArrow=Fletxa simple -simpleViewer=Simple Viewer -size=Mida +simpleViewer=Visualitzador simple +size=Mida solid=Continu sourceSpacing=Espaiat original south=Sud @@ -729,9 +729,9 @@ untitledLayer=Capa sense tÃtol untitledLibrary=Biblioteca sense tÃtol unknownError=Error desconegut updateFile=Actualitza {1} -updatingDocument=Actualitzant el document. Si us plau, espera... -updatingPreview=Actualitzant la vista prèvia. Si us plau, espera... -updatingSelection=Actualitzant la selecció. Si us plau, espera... +updatingDocument=S'està actualitzant el document. Espereu... +updatingPreview=S'està actualitzant la vista prèvia. Espereu... +updatingSelection=S'està actualitzant la selecció. Espereu... upload=Carrega url=URL useOffline=Feu-ho servir fora de lÃnia @@ -752,7 +752,7 @@ wiki=Wiki wordWrap=Ajust de lÃnia writingDirection=Direcció de l'escriptura yes=Sà -yourEmailAddress=La vostra adreça de correu +yourEmailAddress=L'adreça de correu electrònic zoom=Amplia zoomIn=Apropa zoomOut=Allunya @@ -782,7 +782,7 @@ recentlyUsed=Usats recentment listView=Visualització de llista gridView=Visualització en graella resultsFor=Resultats per '{1}' -oneDriveCharsNotAllowed=Els següents carà cters no estan permesos: ~ " # % * : < > ? / \ { | } +oneDriveCharsNotAllowed=Els carà cters següents no estan permesos: ~ " # % * : < > ? / \ { | } oneDriveInvalidDeviceName=El nom de dispositiu especificat no és và lid officeNotLoggedOD=No heu entrat a OneDrive. Obriu el quadre de tasques draw.io i inicieu la sessió primer. officeSelectSingleDiag=Seleccioneu un únic diagrama draw.io, sense altres continguts. @@ -804,7 +804,7 @@ errorAuthOD=S'ha produït un error en autenticar-se a OneDrive officeMainHeader=Afegeix esquemes draw.io al document. officeStepsHeader=Aquest complement realitza els passos següents: officeStep1=Es connecta a Microsoft OneDrive, Google Drive o al vostre dispositiu. -officeStep2=Seleccioneu un diagrama de draw.io. +officeStep2=Seleccioneu un diagrama de draw.io: officeStep3=Insereix el diagrama al document. officeAuthPopupInfo=Completeu l'autenticació a la finestra emergent. officeSelDiag=Seleccioneu un diagrama de draw.io @@ -871,7 +871,7 @@ confError=Error: {1} gliffyImport=Importa de Gliffy gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io. gliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed. -startImport=Inicia l'importació +startImport=Inicia la importació drawConfig=Configuració del draw.io customLib=Biblioteques personalitzades customTemp=Plantilles personalitzades @@ -927,7 +927,7 @@ confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page! confADiagUptoDate=Diagram "{1}" is up to date. confACheckPagesWDraw=Checking pages having draw.io diagrams. confAErrOccured=S'ha produït un error. -savedSucc=S'ha desat correctament. +savedSucc=S'ha desat correctament confASaveFailedErr=S'ha produït un error en desar (error inesperat) character=Character confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment diff --git a/src/main/webapp/resources/dia_cs.txt b/src/main/webapp/resources/dia_cs.txt index 70f92f2ad..a0bffd03c 100644 --- a/src/main/webapp/resources/dia_cs.txt +++ b/src/main/webapp/resources/dia_cs.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dvojitým klepnutÃm zmÄ›nÃte orientaci doubleClickTooltip=Dvojitým klepnutÃm vložÃte text doubleClickChangeProperty=Dvojitým klepnutÃm zmÄ›nÃte jméno vlastnosti download=Stáhnout -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Stáhnout jako clickHereToSave=UložÃte klepnutÃm zde. dpi=DPI diff --git a/src/main/webapp/resources/dia_da.txt b/src/main/webapp/resources/dia_da.txt index 7bb11bf1b..cff3f331c 100644 --- a/src/main/webapp/resources/dia_da.txt +++ b/src/main/webapp/resources/dia_da.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dobbeltklik for at ændre orientering doubleClickTooltip=Dobbeltklik for at indsætte tekst doubleClickChangeProperty=Dobbeltklik for at ændre navn download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download som clickHereToSave=Klik her for at gemme dpi=DPI diff --git a/src/main/webapp/resources/dia_de.txt b/src/main/webapp/resources/dia_de.txt index d5a3f65d1..0e59202b0 100644 --- a/src/main/webapp/resources/dia_de.txt +++ b/src/main/webapp/resources/dia_de.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doppelklicken um Orientierung zu ändern doubleClickTooltip=Doppelklicken um Text einzufügen doubleClickChangeProperty=Doppelklicken um Eigenschaftsname zu ändern download=Herunterladen -downloadDesktop=draw.io Desktop herunterladen +downloadDesktop=Hol Dir draw.io Desktop downloadAs=Herunterladen als clickHereToSave=Hier klicken um zu speichern. dpi=DPI diff --git a/src/main/webapp/resources/dia_el.txt b/src/main/webapp/resources/dia_el.txt index 265bdcfd5..34dba000c 100644 --- a/src/main/webapp/resources/dia_el.txt +++ b/src/main/webapp/resources/dia_el.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Κάντε διπλό κλικ για αλλαγή Ï€Ïο doubleClickTooltip=Κάντε διπλό κλικ για εισαγωγή κειμÎνου doubleClickChangeProperty=Κάντε διπλό κλικ για να αλλάξετε το εÏÏος μνήμης download=Λήψη -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Λήψη ως clickHereToSave=Πατήστε εδώ για αποθήκευση dpi=DPI diff --git a/src/main/webapp/resources/dia_eo.txt b/src/main/webapp/resources/dia_eo.txt index 92ef1bc77..2bd8e20db 100644 --- a/src/main/webapp/resources/dia_eo.txt +++ b/src/main/webapp/resources/dia_eo.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=ElÅuti -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=ElÅuti kiel clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_es.txt b/src/main/webapp/resources/dia_es.txt index 045d134b4..4b38454ea 100644 --- a/src/main/webapp/resources/dia_es.txt +++ b/src/main/webapp/resources/dia_es.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Haga doble clic para cambiar la orientación doubleClickTooltip=Haga doble clic para insertar texto doubleClickChangeProperty=Haga doble clic para cambiar el nombre de la propiedad download=Descargar -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Descargar como clickHereToSave=Haga clic aquà para guardar. dpi=DPI diff --git a/src/main/webapp/resources/dia_fa.txt b/src/main/webapp/resources/dia_fa.txt index 9119aae09..e8169ad32 100644 --- a/src/main/webapp/resources/dia_fa.txt +++ b/src/main/webapp/resources/dia_fa.txt @@ -185,7 +185,7 @@ doubleClickOrientation=‫برای تغییر موقعیت دوبار کلیک doubleClickTooltip=‫برای وارد کردن متن دوبار کلیک کنید‬ doubleClickChangeProperty=‫برای تغییر نام property دوبار کلیک کنید‬ download=‫دانلود‬ -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=‫دانلود به‌صورت‬ clickHereToSave=‫برای ذخیره اینجا کلیک نمایید.‬ dpi=DPI diff --git a/src/main/webapp/resources/dia_fi.txt b/src/main/webapp/resources/dia_fi.txt index 5c45da66d..c8118ab1b 100644 --- a/src/main/webapp/resources/dia_fi.txt +++ b/src/main/webapp/resources/dia_fi.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Muuta suuntaa kaksoisnapsauttamalla doubleClickTooltip=Syötä tekstiä kaksoisnapsauttamalla doubleClickChangeProperty=Kaksoisnapauta muuttaaksesi nimeä download=Lataa -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Lataa nimellä clickHereToSave=Klikkaa tästä tallentaaksesi. dpi=DPI diff --git a/src/main/webapp/resources/dia_fil.txt b/src/main/webapp/resources/dia_fil.txt index 565110ab3..593620aa2 100644 --- a/src/main/webapp/resources/dia_fil.txt +++ b/src/main/webapp/resources/dia_fil.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Pindutin ng dalawang beses para mabago ang oryentasyon doubleClickTooltip=Pindutin ng dalawang beses para maglagay ng teksto doubleClickChangeProperty=Pindutin ng dalawang beses para mabago ang ngalan ng katangian download=I-download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=I-download bilang clickHereToSave=Pindutin dito para i-save dpi=DPI diff --git a/src/main/webapp/resources/dia_fr.txt b/src/main/webapp/resources/dia_fr.txt index ee49a3e55..6b97abc4c 100644 --- a/src/main/webapp/resources/dia_fr.txt +++ b/src/main/webapp/resources/dia_fr.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Double-cliquer pour modifier l’orientation doubleClickTooltip=Double-cliquer pour insérer du texte doubleClickChangeProperty=Double-cliquer pour changer le nom de la propriété download=Télécharger -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Télécharger en tant que clickHereToSave=Cliquer ici pour sauvegarder dpi=DPI diff --git a/src/main/webapp/resources/dia_gu.txt b/src/main/webapp/resources/dia_gu.txt index 5e3f997a6..533568c06 100644 --- a/src/main/webapp/resources/dia_gu.txt +++ b/src/main/webapp/resources/dia_gu.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_he.txt b/src/main/webapp/resources/dia_he.txt index 33338124e..5b2440fc6 100644 --- a/src/main/webapp/resources/dia_he.txt +++ b/src/main/webapp/resources/dia_he.txt @@ -185,7 +185,7 @@ doubleClickOrientation=‫לחץ לחיצה כפולה ×œ×©×™× ×•×™ ××•×¨×™×™× doubleClickTooltip=‫לחץ לחיצה כפולה כדי לשלב טקסט‬ doubleClickChangeProperty=‫לחץ לחיצה כפולה כדי ×œ×©× ×•×ª ×ת ×©× ×”×ž×פיין‬ download=‫הורד‬ -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=‫הורד בתור‬ clickHereToSave=‫לחץ ×›×ן כדי לשמור‬ dpi=DPI diff --git a/src/main/webapp/resources/dia_hi.txt b/src/main/webapp/resources/dia_hi.txt index 286965866..1f1b6311d 100644 --- a/src/main/webapp/resources/dia_hi.txt +++ b/src/main/webapp/resources/dia_hi.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_hr.txt b/src/main/webapp/resources/dia_hr.txt index b9ac0b309..95349da41 100644 --- a/src/main/webapp/resources/dia_hr.txt +++ b/src/main/webapp/resources/dia_hr.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_hu.txt b/src/main/webapp/resources/dia_hu.txt index cd6f97c1d..3437a07eb 100644 --- a/src/main/webapp/resources/dia_hu.txt +++ b/src/main/webapp/resources/dia_hu.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dupla klikk az irányultság változtatásához doubleClickTooltip=Dupla klikk szöveg hozzáadásához doubleClickChangeProperty=Dupla klikk a tulajdonság nevének változtatásához download=Letölt -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Letölt mint clickHereToSave=Kattints ide mentéshez dpi=DPI diff --git a/src/main/webapp/resources/dia_id.txt b/src/main/webapp/resources/dia_id.txt index 596ebd6b0..519567657 100644 --- a/src/main/webapp/resources/dia_id.txt +++ b/src/main/webapp/resources/dia_id.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Klik dua kali untuk mengubah orientasi doubleClickTooltip=Klik dua kali untuk menyisipkan teks doubleClickChangeProperty=Klik dua kali untuk mengubah nama properti download=Unduh -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Unduh sebagai clickHereToSave=Klik di sini untuk menyimpan. dpi=DPI diff --git a/src/main/webapp/resources/dia_it.txt b/src/main/webapp/resources/dia_it.txt index 61aa64ba9..dd2455149 100644 --- a/src/main/webapp/resources/dia_it.txt +++ b/src/main/webapp/resources/dia_it.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doppio click per cambiare orientamento doubleClickTooltip=Doppio click per inserire il testo doubleClickChangeProperty=Doppio click per cambiare il nome della proprietà download=Scarica -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Scarica come clickHereToSave=Clicca qui per salvare. dpi=DPI diff --git a/src/main/webapp/resources/dia_ja.txt b/src/main/webapp/resources/dia_ja.txt index df4045c60..e41416ccf 100644 --- a/src/main/webapp/resources/dia_ja.txt +++ b/src/main/webapp/resources/dia_ja.txt @@ -185,7 +185,7 @@ doubleClickOrientation=ダブルクリックã—ã¦å‘ãを変更ã™ã‚‹ doubleClickTooltip=ダブルクリックã—ã¦æ–‡å—を挿入ã™ã‚‹ doubleClickChangeProperty=ダブルクリックã§ãƒ—ãƒãƒ‘ティåを変更ã—ã¦ãã ã•ã„ download=ダウンãƒãƒ¼ãƒ‰ã™ã‚‹ -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=ã¨ã„ã†å½¢å¼ã§ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã™ã‚‹ clickHereToSave=ã“ã“をクリックã—ã¦ä¿å˜ã—ã¦ãã ã•ã„ dpi=DPI diff --git a/src/main/webapp/resources/dia_kn.txt b/src/main/webapp/resources/dia_kn.txt index 2819160be..060ee9819 100644 --- a/src/main/webapp/resources/dia_kn.txt +++ b/src/main/webapp/resources/dia_kn.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_ko.txt b/src/main/webapp/resources/dia_ko.txt index a7a2d94ea..d34c1733b 100644 --- a/src/main/webapp/resources/dia_ko.txt +++ b/src/main/webapp/resources/dia_ko.txt @@ -185,7 +185,7 @@ doubleClickOrientation=ë”블 í´ë¦í•˜ì—¬ ë°©í–¥ 변경 doubleClickTooltip=ë”블 í´ë¦í•˜ì—¬ í…스트 삽입 doubleClickChangeProperty=ë”블 í´ë¦í•˜ì—¬ ì†ì„±ëª… 변경 download=다운로드 -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=다른 íŒŒì¼ í˜•ì‹ìœ¼ë¡œ 다운로드 clickHereToSave=ì €ìž¥í•˜ì‹œë ¤ë©´ 여기를 í´ë¦í•´ 주시기 ë°”ëžë‹ˆë‹¤. dpi=DPI diff --git a/src/main/webapp/resources/dia_lt.txt b/src/main/webapp/resources/dia_lt.txt index 5b45da1d9..b81007747 100644 --- a/src/main/webapp/resources/dia_lt.txt +++ b/src/main/webapp/resources/dia_lt.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_lv.txt b/src/main/webapp/resources/dia_lv.txt index c2cfb37cb..91ca75819 100644 --- a/src/main/webapp/resources/dia_lv.txt +++ b/src/main/webapp/resources/dia_lv.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_ml.txt b/src/main/webapp/resources/dia_ml.txt index aa8e44963..9e78208be 100644 --- a/src/main/webapp/resources/dia_ml.txt +++ b/src/main/webapp/resources/dia_ml.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_mr.txt b/src/main/webapp/resources/dia_mr.txt index d029c61ac..ba3152182 100644 --- a/src/main/webapp/resources/dia_mr.txt +++ b/src/main/webapp/resources/dia_mr.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_ms.txt b/src/main/webapp/resources/dia_ms.txt index 0e64aee03..821677eeb 100644 --- a/src/main/webapp/resources/dia_ms.txt +++ b/src/main/webapp/resources/dia_ms.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Klik dua kali untuk mengubah orientasi doubleClickTooltip=Klik dua kali untuk memasukkan teks doubleClickChangeProperty=Klik dua kali untuk mengubah nama sifat download=Muat turun -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Muat turun sebagai clickHereToSave=Klik di sini untuk menyimpan. dpi=DPI diff --git a/src/main/webapp/resources/dia_my.txt b/src/main/webapp/resources/dia_my.txt index bdffe47e6..f1e5a906b 100644 --- a/src/main/webapp/resources/dia_my.txt +++ b/src/main/webapp/resources/dia_my.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_no.txt b/src/main/webapp/resources/dia_no.txt index 765f6dcb2..3e28d3bbf 100644 --- a/src/main/webapp/resources/dia_no.txt +++ b/src/main/webapp/resources/dia_no.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dobbeltklikk for Ã¥ endre retning doubleClickTooltip=Dobbeltklikk for Ã¥ legge til tekst doubleClickChangeProperty=Dobbeltklikk for Ã¥ endre objektnavn download=Last ned -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Last ned som clickHereToSave=Klikk her for Ã¥ lagre. dpi=DPI diff --git a/src/main/webapp/resources/dia_pl.txt b/src/main/webapp/resources/dia_pl.txt index 2f3ca81cc..4ebf65df6 100644 --- a/src/main/webapp/resources/dia_pl.txt +++ b/src/main/webapp/resources/dia_pl.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Kliknij dwukrotnie, aby zmienić poÅ‚ożenie doubleClickTooltip=Kliknij dwukrotnie, aby wstawić tekst doubleClickChangeProperty=Kliknij dwukrotnie, aby zmienić nazwÄ™ atrybutu download=Pobierz -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Pobierz jako clickHereToSave=Kliknij tutaj, aby zapisać dpi=DPI diff --git a/src/main/webapp/resources/dia_pt-br.txt b/src/main/webapp/resources/dia_pt-br.txt index d065108b8..c2d5aeab6 100644 --- a/src/main/webapp/resources/dia_pt-br.txt +++ b/src/main/webapp/resources/dia_pt-br.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Clique duas vezes para mudar de orientação doubleClickTooltip=Clique duas vezes para inserir texto doubleClickChangeProperty=Clique duas vezes para alterar o nome da propriedade download=Baixar -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Baixar como clickHereToSave=Clique aqui para salvar. dpi=DPI diff --git a/src/main/webapp/resources/dia_pt.txt b/src/main/webapp/resources/dia_pt.txt index 238f398ad..ae104b84d 100644 --- a/src/main/webapp/resources/dia_pt.txt +++ b/src/main/webapp/resources/dia_pt.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Carregar duas vezes para mudar de orientação doubleClickTooltip=Carregar duas vezes para inserir texto doubleClickChangeProperty=Carregar duas vezes para alterar o nome da propriedade download=Descarregar -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Descarregar como clickHereToSave=Carregar aqui para salvar. dpi=DPI diff --git a/src/main/webapp/resources/dia_ro.txt b/src/main/webapp/resources/dia_ro.txt index b394a4e83..12b62d8c5 100644 --- a/src/main/webapp/resources/dia_ro.txt +++ b/src/main/webapp/resources/dia_ro.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dublu-click pentru a modifica orientarea doubleClickTooltip=Dublu-click pentru a insera textul doubleClickChangeProperty=Dublu-click pentru a redenumi proprietatea download=Descarcă -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Descarcă ca ÅŸi clickHereToSave=Apasă aici pentru a salva. dpi=DPI diff --git a/src/main/webapp/resources/dia_si.txt b/src/main/webapp/resources/dia_si.txt index bdffe47e6..f1e5a906b 100644 --- a/src/main/webapp/resources/dia_si.txt +++ b/src/main/webapp/resources/dia_si.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_sk.txt b/src/main/webapp/resources/dia_sk.txt index b9c1c5ef9..771e59e4a 100644 --- a/src/main/webapp/resources/dia_sk.txt +++ b/src/main/webapp/resources/dia_sk.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_sl.txt b/src/main/webapp/resources/dia_sl.txt index be94ff198..1a699e0a1 100644 --- a/src/main/webapp/resources/dia_sl.txt +++ b/src/main/webapp/resources/dia_sl.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_sr.txt b/src/main/webapp/resources/dia_sr.txt index 720bcb249..196fdcbc9 100644 --- a/src/main/webapp/resources/dia_sr.txt +++ b/src/main/webapp/resources/dia_sr.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dupli klik za promenu orijentacije doubleClickTooltip=Dupli klik za unos teksta doubleClickChangeProperty=Dupli klik za promenu imena download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=SaÄuvaj kao clickHereToSave=Klikni ovde za snimanje dpi=DPI diff --git a/src/main/webapp/resources/dia_sv.txt b/src/main/webapp/resources/dia_sv.txt index 893757861..10cd9843d 100644 --- a/src/main/webapp/resources/dia_sv.txt +++ b/src/main/webapp/resources/dia_sv.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Dubbelklicka för att ändra riktning doubleClickTooltip=Dubbelklicka för att infoga text doubleClickChangeProperty=Dubbelklicka för att ändra egenskapsnamn download=Ladda ner -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Ladda ner som clickHereToSave=Klicka här för att spara. dpi=DPI diff --git a/src/main/webapp/resources/dia_sw.txt b/src/main/webapp/resources/dia_sw.txt index 305366ade..94405aa3c 100644 --- a/src/main/webapp/resources/dia_sw.txt +++ b/src/main/webapp/resources/dia_sw.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_ta.txt b/src/main/webapp/resources/dia_ta.txt index c1eef68e9..ebba03872 100644 --- a/src/main/webapp/resources/dia_ta.txt +++ b/src/main/webapp/resources/dia_ta.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_te.txt b/src/main/webapp/resources/dia_te.txt index 114fc3fea..2bdf9ecfc 100644 --- a/src/main/webapp/resources/dia_te.txt +++ b/src/main/webapp/resources/dia_te.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Doubleclick to change orientation doubleClickTooltip=Doubleclick to insert text doubleClickChangeProperty=Doubleclick to change property name download=Download -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Download as clickHereToSave=Click here to save. dpi=DPI diff --git a/src/main/webapp/resources/dia_th.txt b/src/main/webapp/resources/dia_th.txt index 0f0127591..302c53372 100644 --- a/src/main/webapp/resources/dia_th.txt +++ b/src/main/webapp/resources/dia_th.txt @@ -185,7 +185,7 @@ doubleClickOrientation=ดับเบิ้ลคลิ๊à¸à¹€à¸žà¸·à¹ˆà¸à¹€ doubleClickTooltip=ดับเบิ้ลคลิ๊à¸à¸à¸¥à¹ˆà¸à¸‡à¸‚้à¸à¸„วามช่วยเหลืภdoubleClickChangeProperty=ดับเบิ้ลคลิà¸à¹€à¸žà¸·à¹ˆà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸Šà¸·à¹ˆà¸à¸„ุณสมบัติ download=ดาวน์โหลด -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=ดาวน์โหลดเป็น clickHereToSave=คลิà¸à¸—ี่นี่เพื่à¸à¸šà¸±à¸™à¸—ึภdpi=DPI diff --git a/src/main/webapp/resources/dia_tr.txt b/src/main/webapp/resources/dia_tr.txt index b15cddc84..cc26a1aaf 100644 --- a/src/main/webapp/resources/dia_tr.txt +++ b/src/main/webapp/resources/dia_tr.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Yönlendirmeyi deÄŸiÅŸtirmek için çift tıklayın doubleClickTooltip=Metin girmek için çift tıklayın doubleClickChangeProperty=Özellik ismini deÄŸiÅŸtirmek için çift tıklayınız download=İndir -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Farklı indir clickHereToSave=Kaydetmek için burayı tıklayınız dpi=DPI diff --git a/src/main/webapp/resources/dia_vi.txt b/src/main/webapp/resources/dia_vi.txt index c01d6443c..c1a5ea1ad 100644 --- a/src/main/webapp/resources/dia_vi.txt +++ b/src/main/webapp/resources/dia_vi.txt @@ -185,7 +185,7 @@ doubleClickOrientation=Nhấp đôi chuá»™t để đổi hướng doubleClickTooltip=Nhấp đôi chuá»™t để chèn văn bản doubleClickChangeProperty=Nhấp đôi chuá»™t để đổi tên thuá»™c tÃnh download=Tải xuống -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=Tải xuống dưới dạng clickHereToSave=Nhấn và o đây để lưu dpi=DPI diff --git a/src/main/webapp/resources/dia_zh-tw.txt b/src/main/webapp/resources/dia_zh-tw.txt index 94acd53cd..d376bac81 100644 --- a/src/main/webapp/resources/dia_zh-tw.txt +++ b/src/main/webapp/resources/dia_zh-tw.txt @@ -185,7 +185,7 @@ doubleClickOrientation=é›™æ“Šæ”¹è®Šæ–¹å‘ doubleClickTooltip=雙撃æ’å…¥æ–‡å— doubleClickChangeProperty=雙撃更改屬性å download=下載 -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=下載為 clickHereToSave=點擊æ¤è™•å˜æª”。 dpi=DPI diff --git a/src/main/webapp/resources/dia_zh.txt b/src/main/webapp/resources/dia_zh.txt index d9e133155..93b18c4d2 100644 --- a/src/main/webapp/resources/dia_zh.txt +++ b/src/main/webapp/resources/dia_zh.txt @@ -185,7 +185,7 @@ doubleClickOrientation=åŒå‡»ä»¥æ”¹å˜æ–¹å‘ doubleClickTooltip=åŒå‡»ä»¥æ’å…¥æ–‡å— doubleClickChangeProperty=åŒå‡»ä»¥æ›´æ”¹å±žæ€§å download=下载 -downloadDesktop=Download draw.io Desktop +downloadDesktop=Get draw.io Desktop downloadAs=下载为 clickHereToSave=点击æ¤å¤„ä¿å˜ã€‚ dpi=DPI diff --git a/src/main/webapp/shapes/mxArrows.js b/src/main/webapp/shapes/mxArrows.js index ddceed334..2a8526a76 100644 --- a/src/main/webapp/shapes/mxArrows.js +++ b/src/main/webapp/shapes/mxArrows.js @@ -29,7 +29,9 @@ mxUtils.extend(mxShapeArrows2Arrow, mxActor); mxShapeArrows2Arrow.prototype.customProperties = [ {name: 'dx', dispName: 'Arrowhead Length', type: 'float', min: 0, defVal: 40}, {name: 'dy', dispName: 'Arrow Width', type: 'float', min:0, max:1, defVal: 0.6}, - {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0} + {name: 'notch', dispName: 'Notch', type: 'float', min:0, defVal: 0}, + {name: 'headCrossline', dispName: 'Head Crossline', type: 'bool', defVal: false}, + {name: 'tailCrossline', dispName: 'Tail Crossline', type: 'bool', defVal: false} ]; mxShapeArrows2Arrow.prototype.cst = { @@ -48,6 +50,8 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) var dy = h * 0.5 * Math.max(0, Math.min(1, parseFloat(mxUtils.getValue(this.style, 'dy', this.dy)))); var dx = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'dx', this.dx)))); var notch = Math.max(0, Math.min(w, parseFloat(mxUtils.getValue(this.style, 'notch', this.notch)))); + var headCrossline = mxUtils.getValue(this.style, 'headCrossline', false); + var tailCrossline = mxUtils.getValue(this.style, 'tailCrossline', false); c.begin(); c.moveTo(0, dy); @@ -60,6 +64,24 @@ mxShapeArrows2Arrow.prototype.paintVertexShape = function(c, x, y, w, h) c.lineTo(notch, h * 0.5); c.close(); c.fillAndStroke(); + + c.setShadow(false); + + if (headCrossline) + { + c.begin(); + c.moveTo(w - dx, dy); + c.lineTo(w - dx, h - dy); + c.stroke(); + } + + if (tailCrossline) + { + c.begin(); + c.moveTo(notch, dy); + c.lineTo(notch, h - dy); + c.stroke(); + } }; mxShapeArrows2Arrow.prototype.getLabelBounds = function(rect) diff --git a/src/main/webapp/shapes/mxCisco19.js b/src/main/webapp/shapes/mxCisco19.js new file mode 100644 index 000000000..8df2f0855 --- /dev/null +++ b/src/main/webapp/shapes/mxCisco19.js @@ -0,0 +1,145 @@ +/** + * $Id: mxCisco19.js,v 1.0 2019/12/10 13:05:39 mate Exp $ + * Copyright (c) 2006-2019, JGraph Ltd + */ + +//********************************************************************************************************************************************************** +//rect +//********************************************************************************************************************************************************** +/** +* Extends mxShape. +*/ +function mxShapeCisco19Rect(bounds, fill, stroke, strokewidth) +{ + mxShape.call(this); + this.bounds = bounds; + this.fill = fill; + this.stroke = stroke; + this.strokewidth = (strokewidth != null) ? strokewidth : 1; +}; + +/** +* Extends mxShape. +*/ +mxUtils.extend(mxShapeCisco19Rect, mxShape); + +mxShapeCisco19Rect.prototype.cst = { + SHAPE_RECT : 'mxgraph.cisco19.rect' +}; + +/** +* Function: paintVertexShape +* +* Paints the vertex shape. +*/ +mxShapeCisco19Rect.prototype.paintVertexShape = function(c, x, y, w, h) +{ + var prIcon = mxUtils.getValue(this.state.style, 'prIcon', 'l2_switch'); + + var fillColor = mxUtils.getValue(this.state.style, 'fillColor', '#ffffff'); + var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', '#000000'); + + var bgIcon = 'mxgraph.cisco19.bg1'; + var circleBg = ['router', 'csr_1000v', 'wireless_router', 'l3_modular3', 'ucs_express', 'router_with_voice', 'router_with_firewall', 'netflow_router', 'secure_router', 'ip_telephone_router', 'asr_9000', 'clock', 'vbond', 'vmanage', 'vsmart']; + + c.translate(x, y); + + if (['l2_modular', 'l3_modular', '6500_vss', 'nexus_9500', 'nexus_7k'].includes(prIcon)) // square with 1 hor rect on top + { + bgIcon = 'mxgraph.cisco19.bg2'; + } + else if (['l2_switch_with_dual_supervisor', 'l3_switch_with_dual_supervisor'].includes(prIcon)) //square with 2 hor rects on top + { + bgIcon = 'mxgraph.cisco19.bg3'; + } + else if (['l2_modular2'].includes(prIcon)) // vert 2 rects + { + bgIcon = 'mxgraph.cisco19.bg4'; + } + else if (['l3_modular2', '6500_vss2', 'hypervisor', 'collab1'].includes(prIcon)) // vert rect + { + bgIcon = 'mxgraph.cisco19.bg5'; + } + else if (circleBg.includes(prIcon)) // circle + { + c.begin(); + + if (prIcon == 'wireless_router') + { + c.ellipse(0, h * 0.17, w, h * 0.83); + } + else + { + c.ellipse(0, 0, w, h); + } + + c.fill(); + } + else if (['content_router', 'router_with_firewall2', 'netflow_router2', 'nam_virtual_service_blade', 'ucs_5108_blade_chassis', 'storage', 'nexus_1kv_vsm', 'nexus_1k', 'nexus_1010', 'dual mode access point', 'wireless_lan_controller', 'primary_codec', 'virtual_desktop_service', 'video_gateway', 'video_analytics', 'telepresence_exchange', 'meeting_scheduling_and_management_server', 'content_recording_streaming_server', 'communications_manager', 'cisco_unified_presence_service', 'cisco_unified_contact_center_enterprise_and_hosted', 'h323', 'monitor', 'telepresence_endpoint_twin_data_display', 'operations_manager', 'transcoder', 'contact_center_express', 'ip_ip_gateway', 'shield', 'set_top', 'da_encoder', 'ad_encoder', 'da_decoder', 'ad_decoder', 'acs', 'email_security', 'vpn_concentrator', 'ssl_terminator', 'cisco_security_manager', 'web_security', 'nac_appliance', 'ironport', 'ips_ids', 'firewall', 'asa_5500', 'flow_collector', 'load_balancer', 'web_application_firewall', 'analysis_correlation', 'flow_analytics', 'virtual_private_network2', 'web_security_services', 'web_security_services2', 'virtual_private_network_connector'].includes(prIcon)) //hor. rect + { + bgIcon = 'mxgraph.cisco19.bg6'; + } + else if (['asr_1000'].includes(prIcon)) //hexagon + { + bgIcon = 'mxgraph.cisco19.bg7'; + } + else if (['fibre_channel_director_mds_9000', 'fibre_channel_fabric_switch'].includes(prIcon)) // square with 1 hor rect at the bottom + { + bgIcon = 'mxgraph.cisco19.bg8'; + } + else if (['ucs_c_series_server'].includes(prIcon)) // narrow hor rect + { + bgIcon = 'mxgraph.cisco19.bg9'; + } + else if (['aci'].includes(prIcon)) // background specific for ACI + { + var frame = mxStencilRegistry.getStencil('mxgraph.cisco19.acibg'); + frame.drawShape(c, this, w * 0.195, h * 0.195, w * 0.61, h * 0.61); + } + else if (['immersive_telepresence_endpoint'].includes(prIcon)) // extra wide rect + { + bgIcon = 'mxgraph.cisco19.bg10'; + } + + + if (!circleBg.includes(prIcon) && prIcon != 'aci') + { + var frame = mxStencilRegistry.getStencil(bgIcon); + frame.drawShape(c, this, 0, 0, w, h); + } + + c.setShadow(false); + + + var prStencil = mxStencilRegistry.getStencil('mxgraph.cisco19.' + prIcon); + + c.setFillColor(strokeColor); + + if (prStencil != null) + { + prStencil.drawShape(c, this, 0, 0, w, h); + } +}; + +mxCellRenderer.registerShape(mxShapeCisco19Rect.prototype.cst.SHAPE_RECT, mxShapeCisco19Rect); + +mxShapeCisco19Rect.prototype.getConstraints = function(style, w, h) +{ + var constr = []; + + constr.push(new mxConnectionConstraint(new mxPoint(0.825, 0.5), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.175, 0.5), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.16), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.5, 0.84), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.66, 0.17), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.66, 0.83), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.34, 0.17), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.34, 0.83), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.33), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.75, 0.67), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.33), false)); + constr.push(new mxConnectionConstraint(new mxPoint(0.25, 0.67), false)); + + return (constr); +}; + diff --git a/src/main/webapp/shapes/mxDFD.js b/src/main/webapp/shapes/mxDFD.js index 899710f24..bfd4614c7 100644 --- a/src/main/webapp/shapes/mxDFD.js +++ b/src/main/webapp/shapes/mxDFD.js @@ -264,7 +264,7 @@ mxShapeDFDDataStoreID.prototype.paintVertexShape = function(c, x, y, w, h) c.lineTo(0, h); c.lineTo(0, 0); c.lineTo(w, 0); - c.stroke(); + c.fillAndStroke(); c.setShadow(false); diff --git a/src/main/webapp/shapes/mxKubernetes.js b/src/main/webapp/shapes/mxKubernetes.js index fda538908..74ec9a698 100644 --- a/src/main/webapp/shapes/mxKubernetes.js +++ b/src/main/webapp/shapes/mxKubernetes.js @@ -92,10 +92,12 @@ mxShapeKubernetesIcon.prototype.paintVertexShape = function(c, x, y, w, h) frame.drawShape(c, this, w * 0.03, h * 0.03, w * 0.94, h * 0.94); var prStencil = mxStencilRegistry.getStencil('mxgraph.kubernetes.' + prIcon); - - c.setFillColor(strokeColor); - prStencil.drawShape(c, this, w * 0.2, h * 0.2, w * 0.6, h * 0.6); + if (prStencil != null) + { + c.setFillColor(strokeColor); + prStencil.drawShape(c, this, w * 0.2, h * 0.2, w * 0.6, h * 0.6); + } }; mxCellRenderer.registerShape(mxShapeKubernetesIcon.prototype.cst.ICON, mxShapeKubernetesIcon); diff --git a/src/main/webapp/stencils/cisco19.xml b/src/main/webapp/stencils/cisco19.xml new file mode 100644 index 000000000..8d792bf9c --- /dev/null +++ b/src/main/webapp/stencils/cisco19.xml @@ -0,0 +1,25930 @@ +<shapes name="mxgraph.cisco19"> +<shape aspect="variable" h="107.15" name="3g 4g indicator" strokewidth="inherit" w="108.72"> + <connections/> + <foreground> + <path> + <move x="10.76" y="0.1"/> + <arc large-arc-flag="1" rx="10" ry="10" sweep-flag="0" x="10.53" x-axis-rotation="0" y="20.1"/> + <line x="18.74" y="20.19"/> + <arc large-arc-flag="0" rx="10" ry="10" sweep-flag="0" x="18.86" x-axis-rotation="0" y="20.2"/> + <curve x1="40.77" x2="57.89" x3="70" y1="20.2" y2="29.59" y3="42.83"/> + <curve x1="82.11" x2="88.65" x3="88.65" y1="56.07" y2="73.31" y3="86.94"/> + <arc large-arc-flag="0" rx="10" ry="10" sweep-flag="0" x="88.65" x-axis-rotation="0" y="86.95"/> + <line x="88.67" y="96.39"/> + <arc large-arc-flag="1" rx="10" ry="10" sweep-flag="0" x="108.67" x-axis-rotation="0" y="96.36"/> + <line x="108.65" y="86.94"/> + <curve x1="108.65" x2="100.13" x3="84.76" y1="67.28" y2="46.14" y3="29.33"/> + <curve x1="69.38" x2="46.6" x3="18.86" y1="12.52" y2="0.19" y3="0.19"/> + <line x="18.97" y="0.19"/> + <close/> + <move x="20.37" y="36.64"/> + <line x="10.59" y="36.65"/> + <arc large-arc-flag="1" rx="10" ry="10" sweep-flag="0" x="10.61" x-axis-rotation="0" y="56.65"/> + <line x="20.38" y="56.64"/> + <curve x1="27.13" x2="35.49" x3="41.81" y1="56.64" y2="60.29" y3="66.47"/> + <curve x1="48.13" x2="52.19" x3="52.19" y1="72.64" y2="80.88" y3="89.1"/> + <arc large-arc-flag="0" rx="10" ry="10" sweep-flag="0" x="52.19" x-axis-rotation="0" y="89.16"/> + <line x="52.24" y="96.62"/> + <arc large-arc-flag="1" rx="10" ry="10" sweep-flag="0" x="72.24" x-axis-rotation="0" y="96.5"/> + <line x="72.19" y="89.1"/> + <curve x1="72.19" x2="65.36" x3="55.79" y1="74.51" y2="61.51" y3="52.16"/> + <curve x1="46.21" x2="33.67" x3="20.38" y1="42.81" y2="36.64" y3="36.64"/> + <arc large-arc-flag="0" rx="10" ry="10" sweep-flag="0" x="20.37" x-axis-rotation="0" y="36.64"/> + <close/> + <move x="31.55" y="90.99"/> + <arc large-arc-flag="0" rx="15.52" ry="15.52" sweep-flag="1" x="16.03" x-axis-rotation="0" y="106.51"/> + <arc large-arc-flag="0" rx="15.52" ry="15.52" sweep-flag="1" x="0.51" x-axis-rotation="0" y="90.99"/> + <arc large-arc-flag="0" rx="15.52" ry="15.52" sweep-flag="1" x="16.03" x-axis-rotation="0" y="75.47"/> + <arc large-arc-flag="0" rx="15.52" ry="15.52" sweep-flag="1" x="31.55" x-axis-rotation="0" y="90.99"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="279.26" name="6500 vss" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="20.21" y="126.35"/> + <line x="29.21" y="126.35"/> + <line x="29.21" y="123.35"/> + <line x="20.21" y="123.35"/> + <close/> + <move x="38.21" y="126.35"/> + <line x="47.21" y="126.35"/> + <line x="47.21" y="123.35"/> + <line x="38.21" y="123.35"/> + <close/> + <move x="56.21" y="126.35"/> + <line x="65.21" y="126.35"/> + <line x="65.21" y="123.35"/> + <line x="56.21" y="123.35"/> + <close/> + <move x="74.21" y="126.35"/> + <line x="83.21" y="126.35"/> + <line x="83.21" y="123.35"/> + <line x="74.21" y="123.35"/> + <close/> + <move x="92.21" y="126.35"/> + <line x="101.21" y="126.35"/> + <line x="101.21" y="123.35"/> + <line x="92.21" y="123.35"/> + <close/> + <move x="110.21" y="126.35"/> + <line x="119.21" y="126.35"/> + <line x="119.21" y="123.35"/> + <line x="110.21" y="123.35"/> + <close/> + <move x="128.21" y="126.35"/> + <line x="137.21" y="126.35"/> + <line x="137.21" y="123.35"/> + <line x="128.21" y="123.35"/> + <close/> + <move x="146.21" y="126.35"/> + <line x="155.21" y="126.35"/> + <line x="155.21" y="123.35"/> + <line x="146.21" y="123.35"/> + <close/> + <move x="164.21" y="126.35"/> + <line x="173.21" y="126.35"/> + <line x="173.21" y="123.35"/> + <line x="164.21" y="123.35"/> + <close/> + <move x="172.63" y="141.92"/> + <line x="175.63" y="141.92"/> + <line x="175.63" y="132.92"/> + <line x="172.63" y="132.92"/> + <close/> + <move x="18.71" y="142.72"/> + <line x="21.71" y="142.72"/> + <line x="21.71" y="133.72"/> + <line x="18.71" y="133.72"/> + <close/> + <move x="172.63" y="159.92"/> + <line x="175.63" y="159.92"/> + <line x="175.63" y="150.92"/> + <line x="172.63" y="150.92"/> + <close/> + <move x="18.71" y="160.72"/> + <line x="21.71" y="160.72"/> + <line x="21.71" y="151.72"/> + <line x="18.71" y="151.72"/> + <close/> + <move x="172.63" y="177.92"/> + <line x="175.63" y="177.92"/> + <line x="175.63" y="168.92"/> + <line x="172.63" y="168.92"/> + <close/> + <move x="18.71" y="178.72"/> + <line x="21.71" y="178.72"/> + <line x="21.71" y="169.72"/> + <line x="18.71" y="169.72"/> + <close/> + <move x="172.63" y="195.92"/> + <line x="175.63" y="195.92"/> + <line x="175.63" y="186.92"/> + <line x="172.63" y="186.92"/> + <close/> + <move x="18.71" y="196.72"/> + <line x="21.71" y="196.72"/> + <line x="21.71" y="187.72"/> + <line x="18.71" y="187.72"/> + <close/> + <move x="172.63" y="213.92"/> + <line x="175.63" y="213.92"/> + <line x="175.63" y="204.92"/> + <line x="172.63" y="204.92"/> + <close/> + <move x="18.71" y="214.72"/> + <line x="21.71" y="214.72"/> + <line x="21.71" y="205.72"/> + <line x="18.71" y="205.72"/> + <close/> + <move x="172.63" y="231.92"/> + <line x="175.63" y="231.92"/> + <line x="175.63" y="222.92"/> + <line x="172.63" y="222.92"/> + <close/> + <move x="18.71" y="232.72"/> + <line x="21.71" y="232.72"/> + <line x="21.71" y="223.72"/> + <line x="18.71" y="223.72"/> + <close/> + <move x="172.63" y="249.86"/> + <line x="174.07" y="249.86"/> + <line x="174.07" y="251.36"/> + <line x="174.13" y="251.36"/> + <line x="175.63" y="251.36"/> + <line x="175.63" y="249.86"/> + <line x="175.63" y="240.92"/> + <line x="172.63" y="240.92"/> + <close/> + <move x="18.71" y="249.86"/> + <line x="18.71" y="251.36"/> + <line x="20.21" y="251.36"/> + <line x="21.07" y="251.36"/> + <line x="21.07" y="249.86"/> + <line x="21.71" y="249.86"/> + <line x="21.71" y="241.72"/> + <line x="18.71" y="241.72"/> + <close/> + <move x="30.07" y="251.36"/> + <line x="39.07" y="251.36"/> + <line x="39.07" y="248.36"/> + <line x="30.07" y="248.36"/> + <close/> + <move x="48.07" y="251.36"/> + <line x="57.07" y="251.36"/> + <line x="57.07" y="248.36"/> + <line x="48.07" y="248.36"/> + <close/> + <move x="66.07" y="251.36"/> + <line x="75.07" y="251.36"/> + <line x="75.07" y="248.36"/> + <line x="66.07" y="248.36"/> + <close/> + <move x="84.07" y="251.36"/> + <line x="93.07" y="251.36"/> + <line x="93.07" y="248.36"/> + <line x="84.07" y="248.36"/> + <close/> + <move x="102.07" y="251.36"/> + <line x="111.07" y="251.36"/> + <line x="111.07" y="248.36"/> + <line x="102.07" y="248.36"/> + <close/> + <move x="120.07" y="251.36"/> + <line x="129.07" y="251.36"/> + <line x="129.07" y="248.36"/> + <line x="120.07" y="248.36"/> + <close/> + <move x="138.07" y="251.36"/> + <line x="147.07" y="251.36"/> + <line x="147.07" y="248.36"/> + <line x="138.07" y="248.36"/> + <close/> + <move x="156.07" y="251.36"/> + <line x="165.07" y="251.36"/> + <line x="165.07" y="248.36"/> + <line x="156.07" y="248.36"/> + <close/> + <move x="36.74" y="15.11"/> + <line x="36.74" y="29.19"/> + <line x="64.3" y="29.19"/> + <line x="92.3" y="40.13"/> + <line x="65.18" y="50.73"/> + <line x="65.18" y="50.48"/> + <line x="36.74" y="50.48"/> + <line x="36.74" y="64.56"/> + <line x="65.18" y="64.56"/> + <line x="65.18" y="58.93"/> + <line x="127.04" y="58.93"/> + <line x="127.04" y="64.56"/> + <line x="155.48" y="64.56"/> + <line x="155.48" y="50.48"/> + <line x="127.04" y="50.48"/> + <line x="127.04" y="50.49"/> + <line x="100.54" y="40.13"/> + <line x="128.54" y="29.19"/> + <line x="155.48" y="29.19"/> + <line x="155.48" y="15.11"/> + <line x="127.04" y="15.11"/> + <line x="127.04" y="20.65"/> + <line x="65.18" y="20.65"/> + <line x="65.18" y="15.11"/> + <close/> + <move x="65.18" y="23.65"/> + <line x="127.04" y="23.65"/> + <line x="127.04" y="26.55"/> + <line x="96.42" y="38.52"/> + <line x="65.18" y="26.31"/> + <close/> + <move x="96.42" y="41.74"/> + <line x="127.04" y="53.71"/> + <line x="127.04" y="55.93"/> + <line x="65.18" y="55.93"/> + <line x="65.18" y="53.95"/> + <close/> + <move x="59.36" y="152.79"/> + <line x="52.59" y="162.53"/> + <line x="57.09" y="162.53"/> + <line x="57.09" y="172.87"/> + <curve x1="55.11" x2="53.24" x3="51.61" y1="173.21" y2="174" y3="175.17"/> + <line x="44.27" y="167.88"/> + <line x="47.44" y="164.69"/> + <line x="35.82" y="162.56"/> + <line x="37.96" y="174.23"/> + <line x="41.13" y="171.04"/> + <line x="48.46" y="178.34"/> + <curve x1="47.35" x2="46.6" x3="46.27" y1="179.94" y2="181.77" y3="183.69"/> + <line x="35.92" y="183.69"/> + <line x="35.92" y="179.2"/> + <line x="26.18" y="185.88"/> + <line x="35.92" y="192.65"/> + <line x="35.92" y="188.15"/> + <line x="46.26" y="188.15"/> + <curve x1="46.59" x2="47.36" x3="48.5" y1="190.09" y2="191.94" y3="193.54"/> + <line x="41.18" y="200.87"/> + <line x="38" y="197.69"/> + <line x="35.9" y="209.37"/> + <line x="47.51" y="207.2"/> + <line x="44.34" y="204.02"/> + <line x="51.64" y="196.71"/> + <curve x1="53.26" x2="55.12" x3="57.09" y1="197.86" y2="198.63" y3="198.97"/> + <line x="57.09" y="209.32"/> + <line x="52.59" y="209.32"/> + <line x="59.36" y="219.06"/> + <line x="66.04" y="209.32"/> + <line x="61.55" y="209.32"/> + <line x="61.55" y="198.98"/> + <curve x1="63.5" x2="65.34" x3="66.96" y1="198.64" y2="197.87" y3="196.72"/> + <line x="74.3" y="204.03"/> + <line x="71.13" y="207.21"/> + <line x="82.81" y="209.29"/> + <line x="80.61" y="197.68"/> + <line x="77.45" y="200.86"/> + <line x="70.12" y="193.58"/> + <curve x1="70.96" x2="71.59" x3="72" y1="192.39" y2="191.07" y3="189.67"/> + <line x="88.85" y="189.67"/> + <curve x1="89.04" x2="89.53" x3="90.25" y1="193.96" y2="197.81" y3="200.85"/> + <curve x1="90.72" x2="91.27" x3="91.97" y1="202.8" y2="204.41" y3="205.66"/> + <curve x1="92.68" x2="93.67" x3="95.2" y1="206.91" y2="208.04" y3="208.04"/> + <curve x1="96.72" x2="97.72" x3="98.42" y1="208.04" y2="206.91" y3="205.66"/> + <curve x1="99.13" x2="99.67" x3="100.14" y1="204.41" y2="202.8" y3="200.85"/> + <curve x1="100.87" x2="101.36" x3="101.54" y1="197.81" y2="193.96" y3="189.67"/> + <line x="119.79" y="189.67"/> + <curve x1="120.2" x2="120.84" x3="121.68" y1="191.07" y2="192.39" y3="193.58"/> + <line x="114.35" y="200.86"/> + <line x="111.18" y="197.68"/> + <line x="108.99" y="209.29"/> + <line x="120.66" y="207.21"/> + <line x="117.49" y="204.03"/> + <line x="124.84" y="196.72"/> + <curve x1="126.45" x2="128.3" x3="130.25" y1="197.87" y2="198.64" y3="198.98"/> + <line x="130.25" y="209.32"/> + <line x="125.75" y="209.32"/> + <line x="132.44" y="219.06"/> + <line x="139.2" y="209.32"/> + <line x="134.71" y="209.32"/> + <line x="134.71" y="198.97"/> + <curve x1="136.67" x2="138.53" x3="140.15" y1="198.63" y2="197.86" y3="196.71"/> + <line x="147.46" y="204.02"/> + <line x="144.28" y="207.2"/> + <line x="155.89" y="209.37"/> + <line x="153.8" y="197.69"/> + <line x="150.62" y="200.87"/> + <line x="143.3" y="193.54"/> + <curve x1="144.44" x2="145.2" x3="145.54" y1="191.94" y2="190.09" y3="188.15"/> + <line x="155.87" y="188.15"/> + <line x="155.87" y="192.65"/> + <line x="165.61" y="185.88"/> + <line x="155.87" y="179.2"/> + <line x="155.87" y="183.69"/> + <line x="145.52" y="183.69"/> + <curve x1="145.2" x2="144.45" x3="143.33" y1="181.77" y2="179.94" y3="178.34"/> + <line x="150.67" y="171.04"/> + <line x="153.84" y="174.23"/> + <line x="155.98" y="162.56"/> + <line x="144.35" y="164.69"/> + <line x="147.52" y="167.88"/> + <line x="140.19" y="175.17"/> + <curve x1="138.56" x2="136.69" x3="134.71" y1="174" y2="173.21" y3="172.87"/> + <line x="134.71" y="162.53"/> + <line x="139.2" y="162.53"/> + <line x="132.44" y="152.79"/> + <line x="125.75" y="162.53"/> + <line x="130.25" y="162.53"/> + <line x="130.25" y="172.88"/> + <curve x1="128.31" x2="126.48" x3="124.87" y1="173.21" y2="173.96" y3="175.09"/> + <line x="117.56" y="167.77"/> + <line x="120.74" y="164.59"/> + <line x="109.07" y="162.48"/> + <line x="111.22" y="174.1"/> + <line x="114.4" y="170.92"/> + <line x="121.71" y="178.24"/> + <curve x1="120.85" x2="120.2" x3="119.78" y1="179.44" y2="180.77" y3="182.17"/> + <line x="101.54" y="182.17"/> + <curve x1="101.36" x2="100.87" x3="100.14" y1="177.89" y2="174.03" y3="171"/> + <curve x1="99.67" x2="99.13" x3="98.42" y1="169.05" y2="167.44" y3="166.19"/> + <curve x1="97.72" x2="96.72" x3="95.2" y1="164.94" y2="163.81" y3="163.81"/> + <curve x1="93.67" x2="92.68" x3="91.97" y1="163.81" y2="164.94" y3="166.19"/> + <curve x1="91.27" x2="90.72" x3="90.25" y1="167.44" y2="169.05" y3="171"/> + <curve x1="89.53" x2="89.04" x3="88.85" y1="174.03" y2="177.89" y3="182.17"/> + <line x="72.01" y="182.17"/> + <curve x1="71.59" x2="70.94" x3="70.09" y1="180.77" y2="179.44" y3="178.24"/> + <line x="77.39" y="170.92"/> + <line x="80.57" y="174.1"/> + <line x="82.73" y="162.48"/> + <line x="71.06" y="164.59"/> + <line x="74.24" y="167.77"/> + <line x="66.93" y="175.09"/> + <curve x1="65.32" x2="63.48" x3="61.55" y1="173.96" y2="173.21" y3="172.88"/> + <line x="61.55" y="162.53"/> + <line x="66.04" y="162.53"/> + <close/> + <move x="95.2" y="166.86"/> + <curve x1="95.28" x2="95.5" x3="95.81" y1="166.93" y2="167.12" y3="167.67"/> + <curve x1="96.28" x2="96.8" x3="97.22" y1="168.51" y2="169.91" y3="171.7"/> + <curve x1="97.88" x2="98.35" x3="98.54" y1="174.44" y2="178.09" y3="182.17"/> + <line x="91.86" y="182.17"/> + <curve x1="92.04" x2="92.51" x3="93.17" y1="178.09" y2="174.44" y3="171.7"/> + <curve x1="93.6" x2="94.11" x3="94.58" y1="169.91" y2="168.51" y3="167.67"/> + <curve x1="94.89" x2="95.11" x3="95.2" y1="167.12" y2="166.93" y3="166.86"/> + <close/> + <move x="91.86" y="189.67"/> + <line x="98.54" y="189.67"/> + <curve x1="98.35" x2="97.88" x3="97.22" y1="193.76" y2="197.41" y3="200.15"/> + <curve x1="96.8" x2="96.28" x3="95.81" y1="201.93" y2="203.34" y3="204.18"/> + <curve x1="95.5" x2="95.28" x3="95.2" y1="204.73" y2="204.91" y3="204.99"/> + <curve x1="95.11" x2="94.89" x3="94.58" y1="204.91" y2="204.73" y3="204.18"/> + <curve x1="94.11" x2="93.6" x3="93.17" y1="203.34" y2="201.93" y3="200.15"/> + <curve x1="92.51" x2="92.04" x3="91.86" y1="197.41" y2="193.76" y3="189.67"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="87.37"/> + <curve x1="5.27" x2="0" x3="0" y1="87.37" y2="92.64" y3="99.09"/> + <line x="0" y="267.55"/> + <curve x1="0" x2="5.27" x3="11.72" y1="273.99" y2="279.26" y3="279.26"/> + <line x="179.27" y="279.26"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="279.26" y2="273.99" y3="267.55"/> + <line x="190.99" y="99.09"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="92.64" y2="87.37" y3="87.37"/> + <close/> + <move x="11.72" y="92.66"/> + <line x="179.27" y="92.66"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="92.66" y2="95.48" y3="99.09"/> + <line x="185.7" y="267.55"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="271.15" y2="273.97" y3="273.97"/> + <line x="11.72" y="273.97"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="273.97" y2="271.15" y3="267.55"/> + <line x="5.29" y="99.09"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="95.48" y2="92.66" y3="92.66"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="258.41" name="6500 vss2" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="98.27" y="24.13"/> + <line x="82.28" y="47.15"/> + <line x="92.91" y="47.15"/> + <line x="92.91" y="71.58"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="79.95" x-axis-rotation="0" y="77.02"/> + <line x="62.62" y="59.78"/> + <line x="70.1" y="52.26"/> + <line x="42.64" y="47.22"/> + <line x="47.69" y="74.79"/> + <line x="55.18" y="67.26"/> + <line x="72.52" y="84.5"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="67.34" x-axis-rotation="0" y="97.16"/> + <line x="42.89" y="97.16"/> + <line x="42.89" y="86.54"/> + <line x="19.86" y="102.34"/> + <line x="42.89" y="118.33"/> + <line x="42.89" y="107.7"/> + <line x="67.31" y="107.7"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="72.6" x-axis-rotation="0" y="120.44"/> + <line x="55.31" y="137.76"/> + <line x="47.79" y="130.26"/> + <line x="42.83" y="157.84"/> + <line x="70.28" y="152.72"/> + <line x="62.77" y="145.21"/> + <line x="80.03" y="127.93"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="92.91" x-axis-rotation="0" y="133.27"/> + <line x="92.91" y="157.72"/> + <line x="82.28" y="157.72"/> + <line x="98.27" y="180.75"/> + <line x="114.07" y="157.72"/> + <line x="103.45" y="157.72"/> + <line x="103.45" y="133.3"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="116.23" x-axis-rotation="0" y="127.96"/> + <line x="133.59" y="145.22"/> + <line x="126.1" y="152.76"/> + <line x="153.7" y="157.65"/> + <line x="148.51" y="130.22"/> + <line x="141.03" y="137.75"/> + <line x="123.7" y="120.52"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="129" x-axis-rotation="0" y="107.7"/> + <line x="153.46" y="107.7"/> + <line x="153.46" y="118.33"/> + <line x="176.48" y="102.34"/> + <line x="153.46" y="86.54"/> + <line x="153.46" y="97.16"/> + <line x="129.03" y="97.16"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="123.63" x-axis-rotation="0" y="84.28"/> + <line x="140.9" y="66.98"/> + <line x="148.41" y="74.48"/> + <line x="153.51" y="47.03"/> + <line x="125.93" y="52.02"/> + <line x="133.44" y="59.53"/> + <line x="116.16" y="76.83"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="103.45" x-axis-rotation="0" y="71.61"/> + <line x="103.45" y="47.15"/> + <line x="114.07" y="47.15"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="246.7"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="250.3" y2="253.12" y3="253.12"/> + <line x="11.72" y="253.12"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="253.12" y2="250.3" y3="246.7"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="246.7"/> + <curve x1="0" x2="5.27" x3="11.72" y1="253.14" y2="258.41" y3="258.41"/> + <line x="179.27" y="258.41"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="258.41" y2="253.14" y3="246.7"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="116.47" y="209.49"/> + <line x="130.98" y="209.49"/> + <line x="130.98" y="214.59"/> + <line x="142.64" y="207.86"/> + <line x="130.98" y="200.89"/> + <line x="130.98" y="205.99"/> + <line x="116.47" y="205.99"/> + <close/> + <move x="147.03" y="209.47"/> + <line x="161.54" y="209.47"/> + <line x="161.54" y="214.57"/> + <line x="173.2" y="207.83"/> + <line x="161.54" y="200.86"/> + <line x="161.54" y="205.96"/> + <line x="147.03" y="205.96"/> + <close/> + <move x="144.75" y="220.81"/> + <line x="156.43" y="229.42"/> + <line x="153.4" y="233.53"/> + <line x="166.78" y="235.03"/> + <line x="161.53" y="222.5"/> + <line x="158.5" y="226.6"/> + <line x="146.83" y="217.99"/> + <close/> + <move x="144.75" y="193.17"/> + <line x="156.43" y="184.56"/> + <line x="153.4" y="180.46"/> + <line x="166.78" y="178.96"/> + <line x="161.53" y="191.49"/> + <line x="158.5" y="187.38"/> + <line x="146.83" y="195.99"/> + <close/> + </path> + <fill/> + <fillcolor color="#e6a9ab"/> + <path> + <move x="129.52" y="102.5"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="98.19" x-axis-rotation="0" y="133.83"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="66.86" x-axis-rotation="0" y="102.5"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="98.19" x-axis-rotation="0" y="71.17"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="129.52" x-axis-rotation="0" y="102.5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="access control and trustsec" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="447.58" y="123.59"/> + <curve x1="431.84" x2="416.8" x3="406.25" y1="123.33" y2="129.58" y3="139.76"/> + <line x="158" y="360.26"/> + <curve x1="140.95" x2="135.36" x3="132.19" y1="376.87" y2="447.12" y3="483.26"/> + <curve x1="131.16" x2="132.16" x3="136.44" y1="495.17" y2="498.25" y3="503.76"/> + <line x="153.94" y="524.63"/> + <curve x1="127.59" x2="111.77" x3="103.86" y1="549.38" y2="576.06" y3="606.88"/> + <curve x1="102.18" x2="105.79" x3="114.15" y1="612.94" y2="621.73" y3="623.85"/> + <curve x1="126.04" x2="133.79" x3="136.5" y1="626.16" y2="620.62" y3="611.76"/> + <curve x1="148.84" x2="169.25" x3="209.25" y1="574.14" y2="547.08" y3="526.88"/> + <curve x1="216.07" x2="222.55" x3="216" y1="523.23" y2="513.57" y3="502.13"/> + <curve x1="210.74" x2="203.72" x3="197.75" y1="494.12" y2="491.06" y3="494.51"/> + <curve x1="188.28" x2="180.27" x3="173.12" y1="499.05" y2="504.22" y3="509.76"/> + <curve x1="173.35" x2="177.42" x3="188.62" y1="502.89" y2="495.74" y3="488.63"/> + <curve x1="199.29" x2="212.99" x3="221.25" y1="481.68" y2="485.11" y3="494.38"/> + <curve x1="231.17" x2="229.62" x3="220.88" y1="505.84" y2="519.84" y3="529.88"/> + <curve x1="213.37" x2="208.63" x3="200" y1="537.72" y2="538.33" y3="538.13"/> + <line x="182.05" y="555.72"/> + <line x="199.01" y="573.79"/> + <curve x1="206.59" x2="210.25" x3="226" y1="581.46" y2="583.26" y3="583.26"/> + <curve x1="259.79" x2="291.13" x3="319.73" y1="584.78" y2="583.63" y3="579.49"/> + <curve x1="335.03" x2="343.2" x3="356.11" y1="576.9" y2="574.98" y3="563.38"/> + <line x="605.35" y="341.79"/> + <curve x1="626.43" x2="625.1" x3="600.36" y1="320.78" y2="285.15" y3="261.49"/> + <line x="488.25" y="141.26"/> + <curve x1="475.89" x2="461.46" x3="447.58" y1="129.11" y2="123.82" y3="123.59"/> + <close/> + <move x="427.53" y="156.32"/> + <curve x1="434.37" x2="441.18" x3="446.16" y1="156.32" y2="159.1" y3="164.57"/> + <line x="571.68" y="302.54"/> + <curve x1="581.06" x2="580.31" x3="570" y1="312.85" y2="328.69" y3="338.07"/> + <line x="352.88" y="535.62"/> + <curve x1="342.57" x2="326.72" x3="317.34" y1="545" y2="544.25" y3="533.94"/> + <line x="191.82" y="395.97"/> + <curve x1="182.44" x2="183.19" x3="193.5" y1="385.67" y2="369.82" y3="360.44"/> + <line x="410.62" y="162.89"/> + <curve x1="415.45" x2="421.5" x3="427.53" y1="158.5" y2="156.33" y3="156.32"/> + <close/> + <move x="406" y="234.22"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="404.45" x-axis-rotation="0" y="241.5"/> + <curve x1="400.31" x2="395.72" x3="389.94" y1="241.32" y2="240.75" y3="239.52"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="388.37" x-axis-rotation="0" y="246.91"/> + <curve x1="400.69" x2="409.63" x3="417.82" y1="249.52" y2="249.83" y3="247.53"/> + <curve x1="431.87" x2="441.21" x3="452.39" y1="252.68" y2="253.64" y3="258.01"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="455.13" x-axis-rotation="0" y="250.97"/> + <curve x1="442.7" x2="433.5" x3="419.66" y1="246.11" y2="245.4" y3="240.2"/> + <curve x1="415.9" x2="412.26" x3="407.11" y1="238.42" y2="236.14" y3="234.43"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="406" x-axis-rotation="0" y="234.22"/> + <close/> + <move x="381.93" y="248.42"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="380.99" x-axis-rotation="0" y="248.52"/> + <curve x1="369.57" x2="363.1" x3="358.26" y1="251.15" y2="255.72" y3="258.94"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="362.44" x-axis-rotation="0" y="265.23"/> + <curve x1="367.35" x2="372.4" x3="382.2" y1="261.97" y2="258.41" y3="256.06"/> + <curve x1="385.11" x2="387.02" x3="389.52" y1="256.15" y2="256.91" y3="257.27"/> + <curve x1="381.83" x2="373.64" x3="367.81" y1="260.69" y2="264.12" y3="267.51"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="371.61" x-axis-rotation="0" y="274.04"/> + <curve x1="379.72" x2="390.34" x3="403.02" y1="269.33" y2="264.59" y3="259.26"/> + <curve x1="414.48" x2="422.93" x3="429.94" y1="257.83" y2="256.27" y3="260.58"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="433.9" x-axis-rotation="0" y="254.14"/> + <curve x1="423.97" x2="413.22" x3="401.96" y1="248.04" y2="250.37" y3="251.78"/> + <curve x1="396.21" x2="389.81" x3="381.93" y1="249.98" y2="248.63" y3="248.42"/> + <close/> + <move x="349.7" y="253.53"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="348.34" x-axis-rotation="0" y="253.79"/> + <curve x1="325.73" x2="302.81" x3="292.28" y1="262.24" y2="287.73" y3="325.79"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="292.26" x-axis-rotation="0" y="325.87"/> + <curve x1="286.73" x2="283.95" x3="304.78" y1="347.75" y2="379.35" y3="406.36"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="304.84" x-axis-rotation="0" y="406.45"/> + <curve x1="319.23" x2="339.01" x3="354.18" y1="423.98" y2="431.9" y3="432.22"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="354.34" x-axis-rotation="0" y="424.67"/> + <curve x1="341.75" x2="323.65" x3="310.74" y1="424.4" y2="417.4" y3="401.71"/> + <curve x1="291.9" x2="294.33" x3="299.58" y1="377.24" y2="348.55" y3="327.77"/> + <curve x1="309.59" x2="331.56" x3="350.99" y1="291.64" y2="268.14" y3="260.87"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="349.7" x-axis-rotation="0" y="253.53"/> + <close/> + <move x="443.1" y="258.78"/> + <curve x1="442.67" x2="442.25" x3="441.82" y1="258.78" y2="258.8" y3="258.83"/> + <line x="441.82" y="258.83"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="442.38" x-axis-rotation="0" y="266.37"/> + <curve x1="445.97" x2="451.47" x3="456.65" y1="266.1" y2="268.46" y3="272.3"/> + <curve x1="459.25" x2="460.95" x3="463.19" y1="274.23" y2="276.54" y3="278.81"/> + <curve x1="455.27" x2="448.08" x3="435.47" y1="277.6" y2="273.8" y3="265.55"/> + <line x="435.55" y="265.61"/> + <curve x1="427.84" x2="415.99" x3="403.99" y1="260.25" y2="260.82" y3="263.47"/> + <curve x1="391.99" x2="379.86" x3="372.14" y1="266.11" y2="271.23" y3="278.1"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="377.17" x-axis-rotation="0" y="283.75"/> + <curve x1="383.25" x2="394.63" x3="405.62" y1="278.33" y2="273.27" y3="270.85"/> + <curve x1="416.6" x2="427.23" x3="431.24" y1="268.43" y2="269.04" y3="271.82"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="431.33" x-axis-rotation="0" y="271.88"/> + <curve x1="448.48" x2="458.29" x3="471.96" y1="283.1" y2="287.26" y3="286.74"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="473.63" x-axis-rotation="0" y="286.71"/> + <curve x1="478.46" x2="483.85" x3="489.91" y1="285.86" y2="287.27" y3="288.7"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="491.64" x-axis-rotation="0" y="281.34"/> + <curve x1="486.4" x2="480.53" x3="474.27" y1="280.1" y2="278.7" y3="279.29"/> + <curve x1="470.85" x2="466.46" x3="461.15" y1="274.96" y2="270.16" y3="266.22"/> + <curve x1="455.61" x2="449.47" x3="443.1" y1="262.11" y2="258.77" y3="258.78"/> + <close/> + <move x="469.56" y="259.81"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="467.07" x-axis-rotation="0" y="266.35"/> + <curve x1="471" x2="475.46" x3="479.78" y1="270.11" y2="272.37" y3="274.1"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="482.59" x-axis-rotation="0" y="267.08"/> + <curve x1="478.7" x2="475.25" x3="472.29" y1="265.52" y2="263.72" y3="260.89"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="469.56" x-axis-rotation="0" y="259.81"/> + <close/> + <move x="351.83" y="264.32"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="349.5" x-axis-rotation="0" y="265.17"/> + <curve x1="327.13" x2="298.1" x3="299.03" y1="282.97" y2="309.11" y3="361.82"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="299.05" x-axis-rotation="0" y="362.15"/> + <curve x1="300.72" x2="308.41" x3="316.66" y1="378.44" y2="392.31" y3="402.31"/> + <curve x1="320.79" x2="325.06" x3="328.91" y1="407.31" y2="411.34" y3="414.27"/> + <curve x1="332.76" x2="335.86" x3="339.29" y1="417.2" y2="419.13" y3="419.6"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="339.71" x-axis-rotation="0" y="419.63"/> + <curve x1="356.54" x2="366.13" x3="371.55" y1="420.04" y2="424.79" y3="429.95"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="373.59" x-axis-rotation="0" y="430.95"/> + <curve x1="397.51" x2="421.76" x3="441.08" y1="434.64" y2="430.27" y3="421.63"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="437.99" x-axis-rotation="0" y="414.73"/> + <curve x1="420.08" x2="397.29" x3="375.16" y1="422.74" y2="426.83" y3="423.51"/> + <curve x1="368.11" x2="357.22" x3="340.31" y1="417.43" y2="412.6" y3="412.11"/> + <curve x1="339.87" x2="336.8" x3="333.48" y1="412.05" y2="410.78" y3="408.26"/> + <curve x1="330.16" x2="326.26" x3="322.49" y1="405.73" y2="402.06" y3="397.5"/> + <curve x1="314.99" x2="308.09" x3="306.59" y1="388.41" y2="375.79" y3="361.48"/> + <curve x1="305.8" x2="332.15" x3="354.21" y1="311.68" y2="288.64" y3="271.09"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="351.83" x-axis-rotation="0" y="264.32"/> + <close/> + <move x="411.56" y="271.63"/> + <curve x1="409.63" x2="407.64" x3="405.58" y1="271.63" y2="271.72" y3="271.92"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="405.23" x-axis-rotation="0" y="271.96"/> + <curve x1="395.08" x2="381.62" x3="369.06" y1="273.9" y2="281.88" y3="290.33"/> + <curve x1="356.49" x2="345.46" x3="341.09" y1="298.78" y2="307.47" y3="311.9"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="340.97" x-axis-rotation="0" y="312.03"/> + <curve x1="332.94" x2="328.11" x3="326.19" y1="320.92" y2="328.4" y3="336.77"/> + <curve x1="324.26" x2="325.32" x3="328.06" y1="345.14" y2="353.92" y3="365.27"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="328.09" x-axis-rotation="0" y="365.37"/> + <curve x1="333.17" x2="345.93" x3="356.73" y1="384.04" y2="393.94" y3="399.65"/> + <line x="348.36" y="400.15"/> + <curve x1="341.58" x2="333.37" x3="327.5" y1="398.59" y2="392.04" y3="386.18"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="322.16" x-axis-rotation="0" y="391.52"/> + <curve x1="328.47" x2="337.16" x3="347.02" y1="397.83" y2="405.54" y3="407.66"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="348.04" x-axis-rotation="0" y="407.74"/> + <line x="373.01" y="406.25"/> + <curve x1="411.54" x2="443.26" x3="467.34" y1="412.31" y2="394.73" y3="387.44"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="465.14" x-axis-rotation="0" y="380.21"/> + <curve x1="439.58" x2="409.62" x3="373.76" y1="387.95" y2="404.55" y3="398.74"/> + <curve x1="367.52" x2="342.49" x3="335.41" y1="397.09" y2="389.32" y3="363.44"/> + <curve x1="332.78" x2="332.03" x3="333.55" y1="352.56" y2="345.1" y3="338.47"/> + <curve x1="335.08" x2="338.94" x3="346.52" y1="331.85" y2="325.57" y3="317.17"/> + <curve x1="349.78" x2="361.05" x3="373.28" y1="313.86" y2="304.82" y3="296.61"/> + <curve x1="385.47" x2="399.19" x3="406.52" y1="288.41" y2="280.88" y3="279.44"/> + <curve x1="415.3" x2="422.08" x3="428.17" y1="278.63" y2="280.14" y3="282.59"/> + <curve x1="402.12" x2="384.78" x3="372.91" y1="283.73" y2="293.48" y3="304.01"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="377.92" x-axis-rotation="0" y="309.66"/> + <curve x1="391.06" x2="409.1" x3="442.06" y1="298.02" y2="287.12" y3="289.91"/> + <curve x1="460.77" x2="468.15" x3="473.43" y1="294.53" y2="298.73" y3="302.78"/> + <curve x1="478.75" x2="482.71" x3="493.05" y1="306.85" y2="311.55" y3="315.77"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="495.9" x-axis-rotation="0" y="308.76"/> + <curve x1="486.71" x2="484.07" x3="478.02" y1="305.02" y2="301.4" y3="296.77"/> + <curve x1="472.06" x2="463.23" x3="444.15" y1="292.21" y2="287.41" y3="282.66"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="443.82" x-axis-rotation="0" y="282.54"/> + <curve x1="435.27" x2="425.04" x3="411.56" y1="276.39" y2="271.65" y3="271.63"/> + <close/> + <move x="361.43" y="272.83"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="359.37" x-axis-rotation="0" y="273.38"/> + <curve x1="347.36" x2="334.59" x3="322.06" y1="280.47" y2="292.25" y3="313.42"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="321.97" x-axis-rotation="0" y="313.58"/> + <curve x1="307.1" x2="311.11" x3="318" y1="341.52" y2="365.82" y3="380.21"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="324.81" x-axis-rotation="0" y="376.94"/> + <curve x1="318.85" x2="314.9" x3="328.61" y1="364.5" y2="343.03" y3="317.21"/> + <curve x1="340.61" x2="352.33" x3="363.21" y1="296.96" y2="286.31" y3="279.89"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="361.43" x-axis-rotation="0" y="272.83"/> + <close/> + <move x="364.8" y="282.66"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="364.41" x-axis-rotation="0" y="282.67"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="362.73" x-axis-rotation="0" y="283.18"/> + <curve x1="357.84" x2="352.91" x3="348.11" y1="285.94" y2="290.03" y3="294.21"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="353.08" x-axis-rotation="0" y="299.91"/> + <curve x1="357.76" x2="362.48" x3="366.44" y1="295.82" y2="291.99" y3="289.76"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="364.8" x-axis-rotation="0" y="282.66"/> + <close/> + <move x="479.4" y="287.64"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="477.63" x-axis-rotation="0" y="294.68"/> + <curve x1="480.87" x2="484.05" x3="486.57" y1="296.64" y2="297.77" y3="298.8"/> + <curve x1="489.09" x2="490.83" x3="491.63" y1="299.82" y2="300.76" y3="301.65"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="497.26" x-axis-rotation="0" y="296.62"/> + <curve x1="494.99" x2="492.14" x3="489.41" y1="294.08" y2="292.9" y3="291.79"/> + <curve x1="486.69" x2="483.99" x3="481.56" y1="290.69" y2="289.69" y3="288.21"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="479.4" x-axis-rotation="0" y="287.64"/> + <close/> + <move x="432.16" y="297.05"/> + <curve x1="410.22" x2="396.8" x3="382.8" y1="297.09" y2="303.71" y3="313.07"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="382.66" x-axis-rotation="0" y="313.17"/> + <curve x1="374.51" x2="366.43" x3="360.41" y1="319.15" y2="324.51" y3="330.72"/> + <curve x1="354.41" x2="350.44" x3="351.95" y1="336.9" y2="344.52" y3="353.5"/> + <curve x1="353.61" x2="365.28" x3="384.14" y1="366.22" y2="380.26" y3="381.13"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="384.31" x-axis-rotation="0" y="381.14"/> + <curve x1="389.58" x2="395.85" x3="401.34" y1="381.14" y2="381.37" y3="382.31"/> + <curve x1="404.54" x2="406.13" x3="408.38" y1="382.85" y2="384.08" y3="385.09"/> + <curve x1="404.46" x2="400.86" x3="395.43" y1="387.53" y2="388.85" y3="389.14"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="395.25" x-axis-rotation="0" y="389.15"/> + <curve x1="375.94" x2="363.23" x3="353.17" y1="391.08" y2="383.86" y3="370.29"/> + <curve x1="348.1" x2="345.46" x3="346.95" y1="361.94" y2="353.49" y3="344.94"/> + <curve x1="348.45" x2="354.15" x3="367.29" y1="336.34" y2="327.15" y3="317.47"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="362.8" x-axis-rotation="0" y="311.38"/> + <curve x1="348.64" x2="341.41" x3="339.5" y1="321.81" y2="332.72" y3="343.64"/> + <curve x1="337.6" x2="341.08" x3="346.79" y1="354.57" y2="365.02" y3="374.38"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="346.97" x-axis-rotation="0" y="374.65"/> + <curve x1="358.17" x2="374.27" x3="395.91" y1="389.83" y2="398.8" y3="396.67"/> + <curve x1="404.04" x2="410.26" x3="417.45" y1="396.23" y2="393.9" y3="388.02"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="419.3" x-axis-rotation="0" y="386.58"/> + <curve x1="425.08" x2="431.22" x3="443.27" y1="379.66" y2="373.33" y3="367.86"/> + <curve x1="456.13" x2="470.71" x3="476.6" y1="363.98" y2="364.25" y3="365.97"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="478.7" x-axis-rotation="0" y="358.7"/> + <curve x1="470.2" x2="455.25" x3="440.83" y1="356.23" y2="356.26" y3="360.67"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="440.39" x-axis-rotation="0" y="360.84"/> + <curve x1="428.25" x2="421.28" x3="415.5" y1="366.3" y2="373.04" y3="379.68"/> + <curve x1="411.76" x2="407.41" x3="402.61" y1="377.27" y2="375.67" y3="374.85"/> + <curve x1="396.4" x2="389.8" x3="384.31" y1="373.8" y2="373.58" y3="373.58"/> + <line x="384.49" y="373.58"/> + <curve x1="369.23" x2="360.56" x3="359.43" y1="372.88" y2="361.32" y3="352.49"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="359.4" x-axis-rotation="0" y="352.32"/> + <curve x1="358.3" x2="360.69" x3="365.83" y1="345.96" y2="341.28" y3="335.98"/> + <curve x1="370.95" x2="378.76" x3="387.03" y1="330.71" y2="325.41" y3="319.35"/> + <curve x1="400.57" x2="411.69" x3="432.13" y1="310.3" y2="304.65" y3="304.61"/> + <curve x1="442.09" x2="447.72" x3="453.12" y1="304.79" y2="306.8" y3="308.9"/> + <curve x1="458.52" x2="463.95" x3="471.83" y1="311.01" y2="313.39" y3="313.26"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="471.7" x-axis-rotation="0" y="305.7"/> + <curve x1="465.34" x2="461.46" x3="455.87" y1="305.81" y2="304.04" y3="301.86"/> + <curve x1="450.28" x2="443.23" x3="432.23" y1="299.68" y2="297.24" y3="297.05"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="432.16" x-axis-rotation="0" y="297.05"/> + <close/> + <move x="427.53" y="309.18"/> + <curve x1="423.52" x2="419.35" x3="415.48" y1="309.2" y2="309.58" y3="310.5"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="415.4" x-axis-rotation="0" y="310.52"/> + <curve x1="402.59" x2="395.25" x3="390.66" y1="313.87" y2="318.88" y3="323.37"/> + <curve x1="388.36" x2="386.75" x3="385.51" y1="325.61" y2="327.69" y3="329.17"/> + <curve x1="384.28" x2="383.46" x3="383.13" y1="330.64" y2="331.33" y3="331.48"/> + <line x="383.31" y="331.41"/> + <curve x1="379" x2="375.66" x3="373.83" y1="333.08" y2="335.37" y3="338.73"/> + <curve x1="372" x2="372.15" x3="373.61" y1="342.08" y2="346.11" y3="349.79"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="373.76" x-axis-rotation="0" y="350.13"/> + <curve x1="376.11" x2="379.38" x3="384.05" y1="354.66" y2="358.3" y3="359.49"/> + <curve x1="388.46" x2="393.37" x3="399.29" y1="360.62" y2="359.51" y3="357.12"/> + <curve x1="420.73" x2="432.58" x3="443.09" y1="360.28" y2="353.63" y3="351.36"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="443.17" x-axis-rotation="0" y="351.33"/> + <curve x1="459.29" x2="469.42" x3="479.91" y1="347.5" y2="347.5" y3="351.86"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="482.81" x-axis-rotation="0" y="344.88"/> + <curve x1="470.67" x2="458.3" x3="441.5" y1="339.83" y2="339.98" y3="343.97"/> + <curve x1="441.49" x2="441.48" x3="441.47" y1="343.97" y2="343.97" y3="343.97"/> + <curve x1="429.03" x2="419.71" x3="399.41" y1="346.67" y2="352.88" y3="349.58"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="397.33" x-axis-rotation="0" y="349.84"/> + <curve x1="391.6" x2="388" x3="385.92" y1="352.26" y2="352.7" y3="352.17"/> + <curve x1="383.9" x2="382.42" x3="380.63" y1="351.65" y2="350.17" y3="346.8"/> + <curve x1="379.84" x2="379.86" x3="380.46" y1="344.7" y2="343.45" y3="342.34"/> + <curve x1="381.09" x2="382.71" x3="386.03" y1="341.19" y2="339.75" y3="338.46"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="386.2" x-axis-rotation="0" y="338.39"/> + <curve x1="388.54" x2="389.94" x3="391.31" y1="337.35" y2="335.66" y3="334.02"/> + <curve x1="392.69" x2="394.05" x3="395.94" y1="332.38" y2="330.62" y3="328.78"/> + <curve x1="399.72" x2="405.56" x3="417.26" y1="325.09" y2="320.92" y3="317.86"/> + <curve x1="422.22" x2="428.6" x3="433.79" y1="316.69" y2="316.54" y3="317.02"/> + <curve x1="436.39" x2="438.71" x3="440.35" y1="317.27" y2="317.66" y3="318.09"/> + <curve x1="441.99" x2="443.06" x3="442.18" y1="318.51" y2="319.57" y3="318.53"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="442.42" x-axis-rotation="0" y="318.8"/> + <curve x1="449.4" x2="458.51" x3="466.68" y1="325.6" y2="325.39" y3="325.52"/> + <curve x1="474.85" x2="482.38" x3="489.37" y1="325.64" y2="325.96" y3="331.67"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="494.14" x-axis-rotation="0" y="325.81"/> + <curve x1="485.15" x2="475.1" x3="466.79" y1="318.47" y2="318.09" y3="317.96"/> + <curve x1="458.49" x2="452.24" x3="447.7" y1="317.83" y2="317.82" y3="313.39"/> + <line x="447.94" y="313.65"/> + <curve x1="446.06" x2="444.44" x3="442.25" y1="311.43" y2="311.34" y3="310.77"/> + <curve x1="440.06" x2="437.42" x3="434.49" y1="310.2" y2="309.77" y3="309.49"/> + <curve x1="432.29" x2="429.94" x3="427.53" y1="309.29" y2="309.17" y3="309.18"/> + <close/> + <move x="287.19" y="318.29"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="284.16" x-axis-rotation="0" y="320.09"/> + <curve x1="278.02" x2="276.91" x3="275.89" y1="329.75" y2="334.67" y3="348.8"/> + <curve x1="275.77" x2="274.36" x3="272.09" y1="350.45" y2="352.16" y3="354.67"/> + <curve x1="269.82" x2="266.71" x3="266.69" y1="357.18" y2="360.61" y3="365.67"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="266.69" x-axis-rotation="0" y="365.75"/> + <curve x1="266.94" x2="273.25" x3="283.51" y1="382.66" y2="404.1" y3="414.49"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="283.64" x-axis-rotation="0" y="414.61"/> + <curve x1="292.13" x2="295.43" x3="299.65" y1="422.4" y2="428.98" y3="434.99"/> + <curve x1="303.67" x2="309.26" x3="319.25" y1="440.69" y2="445.54" y3="448.19"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="321.24" x-axis-rotation="0" y="448.88"/> + <curve x1="321.24" x2="321.25" x3="321.25" y1="448.88" y2="448.88" y3="448.88"/> + <curve x1="335.75" x2="348.12" x3="361.42" y1="452.14" y2="452.38" y3="458.57"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="364.61" x-axis-rotation="0" y="451.71"/> + <curve x1="350.04" x2="337.04" x3="323.65" y1="444.94" y2="444.55" y3="441.64"/> + <curve x1="320.87" x2="319.62" x3="318.67" y1="438.37" y2="436.01" y3="433.11"/> + <curve x1="317.64" x2="316.55" x3="313.41" y1="429.95" y2="425.81" y3="420.29"/> + <curve x1="311.39" x2="307.9" x3="304.09" y1="416.12" y2="414.04" y3="410.41"/> + <curve x1="300.27" x2="295.77" x3="291.28" y1="406.76" y2="401.68" y3="392.61"/> + <curve x1="288.31" x2="285.92" x3="285.74" y1="385.77" y2="375.41" y3="365.71"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="278.18" x-axis-rotation="0" y="365.85"/> + <curve x1="278.38" x2="280.88" x3="284.38" y1="376.68" y2="387.71" y3="395.71"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="284.45" x-axis-rotation="0" y="395.88"/> + <curve x1="289.37" x2="294.62" x3="298.87" y1="405.82" y2="411.82" y3="415.87"/> + <curve x1="303.12" x2="305.99" x3="306.65" y1="419.93" y2="422.23" y3="423.62"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="306.79" x-axis-rotation="0" y="423.88"/> + <curve x1="309.59" x2="310.32" x3="311.49" y1="428.76" y2="431.88" y3="435.46"/> + <curve x1="311.68" x2="312.06" x3="312.29" y1="436.06" y2="436.74" y3="437.36"/> + <curve x1="309.69" x2="307.8" x3="305.84" y1="435.58" y2="433.42" y3="430.64"/> + <curve x1="302.1" x2="298.12" x3="288.83" y1="425.32" y2="417.66" y3="409.12"/> + <curve x1="281.49" x2="274.49" x3="274.25" y1="401.61" y2="380.55" y3="365.7"/> + <curve x1="274.27" x2="275.51" x3="277.69" y1="363.76" y2="362.16" y3="359.75"/> + <curve x1="279.88" x2="283.06" x3="283.43" y1="357.33" y2="354.24" y3="349.36"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="283.43" x-axis-rotation="0" y="349.35"/> + <curve x1="284.44" x2="284.71" x3="290.54" y1="335.37" y2="333.32" y3="324.15"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="287.2" x-axis-rotation="0" y="318.29"/> + <close/> + <move x="424.52" y="318.74"/> + <curve x1="422.11" x2="419.56" x3="416.88" y1="318.72" y2="319.12" y3="320.12"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="416.67" x-axis-rotation="0" y="320.21"/> + <curve x1="408.83" x2="404.23" x3="401.27" y1="323.71" y2="326.7" y3="329.9"/> + <curve x1="399.08" x2="398.56" x3="397.86" y1="332.26" y2="334.54" y3="336.75"/> + <curve x1="392.02" x2="387.67" x3="384.88" y1="337.6" y2="339.05" y3="342.24"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="390.56" x-axis-rotation="0" y="347.22"/> + <curve x1="392.01" x2="394.28" x3="400.37" y1="345.57" y2="344.58" y3="343.89"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="401.13" x-axis-rotation="0" y="343.8"/> + <curve x1="409.91" x2="417.72" x3="424.96" y1="344.94" y2="343.25" y3="341.09"/> + <curve x1="432.58" x2="439.74" x3="447.66" y1="338.82" y2="336.31" y3="335.9"/> + <curve x1="447.68" x2="447.69" x3="447.71" y1="335.9" y2="335.89" y3="335.89"/> + <curve x1="447.73" x2="447.75" x3="447.77" y1="335.89" y2="335.89" y3="335.89"/> + <curve x1="454.99" x2="462.57" x3="469.03" y1="336.62" y2="336.49" y3="337.01"/> + <curve x1="475.65" x2="480.78" x3="483.22" y1="337.53" y2="338.92" y3="341.39"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="488.61" x-axis-rotation="0" y="336.08"/> + <curve x1="483.82" x2="476.83" x3="469.63" y1="331.23" y2="330.04" y3="329.47"/> + <curve x1="462.59" x2="455.06" x3="448.48" y1="328.91" y2="329.03" y3="328.37"/> + <curve x1="443.96" x2="439.97" x3="435.16" y1="326.91" y2="323.98" y3="321.53"/> + <curve x1="432.72" x2="429.93" x3="426.87" y1="320.29" y2="319.27" y3="318.89"/> + <curve x1="426.1" x2="425.32" x3="424.52" y1="318.8" y2="318.74" y3="318.74"/> + <close/> + <move x="424.6" y="326.16"/> + <curve x1="425.1" x2="425.58" x3="426.05" y1="326.15" y2="326.18" y3="326.24"/> + <curve x1="427.95" x2="429.73" x3="431.74" y1="326.49" y2="327.25" y3="328.27"/> + <curve x1="432.8" x2="434.48" x3="435.63" y1="328.81" y2="329.55" y3="330.24"/> + <curve x1="431.12" x2="426.85" x3="422.81" y1="331.33" y2="332.64" y3="333.85"/> + <curve x1="417.17" x2="411.78" x3="406.18" y1="335.53" y2="336.41" y3="336.37"/> + <curve x1="406.46" x2="406.39" x3="406.81" y1="335.96" y2="335.5" y3="335.04"/> + <curve x1="408.66" x2="412.41" x3="419.62" y1="333.05" y2="330.43" y3="327.19"/> + <curve x1="421.51" x2="423.12" x3="424.6" y1="326.49" y2="326.17" y3="326.16"/> + <close/> + <move x="365.52" y="343.48"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="362.08" x-axis-rotation="0" y="348.76"/> + <line x="365.62" y="357.25"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="372.6" x-axis-rotation="0" y="354.34"/> + <line x="369.06" y="345.86"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="365.52" x-axis-rotation="0" y="343.48"/> + <close/> + <move x="421.63" y="358.07"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="420.26" x-axis-rotation="0" y="358.3"/> + <curve x1="410.71" x2="389.14" x3="376.51" y1="361.69" y2="364.38" y3="359.11"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="373.6" x-axis-rotation="0" y="366.08"/> + <curve x1="389.56" x2="411.34" x3="422.79" y1="372.74" y2="369.48" y3="365.43"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="421.63" x-axis-rotation="0" y="358.07"/> + <close/> + <move x="473.18" y="368.8"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="472.54" x-axis-rotation="0" y="368.84"/> + <curve x1="466.54" x2="463.13" x3="452.82" y1="369.67" y2="370.76" y3="371.46"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="452.72" x-axis-rotation="0" y="371.48"/> + <curve x1="442.05" x2="435.33" x3="430.06" y1="372.51" y2="376.61" y3="380.75"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="434.73" x-axis-rotation="0" y="386.69"/> + <curve x1="439.54" x2="444.29" x3="453.44" y1="382.91" y2="379.88" y3="379"/> + <curve x1="464.09" x2="468.13" x3="473.56" y1="378.27" y2="377.07" y3="376.33"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="473.18" x-axis-rotation="0" y="368.8"/> + <close/> + <move x="263.02" y="375.12"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="259.47" x-axis-rotation="0" y="379.47"/> + <curve x1="262.08" x2="270.39" x3="278.2" y1="398.27" y2="412.09" y3="422.87"/> + <curve x1="278.03" x2="277.76" x3="277.6" y1="422.8" y2="422.76" y3="422.69"/> + <curve x1="274.63" x2="272.84" x3="271.82" y1="421.4" y2="420.05" y3="417.19"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="264.7" x-axis-rotation="0" y="419.73"/> + <curve x1="266.53" x2="270.57" x3="274.59" y1="424.84" y2="427.89" y3="429.63"/> + <curve x1="278.28" x2="282.01" x3="285.3" y1="431.22" y2="432" y3="432.98"/> + <curve x1="289.4" x2="291.86" x3="295.62" y1="436.87" y2="441.09" y3="445.57"/> + <curve x1="299.53" x2="305.03" x3="314.65" y1="450.23" y2="454.76" y3="457.86"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="316.96" x-axis-rotation="0" y="450.66"/> + <curve x1="308.5" x2="304.71" x3="301.4" y1="447.94" y2="444.66" y3="440.71"/> + <curve x1="298.34" x2="295.46" x3="290.8" y1="437.06" y2="432.45" y3="427.89"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="290.24" x-axis-rotation="0" y="427.11"/> + <curve x1="281.76" x2="269.98" x3="266.96" y1="416.94" y2="400.24" y3="378.43"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="263.39" x-axis-rotation="0" y="375.12"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="263.02" x-axis-rotation="0" y="375.12"/> + <close/> + <move x="260.51" y="396.95"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="256.86" x-axis-rotation="0" y="401.52"/> + <line x="258.19" y="408.15"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="265.6" x-axis-rotation="0" y="406.67"/> + <line x="264.27" y="400.04"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="260.51" x-axis-rotation="0" y="396.95"/> + <close/> + <move x="449.48" y="399.02"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="448.11" x-axis-rotation="0" y="399.25"/> + <line x="409.59" y="412.78"/> + <line x="377.13" y="410.71"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="376.65" x-axis-rotation="0" y="418.25"/> + <line x="409.88" y="420.38"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="411.37" x-axis-rotation="0" y="420.17"/> + <line x="450.62" y="406.38"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="449.48" x-axis-rotation="0" y="399.02"/> + <close/> + <move x="322.8" y="426.13"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="320.97" x-axis-rotation="0" y="433.25"/> + <curve x1="326.22" x2="333.28" x3="340.02" y1="436.12" y2="438.94" y3="440.85"/> + <curve x1="343.39" x2="346.66" x3="349.63" y1="441.8" y2="442.51" y3="442.86"/> + <curve x1="352.6" x2="355.23" x3="357.8" y1="443.2" y2="443.29" y3="442.34"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="357.81" x-axis-rotation="0" y="442.34"/> + <curve x1="363.91" x2="367.22" x3="370.09" y1="440.06" y2="439.23" y3="439.34"/> + <curve x1="372.97" x2="376.05" x3="381.65" y1="439.46" y2="440.56" y3="443.03"/> + <curve x1="384.03" x2="386.3" x3="388.81" y1="444.08" y2="444.02" y3="443.89"/> + <curve x1="391.31" x2="393.96" x3="396.44" y1="443.76" y2="443.38" y3="442.94"/> + <curve x1="401.4" x2="405.68" x3="405.68" y1="442.06" y2="440.9" y3="440.9"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="403.71" x-axis-rotation="0" y="433.61"/> + <curve x1="403.71" x2="399.69" x3="395.12" y1="433.61" y2="434.69" y3="435.5"/> + <curve x1="392.83" x2="390.41" x3="388.41" y1="435.91" y2="436.24" y3="436.34"/> + <curve x1="386.42" x2="384.77" x3="384.7" y1="436.45" y2="436.14" y3="436.11"/> + <curve x1="378.95" x2="374.92" x3="370.4" y1="433.58" y2="431.97" y3="431.79"/> + <curve x1="365.88" x2="361.52" x3="355.17" y1="431.61" y2="432.88" y3="435.25"/> + <curve x1="354.73" x2="352.88" x3="350.49" y1="435.41" y2="435.62" y3="435.35"/> + <curve x1="348.11" x2="345.16" x3="342.08" y1="435.07" y2="434.44" y3="433.57"/> + <curve x1="335.91" x2="329.14" x3="324.61" y1="431.82" y2="429.1" y3="426.62"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="322.8" x-axis-rotation="0" y="426.13"/> + <close/> + <move x="278.26" y="433.48"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="276.26" x-axis-rotation="0" y="440.55"/> + <curve x1="279.33" x2="281.28" x3="282.42" y1="442.33" y2="442.69" y3="445.57"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="289.45" x-axis-rotation="0" y="442.79"/> + <curve x1="287.14" x2="281.76" x3="280.06" y1="436.93" y2="435.01" y3="434.02"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="278.26" x-axis-rotation="0" y="433.48"/> + <close/> + <move x="363.98" y="441.55"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="364.13" x-axis-rotation="0" y="449.11"/> + <curve x1="368.88" x2="373.5" x3="380.66" y1="449.25" y2="451.84" y3="451.22"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="380.01" x-axis-rotation="0" y="443.69"/> + <curve x1="375.22" x2="371.15" x3="364.37" y1="444.11" y2="441.76" y3="441.55"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="363.98" x-axis-rotation="0" y="441.55"/> + <close/> + <move x="327" y="451.36"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="326.68" x-axis-rotation="0" y="458.88"/> + <line x="339.05" y="460.65"/> + <arc large-arc-flag="1" rx="3.78" ry="3.78" sweep-flag="0" x="340.12" x-axis-rotation="0" y="453.17"/> + <line x="327.75" y="451.4"/> + <arc large-arc-flag="0" rx="3.78" ry="3.78" sweep-flag="0" x="327" x-axis-rotation="0" y="451.36"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="707.63" name="aci" strokewidth="inherit" w="718.73"> + <connections/> + <foreground> + <path> + <move x="359.29" y="0"/> + <curve x1="312.03" x2="273.61" x3="273.61" y1="0" y2="38.42" y3="85.68"/> + <curve x1="273.61" x2="281.27" x3="293.94" y1="106.77" y2="126.08" y3="141.02"/> + <line x="140.69" y="293.94"/> + <curve x1="125.8" x2="106.61" x3="85.68" y1="281.45" y2="273.9" y3="273.9"/> + <curve x1="38.42" x2="0" x3="0" y1="273.9" y2="312.32" y3="359.58"/> + <curve x1="0" x2="38.42" x3="85.68" y1="406.85" y2="445.27" y3="445.27"/> + <curve x1="106.47" x2="125.55" x3="140.4" y1="445.27" y2="437.82" y3="425.47"/> + <line x="288.81" y="573.29"/> + <curve x1="279.24" x2="273.61" x3="273.61" y1="587.12" y2="603.88" y3="621.96"/> + <curve x1="273.61" x2="312.02" x3="359.29" y1="669.22" y2="707.63" y3="707.63"/> + <curve x1="406.55" x2="444.97" x3="444.97" y1="707.63" y2="669.22" y3="621.96"/> + <curve x1="444.97" x2="439.35" x3="429.8" y1="603.91" y2="587.16" y3="573.34"/> + <line x="577.97" y="425.17"/> + <curve x1="592.88" x2="612.09" x3="633.05" y1="437.7" y2="445.27" y3="445.27"/> + <curve x1="680.31" x2="718.73" x3="718.73" y1="445.27" y2="406.85" y3="359.58"/> + <curve x1="718.73" x2="680.31" x3="633.05" y1="312.32" y2="273.9" y3="273.9"/> + <curve x1="612.05" x2="592.81" x3="577.9" y1="273.9" y2="281.5" y3="294.07"/> + <line x="424.64" y="141.01"/> + <curve x1="437.31" x2="444.96" x3="444.96" y1="126.08" y2="106.77" y3="85.68"/> + <curve x1="444.96" x2="406.56" x3="359.29" y1="38.42" y2="0" y3="0"/> + <close/> + <move x="359.29" y="9.45"/> + <curve x1="401.45" x2="435.52" x3="435.52" y1="9.45" y2="43.52" y3="85.68"/> + <curve x1="435.52" x2="401.45" x3="359.29" y1="127.84" y2="161.91" y3="161.91"/> + <curve x1="317.13" x2="283.06" x3="283.06" y1="161.91" y2="127.84" y3="85.68"/> + <curve x1="283.06" x2="317.13" x3="359.29" y1="43.52" y2="9.45" y3="9.45"/> + <close/> + <move x="359.13" y="46.85"/> + <curve x1="345.85" x2="334.89" x3="334.89" y1="46.85" y2="57.1" y3="69.54"/> + <curve x1="334.89" x2="341.29" x3="347.89" y1="79.27" y2="85.9" y3="90.92"/> + <curve x1="329.14" x2="318.76" x3="318.76" y1="96.37" y2="111.33" y3="127.58"/> + <line x="399.08" y="127.59"/> + <curve x1="399.08" x2="392.38" x3="371.14" y1="114.34" y2="96.89" y3="91.05"/> + <curve x1="377.73" x2="383.45" x3="383.45" y1="87.02" y2="79.93" y3="70.65"/> + <curve x1="383.45" x2="373.3" x3="359.13" y1="57.19" y2="46.85" y3="46.85"/> + <close/> + <move x="419.51" y="146.57"/> + <line x="572.33" y="299.18"/> + <curve x1="556.91" x2="547.37" x3="547.37" y1="314.68" y2="336.03" y3="359.58"/> + <curve x1="547.37" x2="556.94" x3="572.4" y1="383.17" y2="404.55" y3="420.05"/> + <line x="425.19" y="567.25"/> + <curve x1="409.47" x2="385.77" x3="359.29" y1="548.34" y2="536.27" y3="536.27"/> + <curve x1="332.83" x2="309.15" x3="293.42" y1="536.27" y2="548.32" y3="567.21"/> + <line x="146.01" y="420.38"/> + <curve x1="161.66" x2="171.36" x3="171.36" y1="404.85" y2="383.34" y3="359.58"/> + <curve x1="171.36" x2="161.77" x3="146.27" y1="335.97" y2="314.56" y3="299.05"/> + <line x="299.07" y="146.57"/> + <curve x1="314.56" x2="335.83" x3="359.29" y1="161.89" y2="171.36" y3="171.36"/> + <curve x1="382.75" x2="404.03" x3="419.51" y1="171.36" y2="161.89" y3="146.57"/> + <close/> + <move x="85.68" y="283.35"/> + <curve x1="127.84" x2="161.92" x3="161.92" y1="283.35" y2="317.43" y3="359.58"/> + <curve x1="161.92" x2="127.84" x3="85.68" y1="401.74" y2="435.82" y3="435.82"/> + <curve x1="43.52" x2="9.45" x3="9.45" y1="435.82" y2="401.74" y3="359.58"/> + <curve x1="9.45" x2="43.52" x3="85.68" y1="317.43" y2="283.35" y3="283.35"/> + <close/> + <move x="633.05" y="283.35"/> + <curve x1="675.21" x2="709.28" x3="709.28" y1="283.35" y2="317.43" y3="359.58"/> + <curve x1="709.28" x2="675.21" x3="633.05" y1="401.74" y2="435.82" y3="435.82"/> + <curve x1="590.89" x2="556.82" x3="556.82" y1="435.82" y2="401.74" y3="359.58"/> + <curve x1="556.82" x2="590.89" x3="633.05" y1="317.43" y2="283.35" y3="283.35"/> + <close/> + <move x="633.65" y="303.07"/> + <curve x1="617.8" x2="606.65" x3="606.65" y1="303.07" y2="314.81" y3="326.43"/> + <line x="606.65" y="349.18"/> + <line x="590.69" y="349.18"/> + <line x="590.69" y="404.23"/> + <line x="676.01" y="404.23"/> + <line x="676.01" y="349.18"/> + <line x="660.66" y="349.18"/> + <line x="660.66" y="326.43"/> + <curve x1="660.66" x2="657.17" x3="652.27" y1="320.44" y2="314.84" y3="310.52"/> + <curve x1="647.37" x2="640.79" x3="633.65" y1="306.19" y2="303.07" y3="303.07"/> + <close/> + <move x="85.36" y="309.62"/> + <curve x1="58.28" x2="36.25" x3="36.25" y1="309.62" y2="331.65" y3="358.73"/> + <curve x1="36.25" x2="58.28" x3="85.36" y1="385.8" y2="407.83" y3="407.83"/> + <curve x1="112.43" x2="134.47" x3="134.47" y1="407.83" y2="385.8" y3="358.73"/> + <curve x1="134.47" x2="112.43" x3="85.36" y1="331.65" y2="309.62" y3="309.62"/> + <close/> + <move x="633.65" y="310.63"/> + <curve x1="638.52" x2="643.56" x3="647.27" y1="310.63" y2="312.91" y3="316.19"/> + <curve x1="650.98" x2="653.1" x3="653.1" y1="319.46" y2="323.66" y3="326.43"/> + <line x="653.1" y="349.18"/> + <line x="614.21" y="349.18"/> + <line x="614.21" y="326.43"/> + <curve x1="614.21" x2="621.6" x3="633.65" y1="319.99" y2="310.63" y3="310.63"/> + <close/> + <move x="472.55" y="316.1"/> + <curve x1="457.98" x2="446.44" x3="437.93" y1="316.1" y2="320.19" y3="328.35"/> + <curve x1="429.41" x2="425.15" x3="425.15" y1="336.47" y2="347.53" y3="361.51"/> + <curve x1="425.15" x2="429.41" x3="437.93" y1="375.46" y2="386.51" y3="394.68"/> + <curve x1="446.44" x2="457.98" x3="472.55" y1="402.8" y2="406.87" y3="406.87"/> + <curve x1="477.44" x2="482.12" x3="486.62" y1="406.87" y2="406.32" y3="405.22"/> + <curve x1="491.11" x2="495.43" x3="499.57" y1="404.13" y2="402.51" y3="400.36"/> + <line x="499.57" y="382.26"/> + <curve x1="495.39" x2="491.27" x3="487.2" y1="385.11" y2="387.2" y3="388.53"/> + <curve x1="483.14" x2="478.86" x3="474.37" y1="389.85" y2="390.52" y3="390.52"/> + <curve x1="466.32" x2="460" x3="455.39" y1="390.52" y2="387.94" y3="382.78"/> + <curve x1="450.78" x2="448.47" x3="448.47" y1="377.63" y2="370.54" y3="361.51"/> + <curve x1="448.47" x2="450.78" x3="455.39" y1="352.45" y2="345.34" y3="340.19"/> + <curve x1="460" x2="466.32" x3="474.37" y1="335.03" y2="332.45" y3="332.45"/> + <curve x1="478.86" x2="483.14" x3="487.2" y1="332.45" y2="333.12" y3="334.44"/> + <curve x1="491.27" x2="495.39" x3="499.57" y1="335.77" y2="337.86" y3="340.71"/> + <line x="499.57" y="322.61"/> + <curve x1="495.43" x2="491.11" x3="486.62" y1="320.46" y2="318.84" y3="317.74"/> + <curve x1="482.12" x2="477.44" x3="472.55" y1="316.65" y2="316.1" y3="316.1"/> + <close/> + <move x="83.25" y="317.23"/> + <line x="83.25" y="328.37"/> + <arc large-arc-flag="1" rx="2.83" ry="2.83" sweep-flag="0" x="88.92" x-axis-rotation="0" y="328.37"/> + <line x="88.92" y="317.34"/> + <curve x1="98.04" x2="106.3" x3="112.78" y1="318.11" y2="321.8" y3="327.49"/> + <line x="105.4" y="334.87"/> + <arc large-arc-flag="1" rx="2.83" ry="2.83" sweep-flag="0" x="109.41" x-axis-rotation="0" y="338.88"/> + <line x="116.77" y="331.51"/> + <curve x1="122.42" x2="126.07" x3="126.77" y1="338.03" y2="346.33" y3="355.48"/> + <line x="117.25" y="355.48"/> + <arc large-arc-flag="0" rx="2.83" ry="2.83" sweep-flag="0" x="117.25" x-axis-rotation="0" y="361.15"/> + <line x="126.83" y="361.15"/> + <curve x1="125.58" x2="107.54" x3="85.36" y1="383.01" y2="400.27" y3="400.27"/> + <curve x1="63.18" x2="45.14" x3="43.89" y1="400.27" y2="383.01" y3="361.15"/> + <line x="54.92" y="361.15"/> + <arc large-arc-flag="1" rx="2.83" ry="2.83" sweep-flag="0" x="54.92" x-axis-rotation="0" y="355.48"/> + <line x="43.95" y="355.48"/> + <curve x1="44.66" x2="48.36" x3="54.1" y1="346.25" y2="337.88" y3="331.34"/> + <line x="61.64" y="338.88"/> + <arc large-arc-flag="1" rx="2.83" ry="2.83" sweep-flag="0" x="65.65" x-axis-rotation="0" y="334.87"/> + <line x="58.12" y="327.34"/> + <curve x1="64.91" x2="73.64" x3="83.25" y1="321.44" y2="317.7" y3="317.23"/> + <close/> + <move x="239.42" y="317.69"/> + <line x="207.01" y="405.17"/> + <line x="229.69" y="405.17"/> + <line x="235.26" y="389.23"/> + <line x="270.53" y="389.23"/> + <line x="276.04" y="405.17"/> + <line x="298.71" y="405.17"/> + <line x="266.31" y="317.69"/> + <close/> + <move x="306.75" y="317.69"/> + <line x="306.75" y="405.17"/> + <line x="329.3" y="405.17"/> + <line x="329.3" y="374.81"/> + <line x="344.19" y="374.81"/> + <curve x1="355.32" x2="363.86" x3="369.79" y1="374.81" y2="372.35" y3="367.43"/> + <curve x1="375.77" x2="378.76" x3="378.76" y1="362.47" y2="355.4" y3="346.22"/> + <curve x1="378.76" x2="375.77" x3="369.79" y1="337.08" y2="330.05" y3="325.13"/> + <curve x1="363.86" x2="355.32" x3="344.19" y1="320.17" y2="317.69" y3="317.69"/> + <close/> + <move x="392.22" y="317.69"/> + <line x="392.22" y="405.17"/> + <line x="414.78" y="405.17"/> + <line x="414.78" y="317.69"/> + <close/> + <move x="329.3" y="334.03"/> + <line x="341.79" y="334.03"/> + <curve x1="346.16" x2="349.54" x3="351.92" y1="334.03" y2="335.09" y3="337.2"/> + <curve x1="354.3" x2="355.5" x3="355.5" y1="339.31" y2="342.31" y3="346.22"/> + <curve x1="355.5" x2="354.3" x3="351.92" y1="350.13" y2="353.15" y3="355.3"/> + <curve x1="349.54" x2="346.16" x3="341.79" y1="357.41" y2="358.47" y3="358.47"/> + <line x="329.3" y="358.47"/> + <close/> + <move x="252.89" y="338.19"/> + <line x="264.85" y="373"/> + <line x="240.88" y="373"/> + <close/> + <move x="103.7" y="343.27"/> + <line x="98.58" y="345.03"/> + <line x="85.76" y="372.24"/> + <arc large-arc-flag="0" rx="7.91" ry="7.91" sweep-flag="0" x="85.74" x-axis-rotation="0" y="372.24"/> + <arc large-arc-flag="0" rx="7.91" ry="7.91" sweep-flag="0" x="77.84" x-axis-rotation="0" y="380.15"/> + <arc large-arc-flag="0" rx="7.91" ry="7.91" sweep-flag="0" x="85.74" x-axis-rotation="0" y="388.06"/> + <arc large-arc-flag="0" rx="7.91" ry="7.91" sweep-flag="0" x="93.65" x-axis-rotation="0" y="380.15"/> + <arc large-arc-flag="0" rx="7.91" ry="7.91" sweep-flag="0" x="92.81" x-axis-rotation="0" y="376.6"/> + <line x="105.75" y="348.04"/> + <close/> + <move x="75.46" y="382.08"/> + <curve x1="71.05" x2="66.59" x3="62.58" y1="383.15" y2="385.9" y3="388.22"/> + <curve x1="67.96" x2="74.68" x3="84.8" y1="391.77" y2="396.06" y3="396.06"/> + <curve x1="95.54" x2="102.92" x3="109.4" y1="396.06" y2="392.42" y3="388.53"/> + <curve x1="105.09" x2="100.78" x3="95.94" y1="386.28" y2="383.17" y3="382.13"/> + <curve x1="95.12" x2="89.96" x3="85.01" y1="387.09" y2="390.77" y3="390.77"/> + <curve x1="80.8" x2="75.8" x3="75.46" y1="390.77" y2="387.37" y3="382.08"/> + <close/> + <move x="359.29" y="545.72"/> + <curve x1="401.44" x2="435.52" x3="435.52" y1="545.72" y2="579.8" y3="621.96"/> + <curve x1="435.52" x2="401.44" x3="359.29" y1="664.11" y2="698.19" y3="698.19"/> + <curve x1="317.13" x2="283.05" x3="283.05" y1="698.19" y2="664.11" y3="621.96"/> + <curve x1="283.05" x2="317.13" x3="359.29" y1="579.8" y2="545.72" y3="545.72"/> + <close/> + <move x="350.46" y="568.21"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="350.46" x-axis-rotation="0" y="579.55"/> + <line x="352.98" y="579.55"/> + <line x="352.98" y="587.28"/> + <curve x1="330.84" x2="313.71" x3="313.71" y1="590.33" y2="609.39" y3="632.35"/> + <curve x1="313.71" x2="334.14" x3="359.22" y1="657.43" y2="677.87" y3="677.87"/> + <curve x1="384.3" x2="404.73" x3="404.73" y1="677.87" y2="657.43" y3="632.35"/> + <curve x1="404.73" x2="387.01" x3="364.31" y1="608.99" y2="589.67" y3="587.13"/> + <line x="364.31" y="579.55"/> + <line x="367.52" y="579.55"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="367.52" x-axis-rotation="0" y="568.21"/> + <close/> + <move x="359.22" y="596.29"/> + <curve x1="379.19" x2="395.28" x3="395.28" y1="596.29" y2="612.37" y3="632.35"/> + <curve x1="395.28" x2="379.19" x3="359.22" y1="652.32" y2="668.42" y3="668.42"/> + <curve x1="339.25" x2="323.16" x3="323.16" y1="668.42" y2="652.32" y3="632.35"/> + <curve x1="323.16" x2="339.25" x3="359.22" y1="612.37" y2="596.29" y3="596.29"/> + <close/> + <move x="360.76" y="626.56"/> + <curve x1="359.38" x2="358.04" x3="357.13" y1="626.62" y2="627.13" y3="627.82"/> + <curve x1="354.52" x2="354.52" x3="356.63" y1="629.87" y2="632.95" y3="635.11"/> + <line x="378.3" y="656.35"/> + <line x="380.47" y="654.26"/> + <line x="365.51" y="629.1"/> + <curve x1="364.39" x2="362.54" x3="360.76" y1="627.15" y2="626.49" y3="626.56"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="432.45" name="aciBg" strokewidth="inherit" w="438.49"> + <connections/> + <foreground> + <path> + <move x="277.82" y="0"/> + <line x="438.49" y="158.82"/> + <curve x1="418.71" x2="413.3" x3="412.27" y1="177.11" y2="198.77" y3="221.47"/> + <curve x1="415.16" x2="424.5" x3="438.49" y1="247.35" y2="265.51" y3="278.08"/> + <line x="283.45" y="432.45"/> + <curve x1="272.56" x2="254.37" x3="224.87" y1="418.2" y2="403.26" y3="398.89"/> + <curve x1="190.64" x2="170.63" x3="155.12" y1="400.01" y2="414.17" y3="432.45"/> + <line x="0" y="279.1"/> + <curve x1="13.43" x2="25.17" x3="26.2" y1="263.98" y2="247.16" y3="219.64"/> + <curve x1="25.87" x2="21.34" x3="0" y1="199.04" y2="178.43" y3="157.83"/> + <line x="159.83" y="0"/> + <curve x1="175.88" x2="195.39" x3="218.1" y1="16.44" y2="24.78" y3="25.67"/> + <curve x1="242.2" x2="261.47" x3="277.82" y1="26.11" y2="16.19" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="acs" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="475.84" y="154.52"/> + <curve x1="375.54" x2="293.78" x3="293.78" y1="154.52" y2="236.28" y3="336.58"/> + <curve x1="293.78" x2="309.14" x3="334.71" y1="380.06" y2="420.04" y3="451.4"/> + <line x="231.99" y="557.61"/> + <line x="275.46" y="599.65"/> + <line x="380.17" y="491.38"/> + <curve x1="408" x2="440.79" x3="475.84" y1="508.66" y2="518.65" y3="518.65"/> + <curve x1="576.15" x2="657.91" x3="657.91" y1="518.65" y2="436.89" y3="336.58"/> + <curve x1="657.91" x2="576.15" x3="475.84" y1="236.28" y2="154.52" y3="154.52"/> + <close/> + <move x="184.78" y="195.37"/> + <line x="110.97" y="247.88"/> + <line x="184.78" y="300.4"/> + <line x="184.78" y="264.66"/> + <line x="269.45" y="264.66"/> + <line x="269.45" y="231.1"/> + <line x="184.78" y="231.1"/> + <close/> + <move x="758.67" y="195.37"/> + <line x="758.67" y="231.1"/> + <line x="674" y="231.1"/> + <line x="674" y="264.66"/> + <line x="758.67" y="264.66"/> + <line x="758.67" y="300.4"/> + <line x="832.48" y="247.88"/> + <close/> + <move x="475.84" y="196.09"/> + <curve x1="553.68" x2="616.34" x3="616.34" y1="196.09" y2="258.75" y3="336.58"/> + <curve x1="616.34" x2="553.68" x3="475.84" y1="414.42" y2="477.08" y3="477.08"/> + <curve x1="398.01" x2="335.35" x3="335.35" y1="477.08" y2="414.42" y3="336.58"/> + <curve x1="335.35" x2="398.01" x3="475.84" y1="258.75" y2="196.09" y3="196.09"/> + <close/> + <move x="478.18" y="227.53"/> + <curve x1="447.5" x2="429.9" x3="429.9" y1="227.53" y2="252.74" y3="275.16"/> + <line x="429.9" y="313.99"/> + <line x="397.94" y="313.99"/> + <line x="397.94" y="420.7"/> + <line x="553.75" y="420.7"/> + <line x="553.75" y="313.99"/> + <line x="526.46" y="313.99"/> + <line x="526.46" y="275.16"/> + <curve x1="526.46" x2="503.93" x3="478.18" y1="248.21" y2="227.53" y3="227.53"/> + <close/> + <move x="478.18" y="238.23"/> + <curve x1="498.23" x2="515.76" x3="515.76" y1="238.23" y2="254.17" y3="275.16"/> + <line x="515.76" y="313.99"/> + <line x="440.61" y="313.99"/> + <line x="440.61" y="275.16"/> + <curve x1="440.61" x2="453.3" x3="478.18" y1="258.23" y2="238.23" y3="238.23"/> + <close/> + <move x="475.84" y="347.47"/> + <curve x1="481.82" x2="486.66" x3="486.66" y1="347.47" y2="352.31" y3="358.29"/> + <curve x1="486.66" x2="484.09" x3="480.12" y1="362.61" y2="366.51" y3="368.21"/> + <line x="480.12" y="393.28"/> + <line x="471.56" y="393.28"/> + <line x="471.56" y="368.22"/> + <curve x1="467.59" x2="465.02" x3="465.02" y1="366.51" y2="362.61" y3="358.29"/> + <curve x1="465.02" x2="469.87" x3="475.84" y1="352.31" y2="347.47" y3="347.47"/> + <close/> + <move x="197.05" y="384.6"/> + <line x="197.05" y="420.33"/> + <line x="112.38" y="420.33"/> + <line x="112.38" y="453.89"/> + <line x="197.05" y="453.89"/> + <line x="197.05" y="489.62"/> + <line x="270.87" y="437.11"/> + <close/> + <move x="732.79" y="384.6"/> + <line x="658.98" y="437.11"/> + <line x="732.79" y="489.62"/> + <line x="732.79" y="453.89"/> + <line x="817.46" y="453.89"/> + <line x="817.46" y="420.33"/> + <line x="732.79" y="420.33"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="ad decoder" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="48.31" y="30"/> + <curve x1="48.92" x2="49.85" x3="51.09" y1="32.11" y2="34.82" y3="38.11"/> + <line x="55.18" y="48.95"/> + <line x="41.91" y="48.95"/> + <line x="46.21" y="37.47"/> + <curve x1="47.11" x2="47.82" x3="48.31" y1="35" y2="32.51" y3="30"/> + <close/> + <move x="45.64" y="25.89"/> + <line x="30.61" y="65.03"/> + <line x="36.11" y="65.03"/> + <line x="40.41" y="53.17"/> + <line x="56.78" y="53.17"/> + <line x="61.34" y="65.03"/> + <line x="67.24" y="65.03"/> + <line x="51.22" y="25.89"/> + <close/> + <move x="47.34" y="77.43"/> + <line x="44.42" y="109.82"/> + <line x="52.41" y="106.13"/> + <line x="74.09" y="153.08"/> + <line x="171.36" y="153.29"/> + <line x="171.39" y="138.29"/> + <line x="83.7" y="138.1"/> + <line x="66.03" y="99.84"/> + <line x="73.88" y="96.22"/> + <close/> + <move x="192.84" y="132.02"/> + <line x="201.07" y="132.02"/> + <curve x1="204.15" x2="206.38" x3="207.77" y1="132.02" y2="132.29" y3="132.82"/> + <curve x1="209.69" x2="211.32" x3="212.65" y1="133.57" y2="135.05" y3="137.26"/> + <curve x1="214.01" x2="214.68" x3="214.68" y1="139.45" y2="142.59" y3="146.68"/> + <curve x1="214.68" x2="214.34" x3="213.64" y1="149.64" y2="152.16" y3="154.24"/> + <curve x1="212.97" x2="212.01" x3="210.79" y1="156.3" y2="157.95" y3="159.18"/> + <curve x1="209.91" x2="208.74" x3="207.26" y1="160.05" y2="160.73" y3="161.21"/> + <curve x1="205.8" x2="203.78" x3="201.2" y1="161.69" y2="161.93" y3="161.93"/> + <line x="192.84" y="161.93"/> + <close/> + <move x="187.66" y="127.4"/> + <line x="187.66" y="166.55"/> + <line x="201.79" y="166.55"/> + <curve x1="204.16" x2="206.25" x3="208.06" y1="166.55" y2="166.32" y3="165.88"/> + <curve x1="209.9" x2="211.45" x3="212.73" y1="165.43" y2="164.78" y3="163.93"/> + <curve x1="214.03" x2="215.23" x3="216.31" y1="163.06" y2="161.87" y3="160.38"/> + <curve x1="217.4" x2="218.29" x3="218.98" y1="158.87" y2="156.96" y3="154.66"/> + <curve x1="219.68" x2="220.02" x3="220.02" y1="152.37" y2="149.73" y3="146.76"/> + <curve x1="220.02" x2="219.51" x3="218.48" y1="143.27" y2="140.18" y3="137.47"/> + <curve x1="217.46" x2="215.92" x3="213.86" y1="134.75" y2="132.51" y3="130.77"/> + <curve x1="212.27" x2="210.36" x3="208.12" y1="129.42" y2="128.48" y3="127.97"/> + <curve x1="206.51" x2="204.19" x3="201.15" y1="127.59" y2="127.4" y3="127.4"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="ad encoder" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="43.43" y="132.35"/> + <curve x1="44.03" x2="44.96" x3="46.2" y1="134.46" y2="137.17" y3="140.46"/> + <line x="50.29" y="151.3"/> + <line x="37.02" y="151.3"/> + <line x="41.32" y="139.82"/> + <curve x1="42.22" x2="42.93" x3="43.43" y1="137.35" y2="134.86" y3="132.35"/> + <close/> + <move x="40.76" y="128.23"/> + <line x="25.72" y="167.38"/> + <line x="31.22" y="167.38"/> + <line x="35.52" y="155.52"/> + <line x="51.89" y="155.52"/> + <line x="56.46" y="167.38"/> + <line x="62.36" y="167.38"/> + <line x="46.34" y="128.23"/> + <close/> + <move x="199.76" y="77.72"/> + <line x="202.68" y="110.1"/> + <line x="194.69" y="106.41"/> + <line x="173.01" y="153.36"/> + <line x="75.74" y="153.58"/> + <line x="75.71" y="138.58"/> + <line x="163.4" y="138.39"/> + <line x="181.07" y="100.13"/> + <line x="173.22" y="96.5"/> + <close/> + <move x="196.3" y="30.21"/> + <line x="204.52" y="30.21"/> + <curve x1="207.6" x2="209.83" x3="211.22" y1="30.21" y2="30.48" y3="31.01"/> + <curve x1="213.15" x2="214.77" x3="216.11" y1="31.76" y2="33.24" y3="35.44"/> + <curve x1="217.46" x2="218.14" x3="218.14" y1="37.63" y2="40.77" y3="44.87"/> + <curve x1="218.14" x2="217.79" x3="217.1" y1="47.82" y2="50.34" y3="52.42"/> + <curve x1="216.42" x2="215.47" x3="214.24" y1="54.49" y2="56.13" y3="57.36"/> + <curve x1="213.37" x2="212.19" x3="210.72" y1="58.23" y2="58.91" y3="59.39"/> + <curve x1="209.26" x2="207.24" x3="204.65" y1="59.87" y2="60.11" y3="60.11"/> + <line x="196.3" y="60.11"/> + <close/> + <move x="191.12" y="25.59"/> + <line x="191.12" y="64.73"/> + <line x="205.24" y="64.73"/> + <curve x1="207.61" x2="209.7" x3="211.52" y1="64.73" y2="64.51" y3="64.06"/> + <curve x1="213.35" x2="214.91" x3="216.19" y1="63.62" y2="62.97" y3="62.12"/> + <curve x1="217.49" x2="218.68" x3="219.77" y1="61.24" y2="60.06" y3="58.56"/> + <curve x1="220.85" x2="221.74" x3="222.44" y1="57.05" y2="55.15" y3="52.85"/> + <curve x1="223.13" x2="223.48" x3="223.48" y1="50.55" y2="47.92" y3="44.95"/> + <curve x1="223.48" x2="222.96" x3="221.93" y1="41.46" y2="38.36" y3="35.66"/> + <curve x1="220.92" x2="219.38" x3="217.31" y1="32.93" y2="30.7" y3="28.95"/> + <curve x1="215.73" x2="213.81" x3="211.57" y1="27.6" y2="26.67" y3="26.15"/> + <curve x1="209.97" x2="207.65" x3="204.6" y1="25.78" y2="25.59" y3="25.59"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="analysis correlation" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="124.09" y="51.93"/> + <curve x1="107.24" x2="93.53" x3="93.53" y1="51.93" y2="65.64" y3="82.5"/> + <curve x1="93.53" x2="93.53" x3="93.55" y1="82.85" y2="83.2" y3="83.55"/> + <line x="67.59" y="113.45"/> + <line x="48.35" y="113.44"/> + <curve x1="45.22" x2="43.52" x3="43.52" y1="113.44" y2="120.43" y3="126.42"/> + <curve x1="43.31" x2="45.61" x3="48.39" y1="133.95" y2="139.94" y3="139.94"/> + <line x="76.62" y="139.96"/> + <line x="76.62" y="139.96"/> + <line x="110.83" y="139.96"/> + <line x="110.83" y="135.46"/> + <line x="83.58" y="135.46"/> + <line x="87.4" y="131.06"/> + <line x="105.49" y="131.06"/> + <line x="105.49" y="126.56"/> + <line x="91.3" y="126.56"/> + <line x="107.36" y="108.06"/> + <curve x1="112.17" x2="117.92" x3="124.09" y1="111.22" y2="113.06" y3="113.06"/> + <curve x1="130.27" x2="136.02" x3="140.83" y1="113.06" y2="111.22" y3="108.06"/> + <line x="156.88" y="126.56"/> + <line x="153.02" y="126.56"/> + <line x="153.02" y="131.06"/> + <line x="160.79" y="131.06"/> + <line x="164.6" y="135.46"/> + <line x="158.37" y="135.46"/> + <line x="158.37" y="139.96"/> + <line x="170.26" y="139.96"/> + <line x="170.26" y="139.96"/> + <line x="199.79" y="139.94"/> + <curve x1="202.57" x2="204.88" x3="204.66" y1="139.94" y2="133.96" y3="126.42"/> + <curve x1="204.66" x2="202.97" x3="199.83" y1="120.43" y2="113.44" y3="113.44"/> + <line x="180.59" y="113.45"/> + <line x="154.64" y="83.55"/> + <curve x1="154.65" x2="154.66" x3="154.66" y1="83.2" y2="82.85" y3="82.5"/> + <curve x1="154.66" x2="140.95" x3="124.09" y1="65.65" y2="51.93" y3="51.93"/> + <close/> + <move x="124.09" y="56.43"/> + <curve x1="129.84" x2="135.15" x3="139.46" y1="56.43" y2="58.29" y3="61.43"/> + <curve x1="138.82" x2="138.23" x3="137.68" y1="61.91" y2="62.24" y3="62.42"/> + <line x="137.68" y="64.4"/> + <curve x1="138.76" x2="139.7" x3="140.5" y1="64.04" y2="63.49" y3="62.75"/> + <line x="140.5" y="70.96"/> + <line x="142.68" y="70.96"/> + <line x="142.68" y="64.2"/> + <curve x1="146.28" x2="148.81" x3="149.75" y1="67.86" y2="72.59" y3="77.87"/> + <curve x1="149.14" x2="148.29" x3="147.21" y1="77.12" y2="76.74" y3="76.74"/> + <curve x1="146.11" x2="145.25" x3="144.63" y1="76.74" y2="77.13" y3="77.9"/> + <curve x1="143.89" x2="143.52" x3="143.52" y1="78.84" y2="80.38" y3="82.52"/> + <curve x1="143.52" x2="143.86" x3="144.53" y1="84.7" y2="86.22" y3="87.07"/> + <curve x1="145.21" x2="146.1" x3="147.21" y1="87.92" y2="88.34" y3="88.34"/> + <curve x1="148.28" x2="149.12" x3="149.73" y1="88.34" y2="87.97" y3="87.24"/> + <curve x1="149" x2="147.36" x3="145.04" y1="91.23" y2="94.91" y3="98.04"/> + <curve x1="144.89" x2="144.55" x3="144.02" y1="96.74" y2="95.76" y3="95.09"/> + <curve x1="143.4" x2="142.54" x3="141.44" y1="94.31" y2="93.91" y3="93.91"/> + <curve x1="140.34" x2="139.48" x3="138.87" y1="93.91" y2="94.3" y3="95.08"/> + <curve x1="138.12" x2="137.75" x3="137.75" y1="96.02" y2="97.56" y3="99.7"/> + <curve x1="137.75" x2="138.06" x3="138.67" y1="101.78" y2="103.25" y3="104.12"/> + <curve x1="134.51" x2="129.5" x3="124.09" y1="106.93" y2="108.56" y3="108.56"/> + <curve x1="119.45" x2="115.09" x3="111.32" y1="108.56" y2="107.35" y3="105.24"/> + <curve x1="111.76" x2="112.13" x3="112.45" y1="105.04" y2="104.75" y3="104.36"/> + <curve x1="113.19" x2="113.56" x3="113.56" y1="103.42" y2="101.87" y3="99.72"/> + <curve x1="113.56" x2="113.19" x3="112.45" y1="97.57" y2="96.02" y3="95.09"/> + <curve x1="111.83" x2="110.97" x3="109.87" y1="94.31" y2="93.91" y3="93.91"/> + <curve x1="108.77" x2="107.92" x3="107.3" y1="93.91" y2="94.3" y3="95.08"/> + <curve x1="106.56" x2="106.18" x3="106.18" y1="96.02" y2="97.56" y3="99.7"/> + <curve x1="106.18" x2="106.22" x3="106.29" y1="100.38" y2="101" y3="101.55"/> + <curve x1="102.55" x2="99.84" x3="98.67" y1="98.06" y2="93.47" y3="88.28"/> + <curve x1="98.88" x2="99.1" x3="99.33" y1="88.32" y2="88.34" y3="88.34"/> + <curve x1="100.43" x2="101.29" x3="101.9" y1="88.34" y2="87.96" y3="87.18"/> + <curve x1="102.65" x2="103.02" x3="103.02" y1="86.24" y2="84.69" y3="82.54"/> + <curve x1="103.02" x2="102.65" x3="101.91" y1="80.39" y2="78.85" y3="77.92"/> + <curve x1="101.29" x2="100.43" x3="99.33" y1="77.13" y2="76.74" y3="76.74"/> + <curve x1="99.09" x2="98.87" x3="98.65" y1="76.74" y2="76.76" y3="76.8"/> + <curve x1="99.86" x2="102.77" x3="106.81" y1="71.35" y2="66.54" y3="62.97"/> + <curve x1="106.69" x2="106.63" x3="106.63" y1="63.63" y2="64.38" y3="65.23"/> + <curve x1="106.63" x2="106.97" x3="107.64" y1="67.41" y2="68.93" y3="69.78"/> + <curve x1="108.32" x2="109.21" x3="110.32" y1="70.63" y2="71.05" y3="71.05"/> + <curve x1="111.42" x2="112.28" x3="112.89" y1="71.05" y2="70.67" y3="69.89"/> + <curve x1="113.64" x2="114.01" x3="114.01" y1="68.95" y2="67.4" y3="65.25"/> + <curve x1="114.01" x2="113.64" x3="112.9" y1="63.1" y2="61.56" y3="60.63"/> + <curve x1="112.53" x2="112.07" x3="111.53" y1="60.16" y2="59.83" y3="59.64"/> + <curve x1="115.25" x2="119.53" x3="124.09" y1="57.6" y2="56.43" y3="56.43"/> + <close/> + <move x="130.83" y="59.45"/> + <curve x1="129.73" x2="128.87" x3="128.26" y1="59.45" y2="59.84" y3="60.61"/> + <curve x1="127.51" x2="127.14" x3="127.14" y1="61.55" y2="63.09" y3="65.23"/> + <curve x1="127.14" x2="127.48" x3="128.15" y1="67.41" y2="68.93" y3="69.78"/> + <curve x1="128.83" x2="129.72" x3="130.83" y1="70.63" y2="71.05" y3="71.05"/> + <curve x1="131.93" x2="132.79" x3="133.4" y1="71.05" y2="70.67" y3="69.89"/> + <curve x1="134.15" x2="134.52" x3="134.52" y1="68.95" y2="67.4" y3="65.25"/> + <curve x1="134.52" x2="134.15" x3="133.41" y1="63.1" y2="61.56" y3="60.63"/> + <curve x1="132.79" x2="131.93" x3="130.83" y1="59.84" y2="59.45" y3="59.45"/> + <close/> + <move x="120.81" y="59.55"/> + <curve x1="120.56" x2="120.1" x3="119.43" y1="60.24" y2="60.85" y3="61.37"/> + <curve x1="118.77" x2="118.15" x3="117.58" y1="61.88" y2="62.24" y3="62.42"/> + <line x="117.58" y="64.4"/> + <curve x1="118.66" x2="119.6" x3="120.4" y1="64.04" y2="63.49" y3="62.75"/> + <line x="120.4" y="70.96"/> + <line x="122.57" y="70.96"/> + <line x="122.57" y="59.55"/> + <close/> + <move x="110.32" y="61.25"/> + <curve x1="110.58" x2="110.81" x3="111.02" y1="61.25" y2="61.34" y3="61.51"/> + <curve x1="111.22" x2="111.39" x3="111.53" y1="61.68" y2="62.01" y3="62.51"/> + <curve x1="111.66" x2="111.73" x3="111.73" y1="63.01" y2="63.92" y3="65.25"/> + <curve x1="111.73" x2="111.65" x3="111.5" y1="66.59" y2="67.53" y3="68.09"/> + <curve x1="111.39" x2="111.23" x3="111.02" y1="68.53" y2="68.83" y3="69"/> + <curve x1="110.82" x2="110.58" x3="110.32" y1="69.16" y2="69.25" y3="69.25"/> + <curve x1="110.05" x2="109.82" x3="109.61" y1="69.25" y2="69.16" y3="69"/> + <curve x1="109.41" x2="109.24" x3="109.11" y1="68.83" y2="68.5" y3="68.01"/> + <curve x1="108.97" x2="108.91" x3="108.91" y1="67.51" y2="66.59" y3="65.25"/> + <curve x1="108.91" x2="108.98" x3="109.13" y1="63.92" y2="62.97" y3="62.41"/> + <curve x1="109.25" x2="109.41" x3="109.61" y1="61.98" y2="61.68" y3="61.51"/> + <curve x1="109.82" x2="110.05" x3="110.32" y1="61.34" y2="61.25" y3="61.25"/> + <close/> + <move x="130.83" y="61.25"/> + <curve x1="131.09" x2="131.33" x3="131.53" y1="61.25" y2="61.34" y3="61.51"/> + <curve x1="131.73" x2="131.9" x3="132.04" y1="61.68" y2="62.01" y3="62.51"/> + <curve x1="132.17" x2="132.24" x3="132.24" y1="63.01" y2="63.92" y3="65.25"/> + <curve x1="132.24" x2="132.16" x3="132.01" y1="66.59" y2="67.53" y3="68.09"/> + <curve x1="131.9" x2="131.74" x3="131.53" y1="68.53" y2="68.83" y3="69"/> + <curve x1="131.33" x2="131.09" x3="130.83" y1="69.16" y2="69.25" y3="69.25"/> + <curve x1="130.57" x2="130.33" x3="130.12" y1="69.25" y2="69.16" y3="69"/> + <curve x1="129.92" x2="129.75" x3="129.62" y1="68.83" y2="68.5" y3="68.01"/> + <curve x1="129.49" x2="129.42" x3="129.42" y1="67.51" y2="66.59" y3="65.25"/> + <curve x1="129.42" x2="129.49" x3="129.64" y1="63.92" y2="62.97" y3="62.41"/> + <curve x1="129.76" x2="129.92" x3="130.12" y1="61.98" y2="61.68" y3="61.51"/> + <curve x1="130.33" x2="130.57" x3="130.83" y1="61.34" y2="61.25" y3="61.25"/> + <close/> + <move x="117.7" y="76.74"/> + <curve x1="116.6" x2="115.74" x3="115.13" y1="76.74" y2="77.13" y3="77.9"/> + <curve x1="114.38" x2="114.01" x3="114.01" y1="78.84" y2="80.38" y3="82.52"/> + <curve x1="114.01" x2="114.35" x3="115.02" y1="84.7" y2="86.22" y3="87.07"/> + <curve x1="115.7" x2="116.59" x3="117.7" y1="87.92" y2="88.34" y3="88.34"/> + <curve x1="118.8" x2="119.66" x3="120.27" y1="88.34" y2="87.96" y3="87.18"/> + <curve x1="121.02" x2="121.39" x3="121.39" y1="86.24" y2="84.69" y3="82.54"/> + <curve x1="121.39" x2="121.02" x3="120.28" y1="80.39" y2="78.85" y3="77.92"/> + <curve x1="119.66" x2="118.8" x3="117.7" y1="77.13" y2="76.74" y3="76.74"/> + <close/> + <move x="128.31" y="76.74"/> + <curve x1="127.21" x2="126.35" x3="125.74" y1="76.74" y2="77.13" y3="77.9"/> + <curve x1="124.99" x2="124.62" x3="124.62" y1="78.84" y2="80.38" y3="82.52"/> + <curve x1="124.62" x2="124.96" x3="125.63" y1="84.7" y2="86.22" y3="87.07"/> + <curve x1="126.31" x2="127.2" x3="128.31" y1="87.92" y2="88.34" y3="88.34"/> + <curve x1="129.41" x2="130.27" x3="130.88" y1="88.34" y2="87.96" y3="87.18"/> + <curve x1="131.63" x2="132" x3="132" y1="86.24" y2="84.69" y3="82.54"/> + <curve x1="132" x2="131.63" x3="130.89" y1="80.39" y2="78.85" y3="77.92"/> + <curve x1="130.27" x2="129.41" x3="128.31" y1="77.13" y2="76.74" y3="76.74"/> + <close/> + <move x="108.61" y="76.84"/> + <curve x1="108.37" x2="107.91" x3="107.24" y1="77.53" y2="78.14" y3="78.66"/> + <curve x1="106.57" x2="105.96" x3="105.39" y1="79.17" y2="79.53" y3="79.71"/> + <line x="105.39" y="81.69"/> + <curve x1="106.47" x2="107.41" x3="108.2" y1="81.33" y2="80.78" y3="80.04"/> + <line x="108.2" y="88.25"/> + <line x="110.38" y="88.25"/> + <line x="110.38" y="76.84"/> + <close/> + <move x="138.06" y="76.84"/> + <curve x1="137.81" x2="137.35" x3="136.68" y1="77.53" y2="78.14" y3="78.66"/> + <curve x1="136.02" x2="135.4" x3="134.83" y1="79.17" y2="79.53" y3="79.71"/> + <line x="134.83" y="81.69"/> + <curve x1="135.91" x2="136.85" x3="137.65" y1="81.33" y2="80.78" y3="80.04"/> + <line x="137.65" y="88.25"/> + <line x="139.82" y="88.25"/> + <line x="139.82" y="76.84"/> + <close/> + <move x="99.33" y="78.54"/> + <curve x1="99.59" x2="99.83" x3="100.03" y1="78.54" y2="78.63" y3="78.8"/> + <curve x1="100.23" x2="100.4" x3="100.54" y1="78.97" y2="79.3" y3="79.8"/> + <curve x1="100.67" x2="100.74" x3="100.74" y1="80.3" y2="81.21" y3="82.54"/> + <curve x1="100.74" x2="100.67" x3="100.52" y1="83.88" y2="84.82" y3="85.38"/> + <curve x1="100.4" x2="100.24" x3="100.04" y1="85.82" y2="86.12" y3="86.29"/> + <curve x1="99.83" x2="99.59" x3="99.33" y1="86.45" y2="86.54" y3="86.54"/> + <curve x1="99.07" x2="98.83" x3="98.62" y1="86.54" y2="86.45" y3="86.29"/> + <curve x1="98.46" x2="98.32" x3="98.21" y1="86.16" y2="85.91" y3="85.57"/> + <curve x1="98.09" x2="98.03" x3="98.03" y1="84.56" y2="83.54" y3="82.5"/> + <curve x1="98.03" x2="98.08" x3="98.19" y1="81.5" y2="80.51" y3="79.54"/> + <curve x1="98.3" x2="98.45" x3="98.62" y1="79.2" y2="78.94" y3="78.8"/> + <curve x1="98.83" x2="99.07" x3="99.33" y1="78.63" y2="78.54" y3="78.54"/> + <close/> + <move x="117.7" y="78.54"/> + <curve x1="117.96" x2="118.2" x3="118.4" y1="78.54" y2="78.63" y3="78.8"/> + <curve x1="118.6" x2="118.77" x3="118.91" y1="78.97" y2="79.3" y3="79.8"/> + <curve x1="119.04" x2="119.11" x3="119.11" y1="80.3" y2="81.21" y3="82.54"/> + <curve x1="119.11" x2="119.03" x3="118.89" y1="83.88" y2="84.82" y3="85.38"/> + <curve x1="118.77" x2="118.61" x3="118.4" y1="85.82" y2="86.12" y3="86.29"/> + <curve x1="118.2" x2="117.96" x3="117.7" y1="86.45" y2="86.54" y3="86.54"/> + <curve x1="117.44" x2="117.2" x3="116.99" y1="86.54" y2="86.45" y3="86.29"/> + <curve x1="116.79" x2="116.62" x3="116.49" y1="86.12" y2="85.79" y3="85.3"/> + <curve x1="116.36" x2="116.29" x3="116.29" y1="84.8" y2="83.88" y3="82.54"/> + <curve x1="116.29" x2="116.36" x3="116.51" y1="81.21" y2="80.26" y3="79.7"/> + <curve x1="116.63" x2="116.79" x3="116.99" y1="79.27" y2="78.97" y3="78.8"/> + <curve x1="117.2" x2="117.44" x3="117.7" y1="78.63" y2="78.54" y3="78.54"/> + <close/> + <move x="128.31" y="78.54"/> + <curve x1="128.57" x2="128.81" x3="129.01" y1="78.54" y2="78.63" y3="78.8"/> + <curve x1="129.21" x2="129.38" x3="129.52" y1="78.97" y2="79.3" y3="79.8"/> + <curve x1="129.65" x2="129.72" x3="129.72" y1="80.3" y2="81.21" y3="82.54"/> + <curve x1="129.72" x2="129.65" x3="129.5" y1="83.88" y2="84.82" y3="85.38"/> + <curve x1="129.38" x2="129.22" x3="129.01" y1="85.82" y2="86.12" y3="86.29"/> + <curve x1="128.81" x2="128.57" x3="128.31" y1="86.45" y2="86.54" y3="86.54"/> + <curve x1="128.05" x2="127.81" x3="127.6" y1="86.54" y2="86.45" y3="86.29"/> + <curve x1="127.4" x2="127.23" x3="127.1" y1="86.12" y2="85.79" y3="85.3"/> + <curve x1="126.97" x2="126.9" x3="126.9" y1="84.8" y2="83.88" y3="82.54"/> + <curve x1="126.9" x2="126.97" x3="127.12" y1="81.21" y2="80.26" y3="79.7"/> + <curve x1="127.24" x2="127.4" x3="127.6" y1="79.27" y2="78.97" y3="78.8"/> + <curve x1="127.81" x2="128.05" x3="128.31" y1="78.63" y2="78.54" y3="78.54"/> + <close/> + <move x="147.21" y="78.54"/> + <curve x1="147.47" x2="147.7" x3="147.91" y1="78.54" y2="78.63" y3="78.8"/> + <curve x1="148.11" x2="148.28" x3="148.42" y1="78.97" y2="79.3" y3="79.8"/> + <curve x1="148.55" x2="148.62" x3="148.62" y1="80.3" y2="81.21" y3="82.54"/> + <curve x1="148.62" x2="148.54" x3="148.39" y1="83.88" y2="84.82" y3="85.38"/> + <curve x1="148.28" x2="148.12" x3="147.91" y1="85.82" y2="86.12" y3="86.29"/> + <curve x1="147.71" x2="147.47" x3="147.21" y1="86.45" y2="86.54" y3="86.54"/> + <curve x1="146.94" x2="146.71" x3="146.5" y1="86.54" y2="86.45" y3="86.29"/> + <curve x1="146.3" x2="146.13" x3="146" y1="86.12" y2="85.79" y3="85.3"/> + <curve x1="145.86" x2="145.8" x3="145.8" y1="84.8" y2="83.88" y3="82.54"/> + <curve x1="145.8" x2="145.87" x3="146.02" y1="81.21" y2="80.26" y3="79.7"/> + <curve x1="146.14" x2="146.3" x3="146.5" y1="79.27" y2="78.97" y3="78.8"/> + <curve x1="146.71" x2="146.94" x3="147.21" y1="78.63" y2="78.54" y3="78.54"/> + <close/> + <move x="130.17" y="93.91"/> + <curve x1="129.07" x2="128.21" x3="127.59" y1="93.91" y2="94.3" y3="95.08"/> + <curve x1="126.85" x2="126.48" x3="126.48" y1="96.02" y2="97.56" y3="99.7"/> + <curve x1="126.48" x2="126.81" x3="127.49" y1="101.88" y2="103.39" y3="104.25"/> + <curve x1="128.17" x2="129.06" x3="130.17" y1="105.09" y2="105.52" y3="105.52"/> + <curve x1="131.27" x2="132.12" x3="132.74" y1="105.52" y2="105.13" y3="104.36"/> + <curve x1="133.48" x2="133.86" x3="133.86" y1="103.42" y2="101.87" y3="99.72"/> + <curve x1="133.86" x2="133.49" x3="132.75" y1="97.57" y2="96.02" y3="95.09"/> + <curve x1="132.13" x2="131.27" x3="130.17" y1="94.31" y2="93.91" y3="93.91"/> + <close/> + <move x="120.95" y="94.01"/> + <curve x1="120.7" x2="120.24" x3="119.58" y1="94.7" y2="95.31" y3="95.83"/> + <curve x1="118.91" x2="118.29" x3="117.72" y1="96.35" y2="96.7" y3="96.89"/> + <line x="117.72" y="98.86"/> + <curve x1="118.8" x2="119.74" x3="120.54" y1="98.51" y2="97.96" y3="97.21"/> + <line x="120.54" y="105.42"/> + <line x="122.71" y="105.42"/> + <line x="122.71" y="94.01"/> + <close/> + <move x="109.87" y="95.72"/> + <curve x1="110.14" x2="110.37" x3="110.57" y1="95.72" y2="95.81" y3="95.98"/> + <curve x1="110.78" x2="110.95" x3="111.08" y1="96.14" y2="96.47" y3="96.98"/> + <curve x1="111.22" x2="111.28" x3="111.28" y1="97.47" y2="98.39" y3="99.72"/> + <curve x1="111.28" x2="111.21" x3="111.06" y1="101.05" y2="102" y3="102.56"/> + <curve x1="110.95" x2="110.79" x3="110.58" y1="102.99" y2="103.29" y3="103.46"/> + <curve x1="110.37" x2="110.14" x3="109.87" y1="103.63" y2="103.71" y3="103.71"/> + <curve x1="109.61" x2="109.37" x3="109.17" y1="103.71" y2="103.63" y3="103.46"/> + <curve x1="108.97" x2="108.8" x3="108.66" y1="103.3" y2="102.97" y3="102.47"/> + <curve x1="108.53" x2="108.46" x3="108.46" y1="101.97" y2="101.05" y3="99.72"/> + <curve x1="108.46" x2="108.54" x3="108.69" y1="98.39" y2="97.44" y3="96.88"/> + <curve x1="108.8" x2="108.96" x3="109.17" y1="96.44" y2="96.14" y3="95.98"/> + <curve x1="109.37" x2="109.61" x3="109.87" y1="95.81" y2="95.72" y3="95.72"/> + <close/> + <move x="130.17" y="95.72"/> + <curve x1="130.43" x2="130.66" x3="130.86" y1="95.72" y2="95.81" y3="95.98"/> + <curve x1="131.07" x2="131.24" x3="131.38" y1="96.14" y2="96.47" y3="96.98"/> + <curve x1="131.51" x2="131.58" x3="131.58" y1="97.47" y2="98.39" y3="99.72"/> + <curve x1="131.58" x2="131.5" x3="131.35" y1="101.05" y2="102" y3="102.56"/> + <curve x1="131.24" x2="131.08" x3="130.87" y1="102.99" y2="103.29" y3="103.46"/> + <curve x1="130.66" x2="130.43" x3="130.17" y1="103.63" y2="103.71" y3="103.71"/> + <curve x1="129.9" x2="129.67" x3="129.46" y1="103.71" y2="103.63" y3="103.46"/> + <curve x1="129.26" x2="129.09" x3="128.96" y1="103.3" y2="102.97" y3="102.47"/> + <curve x1="128.82" x2="128.76" x3="128.76" y1="101.97" y2="101.05" y3="99.72"/> + <curve x1="128.76" x2="128.83" x3="128.98" y1="98.39" y2="97.44" y3="96.88"/> + <curve x1="129.09" x2="129.25" x3="129.46" y1="96.44" y2="96.14" y3="95.98"/> + <curve x1="129.67" x2="129.9" x3="130.17" y1="95.81" y2="95.72" y3="95.72"/> + <close/> + <move x="141.44" y="95.72"/> + <curve x1="141.7" x2="141.94" x3="142.14" y1="95.72" y2="95.81" y3="95.98"/> + <curve x1="142.34" x2="142.51" x3="142.65" y1="96.14" y2="96.47" y3="96.98"/> + <curve x1="142.78" x2="142.85" x3="142.85" y1="97.47" y2="98.39" y3="99.72"/> + <curve x1="142.85" x2="142.84" x3="142.84" y1="100.05" y2="100.35" y3="100.63"/> + <curve x1="142.06" x2="141.24" x3="140.36" y1="101.43" y2="102.18" y3="102.88"/> + <curve x1="140.32" x2="140.27" x3="140.23" y1="102.76" y2="102.62" y3="102.47"/> + <curve x1="140.1" x2="140.03" x3="140.03" y1="101.97" y2="101.05" y3="99.72"/> + <curve x1="140.03" x2="140.1" x3="140.25" y1="98.39" y2="97.44" y3="96.88"/> + <curve x1="140.37" x2="140.53" x3="140.73" y1="96.44" y2="96.14" y3="95.98"/> + <curve x1="140.94" x2="141.18" x3="141.44" y1="95.81" y2="95.72" y3="95.72"/> + <close/> + <move x="48.19" y="116.48"/> + <curve x1="49.57" x2="50.69" x3="50.69" y1="116.48" y2="121.18" y3="126.98"/> + <curve x1="50.69" x2="49.57" x3="48.19" y1="132.77" y2="137.47" y3="137.47"/> + <curve x1="46.81" x2="45.69" x3="45.69" y1="137.47" y2="132.77" y3="126.98"/> + <curve x1="45.69" x2="46.81" x3="48.19" y1="121.18" y2="116.48" y3="116.48"/> + <close/> + <move x="113.16" y="126.56"/> + <line x="113.16" y="131.06"/> + <line x="125.06" y="131.06"/> + <line x="125.06" y="126.56"/> + <close/> + <move x="133" y="126.56"/> + <line x="133" y="131.06"/> + <line x="144.9" y="131.06"/> + <line x="144.9" y="126.56"/> + <close/> + <move x="118.51" y="135.46"/> + <line x="118.51" y="139.96"/> + <line x="130.41" y="139.96"/> + <line x="130.41" y="135.46"/> + <close/> + <move x="138.34" y="135.46"/> + <line x="138.34" y="139.96"/> + <line x="150.24" y="139.96"/> + <line x="150.24" y="135.46"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="anomaly detection" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="360.79" y="110.55"/> + <curve x1="221.45" x2="108.18" x3="108.18" y1="110.55" y2="223.83" y3="363.17"/> + <curve x1="108.18" x2="221.45" x3="360.79" y1="502.51" y2="615.79" y3="615.79"/> + <curve x1="424.84" x2="483.38" x3="527.95" y1="615.79" y2="591.85" y3="552.45"/> + <line x="507.03" y="530.84"/> + <curve x1="467.96" x2="416.82" x3="360.79" y1="564.93" y2="585.55" y3="585.55"/> + <curve x1="316.65" x2="275.56" x3="241" y1="585.55" y2="572.75" y3="550.65"/> + <line x="241" y="477.75"/> + <line x="267.84" y="477.75"/> + <line x="267.84" y="462.41"/> + <line x="195.79" y="462.41"/> + <line x="195.79" y="477.75"/> + <line x="222.69" y="477.75"/> + <line x="222.69" y="537.59"/> + <curve x1="182.75" x2="153.98" x3="143.15" y1="505.94" y2="460.85" y3="409.09"/> + <line x="156.27" y="409.09"/> + <line x="156.27" y="381.69"/> + <line x="171.11" y="366.54"/> + <line x="196.04" y="409.09"/> + <line x="219.72" y="409.09"/> + <line x="183.73" y="353.74"/> + <line x="217.87" y="318.42"/> + <line x="193.25" y="318.42"/> + <line x="156.27" y="358.68"/> + <line x="156.27" y="318.42"/> + <line x="142.9" y="318.42"/> + <curve x1="146.51" x2="152.25" x3="159.82" y1="300.66" y2="283.67" y3="267.73"/> + <line x="178.19" y="267.73"/> + <line x="170.35" y="248.15"/> + <curve x1="179.02" x2="189.27" x3="200.85" y1="233.8" y2="220.52" y3="208.54"/> + <line x="200.85" y="267.73"/> + <line x="231.72" y="267.73"/> + <curve x1="243.39" x2="250.75" x3="253.8" y1="267.65" y2="267.44" y3="267.11"/> + <curve x1="258.66" x2="262.74" x3="266.04" y1="266.58" y2="265.15" y3="262.85"/> + <curve x1="269.38" x2="272" x3="273.9" y1="260.5" y2="257.38" y3="253.51"/> + <curve x1="275.84" x2="276.8" x3="276.8" y1="249.59" y2="245.57" y3="241.45"/> + <curve x1="276.8" x2="275.32" x3="272.35" y1="236.21" y2="231.65" y3="227.78"/> + <curve x1="269.38" x2="265.14" x3="259.61" y1="223.9" y2="221.16" y3="219.55"/> + <curve x1="263.53" x2="266.62" x3="268.89" y1="217.78" y2="215.12" y3="211.57"/> + <curve x1="271.2" x2="272.35" x3="272.35" y1="208.03" y2="204.13" y3="199.88"/> + <curve x1="272.35" x2="271.42" x3="269.57" y1="195.97" y2="192.44" y3="189.31"/> + <curve x1="267.71" x2="265.38" x3="262.58" y1="186.13" y2="183.6" y3="181.7"/> + <curve x1="259.82" x2="256.66" x3="253.12" y1="179.8" y2="178.57" y3="177.99"/> + <curve x1="249.92" x2="245.12" x3="238.87" y1="177.43" y2="177.13" y3="177.08"/> + <curve x1="273.86" x2="315.74" x3="360.79" y1="154.14" y2="140.79" y3="140.79"/> + <curve x1="483.79" x2="583.17" x3="583.17" y1="140.79" y2="240.17" y3="363.17"/> + <curve x1="583.17" x2="576.05" x3="563.25" y1="396.1" y2="427.34" y3="455.43"/> + <line x="584.91" y="479.69"/> + <curve x1="603.11" x2="613.41" x3="613.41" y1="444.81" y2="405.17" y3="363.17"/> + <curve x1="613.41" x2="500.13" x3="360.79" y1="223.83" y2="110.55" y3="110.55"/> + <close/> + <move x="337.8" y="175.52"/> + <curve x1="325.1" x2="314.85" x3="307.06" y1="175.52" y2="179.7" y3="188.07"/> + <curve x1="299.27" x2="295.37" x3="295.37" y1="196.4" y2="208.11" y3="223.2"/> + <curve x1="295.37" x2="299.24" x3="307" y1="237.47" y2="248.72" y3="256.97"/> + <curve x1="308.41" x2="309.89" x3="311.44" y1="258.46" y2="259.82" y3="261.04"/> + <line x="322.84" y="248.79"/> + <curve x1="321.99" x2="321.18" x3="320.42" y1="248.06" y2="247.24" y3="246.33"/> + <curve x1="316.29" x2="314.23" x3="314.23" y1="241.47" y2="233.3" y3="221.84"/> + <curve x1="314.23" x2="316.31" x3="320.48" y1="211.04" y2="203.22" y3="198.4"/> + <curve x1="324.68" x2="330.15" x3="336.87" y1="193.58" y2="191.16" y3="191.16"/> + <curve x1="341.73" x2="345.86" x3="349.24" y1="191.16" y2="192.52" y3="195.25"/> + <curve x1="352.66" x2="354.91" x3="355.98" y1="197.97" y2="201.68" y3="206.38"/> + <line x="374.1" y="202.05"/> + <curve x1="372.04" x2="368.95" x3="364.82" y1="194.79" y2="189.23" y3="185.35"/> + <curve x1="357.9" x2="348.89" x3="337.8" y1="178.79" y2="175.52" y3="175.52"/> + <close/> + <move x="405.71" y="177.06"/> + <line x="405.71" y="221.62"/> + <line x="424.02" y="221.62"/> + <line x="424.02" y="192.4"/> + <line x="432.25" y="192.4"/> + <curve x1="439.71" x2="444.72" x3="447.28" y1="192.4" y2="192.69" y3="193.27"/> + <curve x1="450.7" x2="453.53" x3="455.75" y1="194.01" y2="195.43" y3="197.53"/> + <curve x1="457.98" x2="459.71" x3="460.95" y1="199.64" y2="202.56" y3="206.32"/> + <curve x1="462.18" x2="462.8" x3="462.8" y1="210.07" y2="215.45" y3="222.46"/> + <curve x1="462.8" x2="462.65" x3="462.36" y1="225.89" y2="228.97" y3="231.71"/> + <curve x1="469.06" x2="474.57" x3="479.63" y1="233.78" y2="236.88" y3="240.37"/> + <curve x1="481.03" x2="481.73" x3="481.73" y1="235.44" y2="229.74" y3="223.26"/> + <curve x1="481.73" x2="480.74" x3="478.76" y1="214.77" y2="207.64" y3="201.86"/> + <curve x1="476.78" x2="473.89" x3="470.1" y1="196.05" y2="191.14" y3="187.14"/> + <curve x1="466.31" x2="461.75" x3="456.43" y1="183.14" y2="180.36" y3="178.79"/> + <curve x1="452.47" x2="446.72" x3="439.18" y1="177.64" y2="177.06" y3="177.06"/> + <close/> + <move x="219.16" y="192.15"/> + <line x="229.68" y="192.15"/> + <curve x1="238.29" x2="243.51" x3="245.32" y1="192.15" y2="192.26" y3="192.46"/> + <curve x1="248.38" x2="250.66" x3="252.19" y1="192.83" y2="193.9" y3="195.68"/> + <curve x1="253.76" x2="254.54" x3="254.54" y1="197.41" y2="199.68" y3="202.48"/> + <curve x1="254.54" x2="253.63" x3="251.82" y1="205.41" y2="207.78" y3="209.59"/> + <curve x1="250.05" x2="247.59" x3="244.46" y1="211.37" y2="212.44" y3="212.81"/> + <curve x1="242.73" x2="238.29" x3="231.16" y1="213.02" y2="213.12" y3="213.12"/> + <line x="219.16" y="213.12"/> + <close/> + <move x="219.16" y="228.21"/> + <line x="233.94" y="228.21"/> + <curve x1="242.27" x2="247.67" x3="250.15" y1="228.21" y2="228.64" y3="229.51"/> + <curve x1="252.66" x2="254.58" x3="255.9" y1="230.38" y2="231.76" y3="233.65"/> + <curve x1="257.22" x2="257.88" x3="257.88" y1="235.55" y2="237.86" y3="240.58"/> + <curve x1="257.88" x2="257.01" x3="255.28" y1="243.8" y2="246.37" y3="248.31"/> + <curve x1="253.59" x2="251.39" x3="248.66" y1="250.21" y2="251.4" y3="251.9"/> + <curve x1="246.89" x2="242.7" x3="236.11" y1="252.27" y2="252.46" y3="252.46"/> + <line x="219.16" y="252.46"/> + <close/> + <move x="408.8" y="238.85"/> + <curve x1="338.55" x2="281.15" x3="281.15" y1="238.85" y2="296.24" y3="366.49"/> + <curve x1="281.15" x2="338.55" x3="408.8" y1="436.74" y2="494.14" y3="494.14"/> + <curve x1="433.37" x2="456.37" x3="475.89" y1="494.14" y2="487.11" y3="474.96"/> + <line x="569.86" y="569.93"/> + <curve x1="578.74" x2="593.13" x3="602.11" y1="578.91" y2="578.99" y3="570.1"/> + <line x="611.44" y="560.87"/> + <curve x1="620.42" x2="620.5" x3="611.61" y1="551.98" y2="537.6" y3="528.62"/> + <line x="517.38" y="433.39"/> + <curve x1="529.45" x2="536.44" x3="536.44" y1="413.91" y2="390.98" y3="366.49"/> + <curve x1="536.44" x2="479.04" x3="408.8" y1="296.24" y2="238.85" y3="238.85"/> + <close/> + <move x="408.8" y="280.42"/> + <curve x1="456.58" x2="494.86" x3="494.86" y1="280.42" y2="318.71" y3="366.49"/> + <curve x1="494.86" x2="456.58" x3="408.8" y1="414.27" y2="452.56" y3="452.56"/> + <curve x1="361.02" x2="322.72" x3="322.72" y1="452.56" y2="414.27" y3="366.49"/> + <curve x1="322.72" x2="361.02" x3="408.8" y1="318.71" y2="280.42" y3="280.42"/> + <close/> + <move x="409.13" y="302.31"/> + <curve x1="405.68" x2="402.43" x3="400.67" y1="302.19" y2="303.96" y3="306.93"/> + <line x="348.54" y="394.81"/> + <curve x1="344.8" x2="349.34" x3="356.67" y1="401.11" y2="409.08" y3="409.08"/> + <line x="460.92" y="409.08"/> + <curve x1="468.24" x2="472.78" x3="469.05" y1="409.08" y2="401.11" y3="394.81"/> + <line x="416.92" y="306.93"/> + <curve x1="415.28" x2="412.34" x3="409.13" y1="304.17" y2="302.43" y3="302.31"/> + <close/> + <move x="237.21" y="318.42"/> + <line x="237.21" y="409.09"/> + <line x="254.22" y="409.09"/> + <line x="254.22" y="337.72"/> + <line x="268.15" y="393.12"/> + <curve x1="264.13" x2="262.73" x3="268.27" y1="371.05" y2="351.44" y3="332.16"/> + <line x="264.62" y="318.42"/> + <close/> + <move x="294.08" y="461.64"/> + <line x="294.08" y="510.01"/> + <curve x1="294.08" x2="294.68" x3="295.87" y1="520.15" y2="527.82" y3="533.02"/> + <curve x1="296.7" x2="298.41" x3="301.01" y1="536.52" y2="539.88" y3="543.1"/> + <curve x1="303.6" x2="307.13" x3="311.58" y1="546.27" y2="548.87" y3="550.89"/> + <curve x1="316.08" x2="322.65" x3="331.31" y1="552.87" y2="553.86" y3="553.86"/> + <curve x1="338.49" x2="344.3" x3="348.75" y1="553.86" y2="552.95" y3="551.14"/> + <curve x1="353.21" x2="356.75" x3="359.39" y1="549.28" y2="546.81" y3="543.71"/> + <curve x1="362.07" x2="363.9" x3="364.89" y1="540.62" y2="536.83" y3="532.33"/> + <curve x1="365.88" x2="366.38" x3="366.38" y1="527.84" y2="520.15" y3="509.27"/> + <line x="366.38" y="505.17"/> + <curve x1="359.8" x2="353.71" x3="348.07" y1="503.63" y2="500.73" y3="496.6"/> + <line x="348.07" y="511.8"/> + <curve x1="348.07" x2="347.8" x3="347.27" y1="518.98" y2="524.11" y3="527.2"/> + <curve x1="346.73" x2="345.14" x3="342.51" y1="530.29" y2="532.91" y3="535.06"/> + <curve x1="339.87" x2="335.95" x3="330.75" y1="537.16" y2="538.21" y3="538.21"/> + <curve x1="325.64" x2="321.6" x3="318.63" y1="538.21" y2="537.1" y3="534.87"/> + <curve x1="315.71" x2="313.85" x3="313.07" y1="532.6" y2="529.61" y3="525.9"/> + <curve x1="312.61" x2="312.38" x3="312.38" y1="523.59" y2="518.54" y3="510.75"/> + <line x="312.38" y="473.08"/> + <curve x1="308.09" x2="301.96" x3="299.64" y1="469.89" y2="466.15" y3="461.64"/> + <close/> + <move x="460.37" y="502.21"/> + <curve x1="453.92" x2="447.79" x3="440.08" y1="504.22" y2="506.26" y3="508.12"/> + <line x="433" y="529.52"/> + <line x="426.37" y="510.15"/> + <curve x1="420.09" x2="413.79" x3="407.18" y1="510.49" y2="510.73" y3="509.92"/> + <line x="422.61" y="553.09"/> + <line x="442.15" y="553.08"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="anti malware" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="44.9" y="59.64"/> + <curve x1="42.25" x2="39.72" x3="37.76" y1="59.64" y2="60.26" y3="61.86"/> + <curve x1="35.8" x2="34.67" x3="34.67" y1="63.47" y2="66.05" y3="68.97"/> + <line x="34.67" y="112.07"/> + <line x="95.71" y="112.07"/> + <line x="94.03" y="107.07"/> + <line x="44.32" y="107.07"/> + <curve x1="41.61" x2="39.67" x3="39.67" y1="107.07" y2="105.77" y3="102.34"/> + <line x="39.67" y="68.97"/> + <curve x1="39.67" x2="40.15" x3="40.93" y1="67.19" y2="66.36" y3="65.73"/> + <curve x1="41.7" x2="43.04" x3="44.9" y1="65.1" y2="64.64" y3="64.64"/> + <line x="91.94" y="64.64"/> + <line x="91.94" y="59.64"/> + <close/> + <move x="21.94" y="137.44"/> + <line x="34.59" y="115.61"/> + <line x="97.08" y="115.61"/> + <curve x1="100.89" x2="106.25" x3="111.27" y1="125.33" y2="132.12" y3="137.44"/> + <close/> + <move x="132.7" y="53.69"/> + <line x="140.88" y="55.5"/> + <line x="140.78" y="60.92"/> + <line x="156.58" y="64.37"/> + <line x="156.65" y="58.99"/> + <line x="169.55" y="61.85"/> + <line x="169.55" y="90.06"/> + <curve x1="169.55" x2="153.16" x3="132.6" y1="114.38" y2="136.29" y3="144.67"/> + <curve x1="109.36" x2="95.23" x3="95.23" y1="135.35" y2="113.49" y3="91.17"/> + <line x="95.23" y="61.96"/> + <line x="108.13" y="59.11"/> + <line x="108.2" y="64.37"/> + <line x="124" y="60.92"/> + <line x="123.9" y="55.63"/> + <close/> + <move x="159.56" y="80.5"/> + <line x="118.57" y="121.37"/> + <curve x1="122.31" x2="127.11" x3="133.28" y1="125.41" y2="129.32" y3="132.81"/> + <curve x1="156.17" x2="159.47" x3="159.47" y1="119.27" y2="96.72" y3="87.17"/> + <close/> + <move x="132.49" y="69.31"/> + <line x="105.6" y="76.1"/> + <line x="105.6" y="87.93"/> + <curve x1="105.6" x2="106.74" x3="114.88" y1="94.34" y2="105.77" y3="116.9"/> + <line x="156.78" y="75.11"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="anti malware2" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="133.48" y="128.23"/> + <line x="133.48" y="160.13"/> + <line x="272.13" y="160.13"/> + <line x="272.13" y="128.23"/> + <close/> + <move x="290.04" y="128.23"/> + <line x="290.04" y="160.13"/> + <line x="428.66" y="160.13"/> + <line x="428.66" y="128.23"/> + <close/> + <move x="446.56" y="128.23"/> + <line x="446.56" y="160.13"/> + <line x="585.02" y="160.13"/> + <line x="585.02" y="128.23"/> + <close/> + <move x="133.48" y="177.15"/> + <line x="133.48" y="209.05"/> + <line x="191.77" y="209.05"/> + <line x="191.77" y="177.15"/> + <close/> + <move x="212.77" y="177.15"/> + <line x="212.77" y="209.05"/> + <line x="351.39" y="209.05"/> + <line x="351.39" y="177.15"/> + <close/> + <move x="368.42" y="177.15"/> + <line x="368.42" y="209.05"/> + <line x="507.04" y="209.05"/> + <line x="507.04" y="177.15"/> + <close/> + <move x="526.54" y="177.15"/> + <line x="526.54" y="209.05"/> + <line x="585.02" y="209.05"/> + <line x="585.02" y="177.15"/> + <close/> + <move x="133.48" y="226.07"/> + <line x="133.48" y="257.97"/> + <line x="232.37" y="257.97"/> + <line x="232.37" y="248.11"/> + <line x="232.37" y="242.87"/> + <line x="272.13" y="233.5"/> + <line x="272.13" y="226.07"/> + <close/> + <move x="290.04" y="226.07"/> + <line x="290.04" y="229.28"/> + <line x="295.06" y="228.09"/> + <line x="295.64" y="244.13"/> + <line x="326.92" y="237"/> + <line x="326.96" y="226.07"/> + <close/> + <move x="392.83" y="226.07"/> + <line x="392.53" y="237.15"/> + <line x="427.25" y="244.33"/> + <line x="427.01" y="229.2"/> + <line x="428.66" y="229.61"/> + <line x="428.66" y="226.07"/> + <close/> + <move x="446.56" y="226.07"/> + <line x="446.56" y="234.02"/> + <line x="485.52" y="243.62"/> + <line x="485.52" y="257.97"/> + <line x="585.02" y="257.97"/> + <line x="585.02" y="226.07"/> + <close/> + <move x="358.72" y="228.3"/> + <line x="340.17" y="233.2"/> + <line x="340.12" y="247.55"/> + <line x="283" y="260.59"/> + <line x="282.43" y="244.66"/> + <line x="245.6" y="253.34"/> + <line x="245.6" y="339.6"/> + <curve x1="245.6" x2="293.3" x3="357.67" y1="411.16" y2="478.24" y3="504.77"/> + <curve x1="431.92" x2="472.29" x3="472.29" y1="473.43" y2="405.29" y3="338.28"/> + <line x="472.29" y="253.99"/> + <line x="440.51" y="246.15"/> + <line x="440.74" y="260.63"/> + <line x="379.01" y="247.86"/> + <line x="379.42" y="232.54"/> + <close/> + <move x="360.17" y="276.1"/> + <line x="434.53" y="293.5"/> + <line x="304.63" y="422.94"/> + <curve x1="284.76" x2="276.35" x3="276.35" y1="395.16" y2="363.55" y3="337.12"/> + <line x="276.31" y="295.34"/> + <close/> + <move x="133.48" y="301.04"/> + <line x="133.48" y="332.94"/> + <line x="232.37" y="332.94"/> + <line x="232.37" y="301.04"/> + <close/> + <move x="485.52" y="301.04"/> + <line x="485.52" y="332.94"/> + <line x="585.02" y="332.94"/> + <line x="585.02" y="301.04"/> + <close/> + <move x="442.36" y="312.38"/> + <line x="442.63" y="334.8"/> + <curve x1="442.63" x2="417" x3="359.63" y1="383.55" y2="441.91" y3="470.24"/> + <curve x1="342.34" x2="328.12" x3="316.62" y1="461.27" y2="450.09" y3="437.67"/> + <close/> + <move x="133.48" y="349.96"/> + <line x="133.48" y="381.86"/> + <line x="191.77" y="381.86"/> + <line x="191.77" y="349.96"/> + <close/> + <move x="212.77" y="349.96"/> + <line x="212.77" y="381.86"/> + <line x="237.41" y="381.86"/> + <curve x1="234.92" x2="233.31" x3="232.68" y1="371.44" y2="360.78" y3="349.96"/> + <close/> + <move x="485.13" y="349.96"/> + <curve x1="484.44" x2="482.8" x3="480.25" y1="360.67" y2="371.34" y3="381.86"/> + <line x="507.04" y="381.86"/> + <line x="507.04" y="349.96"/> + <close/> + <move x="526.54" y="349.96"/> + <line x="526.54" y="381.86"/> + <line x="585.02" y="381.86"/> + <line x="585.02" y="349.96"/> + <close/> + <move x="133.48" y="398.88"/> + <line x="133.48" y="430.78"/> + <line x="256.56" y="430.78"/> + <curve x1="250.9" x2="246.12" x3="242.35" y1="420.61" y2="409.93" y3="398.88"/> + <close/> + <move x="475.26" y="398.88"/> + <curve x1="471.48" x2="466.68" x3="460.89" y1="409.83" y2="420.52" y3="430.78"/> + <line x="585.02" y="430.78"/> + <line x="585.02" y="398.88"/> + <close/> + <move x="133.48" y="473.85"/> + <line x="133.48" y="505.75"/> + <line x="272.13" y="505.75"/> + <line x="272.13" y="473.85"/> + <close/> + <move x="427.98" y="473.85"/> + <curve x1="415.78" x2="401.72" x3="385.91" y1="485.93" y2="496.71" y3="505.75"/> + <line x="428.66" y="505.75"/> + <line x="428.66" y="473.85"/> + <close/> + <move x="446.56" y="473.85"/> + <line x="446.56" y="505.75"/> + <line x="585.02" y="505.75"/> + <line x="585.02" y="473.85"/> + <close/> + <move x="290.04" y="475.14"/> + <line x="290.04" y="505.75"/> + <line x="329.54" y="505.75"/> + <curve x1="315.15" x2="301.86" x3="290.04" y1="497.32" y2="486.98" y3="475.14"/> + <close/> + <move x="133.48" y="522.77"/> + <line x="133.48" y="554.67"/> + <line x="191.77" y="554.67"/> + <line x="191.77" y="522.77"/> + <close/> + <move x="212.77" y="522.77"/> + <line x="212.77" y="554.67"/> + <line x="351.39" y="554.67"/> + <line x="351.39" y="522.77"/> + <close/> + <move x="368.42" y="522.77"/> + <line x="368.42" y="554.67"/> + <line x="507.04" y="554.67"/> + <line x="507.04" y="522.77"/> + <close/> + <move x="526.54" y="522.77"/> + <line x="526.54" y="554.67"/> + <line x="585.02" y="554.67"/> + <line x="585.02" y="522.77"/> + <close/> + <move x="133.48" y="571.69"/> + <line x="133.48" y="603.59"/> + <line x="272.13" y="603.59"/> + <line x="272.13" y="571.69"/> + <close/> + <move x="290.04" y="571.69"/> + <line x="290.04" y="603.59"/> + <line x="428.66" y="603.59"/> + <line x="428.66" y="571.69"/> + <close/> + <move x="446.56" y="571.69"/> + <line x="446.56" y="603.59"/> + <line x="585.02" y="603.59"/> + <line x="585.02" y="571.69"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="appnav" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="108.51" y="108.91"/> + <line x="113.24" y="126.3"/> + <line x="116.69" y="122.9"/> + <line x="131.05" y="137.44"/> + <line x="127.6" y="140.85"/> + <line x="144.92" y="145.81"/> + <line x="140.19" y="128.42"/> + <line x="136.74" y="131.83"/> + <line x="122.38" y="117.28"/> + <line x="125.83" y="113.87"/> + <close/> + <move x="48.23" y="47.83"/> + <line x="52.95" y="65.22"/> + <line x="56.4" y="61.81"/> + <line x="70.76" y="76.36"/> + <line x="67.31" y="79.77"/> + <line x="84.64" y="84.72"/> + <line x="79.91" y="67.34"/> + <line x="76.46" y="70.74"/> + <line x="62.1" y="56.19"/> + <line x="65.55" y="52.79"/> + <close/> + <move x="84.48" y="108.76"/> + <line x="67.09" y="113.49"/> + <line x="70.5" y="116.93"/> + <line x="55.95" y="131.29"/> + <line x="52.54" y="127.84"/> + <line x="47.58" y="145.17"/> + <line x="64.97" y="140.44"/> + <line x="61.57" y="136.99"/> + <line x="76.12" y="122.63"/> + <line x="79.52" y="126.08"/> + <close/> + <move x="145.56" y="48.47"/> + <line x="128.17" y="53.2"/> + <line x="131.58" y="56.65"/> + <line x="117.03" y="71.01"/> + <line x="113.63" y="67.56"/> + <line x="108.67" y="84.88"/> + <line x="126.05" y="80.15"/> + <line x="122.65" y="76.7"/> + <line x="137.2" y="62.34"/> + <line x="140.6" y="65.79"/> + <close/> + <move x="79.58" y="96.82"/> + <line x="63.88" y="87.97"/> + <line x="63.88" y="92.82"/> + <line x="43.44" y="92.82"/> + <line x="43.44" y="87.97"/> + <line x="27.74" y="96.82"/> + <line x="43.44" y="105.67"/> + <line x="43.44" y="100.82"/> + <line x="63.88" y="100.82"/> + <line x="63.88" y="105.67"/> + <close/> + <move x="165.4" y="96.82"/> + <line x="149.7" y="87.97"/> + <line x="149.7" y="92.82"/> + <line x="129.26" y="92.82"/> + <line x="129.26" y="87.97"/> + <line x="113.57" y="96.82"/> + <line x="129.26" y="105.67"/> + <line x="129.26" y="100.82"/> + <line x="149.7" y="100.82"/> + <line x="149.7" y="105.67"/> + <close/> + <move x="96.57" y="113.81"/> + <line x="87.73" y="129.51"/> + <line x="92.57" y="129.51"/> + <line x="92.57" y="149.95"/> + <line x="87.73" y="149.95"/> + <line x="96.57" y="165.65"/> + <line x="105.42" y="149.95"/> + <line x="100.57" y="149.95"/> + <line x="100.57" y="129.51"/> + <line x="105.42" y="129.51"/> + <close/> + <move x="96.57" y="27.99"/> + <line x="87.73" y="43.69"/> + <line x="92.57" y="43.69"/> + <line x="92.57" y="64.13"/> + <line x="87.73" y="64.13"/> + <line x="96.57" y="79.83"/> + <line x="105.42" y="64.13"/> + <line x="100.57" y="64.13"/> + <line x="100.57" y="43.69"/> + <line x="105.42" y="43.69"/> + <close/> + <move x="109.67" y="96.82"/> + <arc large-arc-flag="0" rx="13.1" ry="13.1" sweep-flag="1" x="96.57" x-axis-rotation="0" y="109.92"/> + <arc large-arc-flag="0" rx="13.1" ry="13.1" sweep-flag="1" x="83.48" x-axis-rotation="0" y="96.82"/> + <arc large-arc-flag="0" rx="13.1" ry="13.1" sweep-flag="1" x="96.57" x-axis-rotation="0" y="83.72"/> + <arc large-arc-flag="0" rx="13.1" ry="13.1" sweep-flag="1" x="109.67" x-axis-rotation="0" y="96.82"/> + <close/> + <move x="95.9" y="17.16"/> + <curve x1="51.98" x2="16.3" x3="16.3" y1="17.16" y2="52.84" y3="96.75"/> + <curve x1="16.3" x2="51.98" x3="95.9" y1="140.66" y2="176.35" y3="176.35"/> + <curve x1="139.81" x2="175.49" x3="175.49" y1="176.35" y2="140.66" y3="96.75"/> + <curve x1="175.49" x2="139.81" x3="95.9" y1="52.84" y2="17.16" y3="17.16"/> + <close/> + <move x="95.9" y="25.16"/> + <curve x1="135.48" x2="167.49" x3="167.49" y1="25.16" y2="57.16" y3="96.75"/> + <curve x1="167.49" x2="135.48" x3="95.9" y1="136.34" y2="168.35" y3="168.35"/> + <curve x1="56.31" x2="24.3" x3="24.3" y1="168.35" y2="136.34" y3="96.75"/> + <curve x1="24.3" x2="56.31" x3="95.9" y1="57.16" y2="25.16" y3="25.16"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="asa 5500" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="124.13" y="16.41"/> + <curve x1="110.21" x2="98.2" x3="92.88" y1="16.41" y2="24.79" y3="36.77"/> + <line x="60.96" y="36.77"/> + <line x="60.96" y="45.91"/> + <line x="90.28" y="45.91"/> + <curve x1="90.07" x2="89.96" x3="89.96" y1="47.44" y2="49" y3="50.59"/> + <curve x1="89.96" x2="105.3" x3="124.13" y1="69.42" y2="84.76" y3="84.76"/> + <curve x1="130.64" x2="136.73" x3="141.92" y1="84.76" y2="82.93" y3="79.75"/> + <line x="163" y="101.47"/> + <line x="171.61" y="93.11"/> + <line x="150.91" y="71.79"/> + <curve x1="152.81" x2="154.39" x3="155.6" y1="69.4" y2="66.75" y3="63.9"/> + <line x="187.95" y="63.9"/> + <line x="187.95" y="54.77"/> + <line x="158.05" y="54.77"/> + <curve x1="158.22" x2="158.31" x3="158.31" y1="53.4" y2="52" y3="50.59"/> + <curve x1="158.31" x2="142.96" x3="124.13" y1="31.75" y2="16.41" y3="16.41"/> + <close/> + <move x="124.13" y="23.41"/> + <curve x1="139.18" x2="151.31" x3="151.31" y1="23.41" y2="35.54" y3="50.59"/> + <curve x1="151.31" x2="151.2" x3="150.99" y1="52.01" y2="53.41" y3="54.77"/> + <line x="119.45" y="54.77"/> + <line x="119.45" y="50.4"/> + <line x="105.57" y="59.33"/> + <line x="119.45" y="68.27"/> + <line x="119.45" y="63.9"/> + <line x="147.84" y="63.9"/> + <curve x1="143.2" x2="134.34" x3="124.13" y1="72.18" y2="77.76" y3="77.76"/> + <curve x1="109.08" x2="96.96" x3="96.96" y1="77.76" y2="65.64" y3="50.59"/> + <curve x1="96.96" x2="97.1" x3="97.36" y1="48.99" y2="47.43" y3="45.91"/> + <line x="129.46" y="45.91"/> + <line x="129.46" y="50.28"/> + <line x="143.33" y="41.34"/> + <line x="129.46" y="32.4"/> + <line x="129.46" y="36.77"/> + <line x="100.71" y="36.77"/> + <curve x1="105.43" x2="114.13" x3="124.13" y1="28.76" y2="23.41" y3="23.41"/> + <close/> + <move x="11.24" y="107.09"/> + <line x="11.24" y="115.91"/> + <line x="32.92" y="115.91"/> + <line x="32.92" y="138.75"/> + <line x="11.24" y="138.75"/> + <line x="11.24" y="147.57"/> + <line x="76.86" y="147.57"/> + <line x="76.86" y="170.41"/> + <line x="11.24" y="170.41"/> + <line x="11.24" y="179.23"/> + <line x="237.67" y="179.23"/> + <line x="237.67" y="170.41"/> + <line x="173.54" y="170.41"/> + <line x="173.54" y="147.57"/> + <line x="237.67" y="147.57"/> + <line x="237.67" y="138.75"/> + <line x="217.47" y="138.75"/> + <line x="217.47" y="115.91"/> + <line x="237.67" y="115.91"/> + <line x="237.67" y="107.09"/> + <close/> + <move x="41.74" y="115.91"/> + <line x="120.79" y="115.91"/> + <line x="120.79" y="138.75"/> + <line x="41.74" y="138.75"/> + <close/> + <move x="129.61" y="115.91"/> + <line x="208.65" y="115.91"/> + <line x="208.65" y="138.75"/> + <line x="129.61" y="138.75"/> + <close/> + <move x="85.68" y="147.57"/> + <line x="164.72" y="147.57"/> + <line x="164.72" y="170.41"/> + <line x="85.68" y="170.41"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="165.32" name="asr 1000" strokewidth="inherit" w="190.9"> + <connections/> + <foreground> + <path> + <move x="109.82" y="131.89"/> + <line x="109.82" y="138.85"/> + <line x="112.97" y="138.85"/> + <quad x1="114.72" x2="115.68" y1="138.85" y2="137.94"/> + <quad x1="116.63" x2="116.63" y1="137.04" y2="135.36"/> + <quad x1="116.63" x2="115.68" y1="133.7" y2="132.79"/> + <quad x1="114.72" x2="112.97" y1="131.89" y2="131.89"/> + <close/> + <move x="107.32" y="129.83"/> + <line x="112.97" y="129.83"/> + <quad x1="116.09" x2="117.67" y1="129.83" y2="131.24"/> + <quad x1="119.27" x2="119.27" y1="132.65" y2="135.36"/> + <quad x1="119.27" x2="117.67" y1="138.1" y2="139.5"/> + <quad x1="116.09" x2="112.97" y1="140.91" y2="140.91"/> + <line x="109.82" y="140.91"/> + <line x="109.82" y="148.35"/> + <line x="107.32" y="148.35"/> + <close/> + <move x="92.68" y="129.83"/> + <line x="103.33" y="129.83"/> + <line x="103.33" y="131.94"/> + <line x="95.19" y="131.94"/> + <line x="95.19" y="137.4"/> + <line x="102.53" y="137.4"/> + <line x="102.53" y="139.5"/> + <line x="95.19" y="139.5"/> + <line x="95.19" y="148.35"/> + <line x="92.68" y="148.35"/> + <close/> + <move x="80.21" y="131.53"/> + <quad x1="77.48" x2="75.87" y1="131.53" y2="133.56"/> + <quad x1="74.27" x2="74.27" y1="135.6" y2="139.11"/> + <quad x1="74.27" x2="75.87" y1="142.6" y2="144.64"/> + <quad x1="77.48" x2="80.21" y1="146.67" y2="146.67"/> + <quad x1="82.94" x2="84.52" y1="146.67" y2="144.64"/> + <quad x1="86.12" x2="86.12" y1="142.6" y2="139.11"/> + <quad x1="86.12" x2="84.52" y1="135.6" y2="133.56"/> + <quad x1="82.94" x2="80.21" y1="131.53" y2="131.53"/> + <close/> + <move x="83.72" y="148.01"/> + <line x="87.02" y="151.62"/> + <line x="83.99" y="151.62"/> + <line x="81.25" y="148.66"/> + <quad x1="80.84" x2="80.62" y1="148.68" y2="148.69"/> + <quad x1="80.41" x2="80.21" y1="148.71" y2="148.71"/> + <quad x1="76.3" x2="73.96" y1="148.71" y2="146.1"/> + <quad x1="71.63" x2="71.63" y1="143.48" y2="139.11"/> + <quad x1="71.63" x2="73.96" y1="134.72" y2="132.11"/> + <quad x1="76.3" x2="80.21" y1="129.49" y2="129.49"/> + <quad x1="84.1" x2="86.43" y1="129.49" y2="132.11"/> + <quad x1="88.77" x2="88.77" y1="134.72" y2="139.11"/> + <quad x1="88.77" x2="87.46" y1="142.33" y2="144.63"/> + <quad x1="86.17" x2="83.72" y1="146.92" y2="148.01"/> + <close/> + <move x="132.01" y="57.18"/> + <line x="116.82" y="47.96"/> + <line x="129.29" y="27.42"/> + <line x="122.99" y="23.6"/> + <line x="110.52" y="44.14"/> + <line x="96.6" y="35.69"/> + <line x="103.09" y="63.49"/> + <close/> + <move x="135.33" y="73.14"/> + <line x="126.11" y="88.33"/> + <line x="105.57" y="75.87"/> + <line x="101.74" y="82.17"/> + <line x="122.29" y="94.63"/> + <line x="113.84" y="108.55"/> + <line x="141.64" y="102.07"/> + <close/> + <move x="58.38" y="93.78"/> + <line x="73.57" y="103"/> + <line x="61.11" y="123.54"/> + <line x="67.4" y="127.37"/> + <line x="79.87" y="106.82"/> + <line x="93.79" y="115.27"/> + <line x="87.3" y="87.47"/> + <close/> + <move x="55.57" y="76.36"/> + <line x="64.79" y="61.17"/> + <line x="85.33" y="73.64"/> + <line x="89.16" y="67.34"/> + <line x="68.61" y="54.87"/> + <line x="77.06" y="40.95"/> + <line x="49.26" y="47.44"/> + <close/> + <move x="47.72" y="0"/> + <line x="0" y="82.66"/> + <line x="47.72" y="165.32"/> + <line x="143.18" y="165.32"/> + <line x="144.29" y="163.39"/> + <line x="190.9" y="82.66"/> + <line x="143.18" y="0"/> + <close/> + <move x="52.19" y="7.74"/> + <line x="138.71" y="7.74"/> + <line x="181.96" y="82.66"/> + <line x="138.71" y="157.59"/> + <line x="52.19" y="157.59"/> + <line x="8.93" y="82.66"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="asr 9000" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="66.63" y="132.09"/> + <line x="66.63" y="138.52"/> + <line x="75.64" y="138.52"/> + <line x="90.16" y="148.69"/> + <line x="90.16" y="150.05"/> + <line x="79.2" y="150.05"/> + <line x="79.2" y="148.59"/> + <line x="66.63" y="148.59"/> + <line x="66.63" y="155.02"/> + <line x="79.2" y="155.02"/> + <line x="79.2" y="153.55"/> + <line x="90.16" y="153.55"/> + <line x="90.16" y="156.11"/> + <line x="77.35" y="165.09"/> + <line x="66.63" y="165.09"/> + <line x="66.63" y="171.52"/> + <line x="79.2" y="171.52"/> + <line x="79.2" y="168.07"/> + <line x="90.91" y="159.86"/> + <line x="96.73" y="159.86"/> + <line x="96.73" y="165.09"/> + <line x="92.2" y="165.09"/> + <line x="92.2" y="171.52"/> + <line x="104.77" y="171.52"/> + <line x="104.77" y="165.09"/> + <line x="100.23" y="165.09"/> + <line x="100.23" y="159.86"/> + <line x="106.1" y="159.86"/> + <line x="117.77" y="168.04"/> + <line x="117.77" y="171.52"/> + <line x="130.34" y="171.52"/> + <line x="130.34" y="165.09"/> + <line x="119.66" y="165.09"/> + <line x="106.81" y="156.08"/> + <line x="106.81" y="153.55"/> + <line x="117.77" y="153.55"/> + <line x="117.77" y="155.02"/> + <line x="130.34" y="155.02"/> + <line x="130.34" y="148.59"/> + <line x="117.77" y="148.59"/> + <line x="117.77" y="150.05"/> + <line x="106.81" y="150.05"/> + <line x="106.81" y="148.72"/> + <line x="121.37" y="138.52"/> + <line x="130.34" y="138.52"/> + <line x="130.34" y="132.09"/> + <line x="117.77" y="132.09"/> + <line x="117.77" y="136.76"/> + <line x="106.81" y="144.45"/> + <line x="106.81" y="143.75"/> + <line x="100.23" y="143.75"/> + <line x="100.23" y="138.52"/> + <line x="104.77" y="138.52"/> + <line x="104.77" y="132.09"/> + <line x="92.2" y="132.09"/> + <line x="92.2" y="138.52"/> + <line x="96.73" y="138.52"/> + <line x="96.73" y="143.75"/> + <line x="90.16" y="143.75"/> + <line x="90.16" y="144.42"/> + <line x="79.2" y="136.73"/> + <line x="79.2" y="132.09"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="101.49" y="66.26"/> + <line x="123" y="44.33"/> + <line x="113.9" y="35.4"/> + <line x="146.72" y="28.58"/> + <line x="140.63" y="61.62"/> + <line x="131.61" y="52.77"/> + <line x="110.1" y="74.71"/> + <close/> + <move x="53.17" y="24.77"/> + <line x="75.11" y="46.28"/> + <line x="84.03" y="37.18"/> + <line x="90.86" y="70"/> + <line x="57.82" y="63.91"/> + <line x="66.66" y="54.89"/> + <line x="44.73" y="33.38"/> + <close/> + <move x="94.58" y="90.14"/> + <line x="73.07" y="112.08"/> + <line x="82.17" y="121"/> + <line x="49.35" y="127.83"/> + <line x="55.44" y="94.79"/> + <line x="64.46" y="103.63"/> + <line x="85.97" y="81.7"/> + <close/> + <move x="143.8" y="131.88"/> + <line x="121.86" y="110.37"/> + <line x="112.94" y="119.47"/> + <line x="106.11" y="86.65"/> + <line x="139.15" y="92.74"/> + <line x="130.3" y="101.76"/> + <line x="152.24" y="123.27"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="avc application visibility control" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="107.45" y="115.66"/> + <line x="110.84" y="115.66"/> + <line x="110.84" y="117.68"/> + <quad x1="111.5" x2="112.62" y1="116.65" y2="116"/> + <quad x1="113.75" x2="115.11" y1="115.35" y2="115.35"/> + <quad x1="117.5" x2="119.17" y1="115.35" y2="117.23"/> + <quad x1="120.84" x2="120.84" y1="119.1" y2="122.45"/> + <quad x1="120.84" x2="119.16" y1="125.88" y2="127.8"/> + <quad x1="117.48" x2="115.09" y1="129.69" y2="129.69"/> + <quad x1="113.95" x2="113.02" y1="129.69" y2="129.24"/> + <quad x1="112.1" x2="111.08" y1="128.79" y2="127.69"/> + <line x="111.08" y="134.6"/> + <line x="107.45" y="134.6"/> + <close/> + <move x="111.05" y="122.29"/> + <quad x1="111.05" x2="111.96" y1="124.6" y2="125.72"/> + <quad x1="112.88" x2="114.2" y1="126.81" y2="126.81"/> + <quad x1="115.46" x2="116.3" y1="126.81" y2="125.81"/> + <quad x1="117.14" x2="117.14" y1="124.79" y2="122.47"/> + <quad x1="117.14" x2="116.28" y1="120.32" y2="119.27"/> + <quad x1="115.41" x2="114.13" y1="118.22" y2="118.22"/> + <quad x1="112.8" x2="111.92" y1="118.22" y2="119.26"/> + <quad x1="111.05" x2="111.05" y1="120.28" y2="122.29"/> + <close/> + <move x="91.28" y="115.66"/> + <line x="94.66" y="115.66"/> + <line x="94.66" y="117.68"/> + <quad x1="95.32" x2="96.45" y1="116.65" y2="116"/> + <quad x1="97.57" x2="98.94" y1="115.35" y2="115.35"/> + <quad x1="101.33" x2="103" y1="115.35" y2="117.23"/> + <quad x1="104.66" x2="104.66" y1="119.1" y2="122.45"/> + <quad x1="104.66" x2="102.98" y1="125.88" y2="127.8"/> + <quad x1="101.3" x2="98.91" y1="129.69" y2="129.69"/> + <quad x1="97.78" x2="96.85" y1="129.69" y2="129.24"/> + <quad x1="95.93" x2="94.91" y1="128.79" y2="127.69"/> + <line x="94.91" y="134.6"/> + <line x="91.28" y="134.6"/> + <close/> + <move x="94.87" y="122.29"/> + <quad x1="94.87" x2="95.79" y1="124.6" y2="125.72"/> + <quad x1="96.71" x2="98.02" y1="126.81" y2="126.81"/> + <quad x1="99.29" x2="100.13" y1="126.81" y2="125.81"/> + <quad x1="100.97" x2="100.97" y1="124.79" y2="122.47"/> + <quad x1="100.97" x2="100.1" y1="120.32" y2="119.27"/> + <quad x1="99.24" x2="97.96" y1="118.22" y2="118.22"/> + <quad x1="96.63" x2="95.75" y1="118.22" y2="119.26"/> + <quad x1="94.87" x2="94.87" y1="120.28" y2="122.29"/> + <close/> + <move x="89.37" y="129.38"/> + <line x="85.21" y="129.38"/> + <line x="83.55" y="125.08"/> + <line x="75.98" y="125.08"/> + <line x="74.42" y="129.38"/> + <line x="70.36" y="129.38"/> + <line x="77.74" y="110.44"/> + <line x="81.78" y="110.44"/> + <close/> + <move x="82.33" y="121.89"/> + <line x="79.72" y="114.86"/> + <line x="77.16" y="121.89"/> + <close/> + <move x="51.17" y="66.3"/> + <curve x1="49.33" x2="47.73" x3="47.29" y1="66.3" y2="67.56" y3="69.34"/> + <line x="30.38" y="138.08"/> + <curve x1="29.76" x2="31.67" x3="34.26" y1="140.6" y2="143.04" y3="143.04"/> + <line x="142.74" y="143.04"/> + <curve x1="144.58" x2="146.18" x3="146.63" y1="143.04" y2="141.79" y3="140"/> + <line x="163.69" y="71.26"/> + <curve x1="164.31" x2="162.41" x3="159.81" y1="68.74" y2="66.3" y3="66.3"/> + <close/> + <move x="96.08" y="76.2"/> + <curve x1="108.05" x2="117.92" x3="123.39" y1="76.2" y2="83.92" y3="91.95"/> + <curve x1="118.73" x2="109.1" x3="96.08" y1="99.49" y2="107.57" y3="107.57"/> + <curve x1="83.95" x2="74.38" x3="68.77" y1="107.57" y2="99.76" y3="91.95"/> + <curve x1="74.97" x2="84.4" x3="96.08" y1="83.57" y2="76.2" y3="76.2"/> + <close/> + <move x="96.36" y="81.13"/> + <curve x1="90.43" x2="85.57" x3="85.57" y1="81.13" y2="85.99" y3="91.92"/> + <curve x1="85.57" x2="90.43" x3="96.36" y1="97.84" y2="102.71" y3="102.71"/> + <curve x1="102.28" x2="107.15" x3="107.15" y1="102.71" y2="97.84" y3="91.92"/> + <curve x1="107.15" x2="102.28" x3="96.36" y1="85.99" y2="81.13" y3="81.13"/> + <close/> + <move x="96.36" y="87.13"/> + <curve x1="99.04" x2="101.15" x3="101.15" y1="87.13" y2="89.24" y3="91.92"/> + <curve x1="101.15" x2="99.04" x3="96.36" y1="94.6" y2="96.71" y3="96.71"/> + <curve x1="93.67" x2="91.57" x3="91.57" y1="96.71" y2="94.6" y3="91.92"/> + <curve x1="91.57" x2="93.67" x3="96.36" y1="89.24" y2="87.13" y3="87.13"/> + <close/> + <move x="29.44" y="65.87"/> + <curve x1="29.44" x2="31.41" x3="36.25" y1="61.05" y2="59.6" y3="59.6"/> + <line x="102.39" y="59.67"/> + <curve x1="105.21" x2="106.08" x3="107.55" y1="59.67" y2="58.28" y3="57.02"/> + <line x="112.22" y="52.98"/> + <curve x1="113.81" x2="114.43" x3="117.15" y1="51.51" y2="51.13" y3="51.13"/> + <line x="141.28" y="51.08"/> + <curve x1="144.22" x2="145.91" x3="145.91" y1="51.08" y2="53.59" y3="56.37"/> + <line x="145.87" y="64.3"/> + <line x="51.17" y="64.3"/> + <curve x1="48.41" x2="46.01" x3="45.35" y1="64.3" y2="66.18" y3="68.87"/> + <line x="29.39" y="134.36"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="avc application visibility control2" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="90.07" y="86.88"/> + <line x="90.07" y="74.25"/> + <line x="92.59" y="74.25"/> + <line x="95.58" y="83.19"/> + <quad x1="95.99" x2="96.18" y1="84.44" y2="85.06"/> + <quad x1="96.39" x2="96.85" y1="84.37" y2="83.04"/> + <line x="99.87" y="74.25"/> + <line x="102.12" y="74.25"/> + <line x="102.12" y="86.88"/> + <line x="100.51" y="86.88"/> + <line x="100.51" y="76.31"/> + <line x="96.84" y="86.88"/> + <line x="95.33" y="86.88"/> + <line x="91.68" y="76.13"/> + <line x="91.68" y="86.88"/> + <close/> + <move x="78.38" y="86.88"/> + <line x="78.38" y="74.25"/> + <line x="87.51" y="74.25"/> + <line x="87.51" y="75.74"/> + <line x="80.05" y="75.74"/> + <line x="80.05" y="79.61"/> + <line x="87.03" y="79.61"/> + <line x="87.03" y="81.09"/> + <line x="80.05" y="81.09"/> + <line x="80.05" y="85.39"/> + <line x="87.8" y="85.39"/> + <line x="87.8" y="86.88"/> + <close/> + <move x="73.73" y="86.88"/> + <line x="73.73" y="74.25"/> + <line x="75.4" y="74.25"/> + <line x="75.4" y="86.88"/> + <close/> + <move x="61.1" y="82.82"/> + <line x="62.67" y="82.69"/> + <quad x1="62.79" x2="63.19" y1="83.63" y2="84.24"/> + <quad x1="63.61" x2="64.47" y1="84.85" y2="85.23"/> + <quad x1="65.33" x2="66.4" y1="85.6" y2="85.6"/> + <quad x1="67.36" x2="68.09" y1="85.6" y2="85.31"/> + <quad x1="68.82" x2="69.18" y1="85.03" y2="84.54"/> + <quad x1="69.54" x2="69.54" y1="84.04" y2="83.45"/> + <quad x1="69.54" x2="69.19" y1="82.86" y2="82.42"/> + <quad x1="68.85" x2="68.06" y1="81.97" y2="81.67"/> + <quad x1="67.55" x2="65.81" y1="81.47" y2="81.06"/> + <quad x1="64.07" x2="63.37" y1="80.64" y2="80.26"/> + <quad x1="62.47" x2="62.02" y1="79.79" y2="79.09"/> + <quad x1="61.58" x2="61.58" y1="78.39" y2="77.52"/> + <quad x1="61.58" x2="62.12" y1="76.56" y2="75.73"/> + <quad x1="62.67" x2="63.71" y1="74.9" y2="74.47"/> + <quad x1="64.75" x2="66.03" y1="74.04" y2="74.04"/> + <quad x1="67.43" x2="68.5" y1="74.04" y2="74.49"/> + <quad x1="69.57" x2="70.15" y1="74.94" y2="75.82"/> + <quad x1="70.73" x2="70.77" y1="76.7" y2="77.81"/> + <line x="69.17" y="77.93"/> + <quad x1="69.04" x2="68.29" y1="76.73" y2="76.12"/> + <quad x1="67.55" x2="66.09" y1="75.51" y2="75.51"/> + <quad x1="64.58" x2="63.88" y1="75.51" y2="76.07"/> + <quad x1="63.19" x2="63.19" y1="76.62" y2="77.41"/> + <quad x1="63.19" x2="63.68" y1="78.09" y2="78.53"/> + <quad x1="64.16" x2="66.2" y1="78.96" y2="79.43"/> + <quad x1="68.24" x2="69" y1="79.89" y2="80.23"/> + <quad x1="70.1" x2="70.62" y1="80.74" y2="81.52"/> + <quad x1="71.15" x2="71.15" y1="82.3" y2="83.31"/> + <quad x1="71.15" x2="70.57" y1="84.32" y2="85.22"/> + <quad x1="70" x2="68.91" y1="86.1" y2="86.6"/> + <quad x1="67.83" x2="66.48" y1="87.09" y2="87.09"/> + <quad x1="64.77" x2="63.61" y1="87.09" y2="86.6"/> + <quad x1="62.45" x2="61.79" y1="86.1" y2="85.1"/> + <quad x1="61.13" x2="61.1" y1="84.09" y2="82.82"/> + <close/> + <move x="97.37" y="136.12"/> + <curve x1="97.38" x2="97.34" x3="97.25" y1="135.92" y2="135.72" y3="135.53"/> + <line x="95.96" y="132.9"/> + <curve x1="95.66" x2="94.93" x3="94.33" y1="132.29" y2="132.04" y3="132.34"/> + <line x="91.41" y="133.76"/> + <curve x1="90.63" x2="89.68" x3="88.59" y1="132.68" y2="131.72" y3="130.94"/> + <line x="90.02" y="128.03"/> + <curve x1="90.32" x2="90.07" x3="89.46" y1="127.42" y2="126.69" y3="126.39"/> + <line x="86.83" y="125.11"/> + <curve x1="86.22" x2="85.49" x3="85.19" y1="124.81" y2="125.06" y3="125.67"/> + <line x="83.64" y="128.84"/> + <curve x1="82.94" x2="82.21" x3="81.47" y1="128.71" y2="128.64" y3="128.64"/> + <curve x1="80.73" x2="80" x3="79.3" y1="128.64" y2="128.71" y3="128.84"/> + <line x="77.75" y="125.67"/> + <curve x1="77.45" x2="76.72" x3="76.11" y1="125.06" y2="124.81" y3="125.11"/> + <line x="73.48" y="126.39"/> + <curve x1="72.87" x2="72.62" x3="72.92" y1="126.69" y2="127.42" y3="128.03"/> + <line x="74.34" y="130.94"/> + <curve x1="73.26" x2="72.31" x3="71.53" y1="131.72" y2="132.68" y3="133.76"/> + <line x="68.61" y="132.34"/> + <curve x1="68" x2="67.27" x3="66.98" y1="132.04" y2="132.29" y3="132.9"/> + <line x="65.69" y="135.53"/> + <curve x1="65.39" x2="65.64" x3="66.25" y1="136.14" y2="136.87" y3="137.16"/> + <line x="69.42" y="138.71"/> + <curve x1="69.29" x2="69.23" x3="69.23" y1="139.42" y2="140.14" y3="140.89"/> + <curve x1="69.23" x2="69.29" x3="69.42" y1="141.63" y2="142.35" y3="143.06"/> + <line x="66.25" y="144.61"/> + <curve x1="65.64" x2="65.39" x3="65.69" y1="144.9" y2="145.63" y3="146.24"/> + <line x="66.98" y="148.87"/> + <curve x1="67.27" x2="68" x3="68.61" y1="149.48" y2="149.73" y3="149.44"/> + <line x="71.53" y="148.01"/> + <curve x1="72.31" x2="73.26" x3="74.34" y1="149.1" y2="150.05" y3="150.83"/> + <line x="72.92" y="153.74"/> + <curve x1="72.62" x2="72.87" x3="73.48" y1="154.35" y2="155.08" y3="155.38"/> + <line x="76.11" y="156.66"/> + <curve x1="76.72" x2="77.45" x3="77.75" y1="156.96" y2="156.71" y3="156.1"/> + <line x="79.3" y="152.94"/> + <curve x1="80" x2="80.73" x3="81.47" y1="153.06" y2="153.13" y3="153.13"/> + <curve x1="82.21" x2="82.94" x3="83.64" y1="153.13" y2="153.06" y3="152.94"/> + <line x="85.19" y="156.1"/> + <curve x1="85.49" x2="86.22" x3="86.83" y1="156.71" y2="156.96" y3="156.66"/> + <line x="89.46" y="155.38"/> + <curve x1="90.07" x2="90.32" x3="90.02" y1="155.08" y2="154.35" y3="153.74"/> + <line x="88.59" y="150.83"/> + <curve x1="89.68" x2="90.63" x3="91.41" y1="150.05" y2="149.09" y3="148.01"/> + <line x="94.33" y="149.44"/> + <curve x1="94.93" x2="95.66" x3="95.96" y1="149.73" y2="149.48" y3="148.87"/> + <line x="97.25" y="146.24"/> + <curve x1="97.55" x2="97.3" x3="96.69" y1="145.63" y2="144.9" y3="144.61"/> + <line x="93.52" y="143.06"/> + <curve x1="93.65" x2="93.71" x3="93.71" y1="142.35" y2="141.63" y3="140.89"/> + <curve x1="93.71" x2="93.65" x3="93.52" y1="140.14" y2="139.42" y3="138.71"/> + <line x="96.69" y="137.16"/> + <curve x1="97.11" x2="97.35" x3="97.37" y1="136.96" y2="136.55" y3="136.12"/> + <close/> + <move x="89.48" y="140.89"/> + <curve x1="89.48" x2="85.92" x3="81.47" y1="145.33" y2="148.9" y3="148.9"/> + <curve x1="77.02" x2="73.46" x3="73.46" y1="148.9" y2="145.33" y3="140.89"/> + <curve x1="73.46" x2="77.02" x3="81.47" y1="136.44" y2="132.87" y3="132.87"/> + <curve x1="85.92" x2="89.48" x3="89.48" y1="132.87" y2="136.44" y3="140.89"/> + <close/> + <move x="156.84" y="75.81"/> + <curve x1="156.85" x2="156.81" x3="156.72" y1="75.61" y2="75.41" y3="75.22"/> + <line x="155.43" y="72.59"/> + <curve x1="155.14" x2="154.41" x3="153.8" y1="71.98" y2="71.73" y3="72.03"/> + <line x="150.88" y="73.45"/> + <curve x1="150.1" x2="149.15" x3="148.07" y1="72.37" y2="71.42" y3="70.64"/> + <line x="149.49" y="67.72"/> + <curve x1="149.79" x2="149.54" x3="148.93" y1="67.11" y2="66.38" y3="66.09"/> + <line x="146.3" y="64.8"/> + <curve x1="145.69" x2="144.96" x3="144.66" y1="64.5" y2="64.75" y3="65.36"/> + <line x="143.11" y="68.53"/> + <curve x1="142.41" x2="141.68" x3="140.94" y1="68.4" y2="68.33" y3="68.33"/> + <curve x1="140.2" x2="139.47" x3="138.77" y1="68.33" y2="68.4" y3="68.53"/> + <line x="137.22" y="65.36"/> + <curve x1="136.92" x2="136.19" x3="135.58" y1="64.75" y2="64.5" y3="64.8"/> + <line x="132.95" y="66.09"/> + <curve x1="132.34" x2="132.09" x3="132.39" y1="66.38" y2="67.11" y3="67.72"/> + <line x="133.81" y="70.64"/> + <curve x1="132.73" x2="131.78" x3="131" y1="71.42" y2="72.37" y3="73.45"/> + <line x="128.08" y="72.03"/> + <curve x1="127.47" x2="126.74" x3="126.45" y1="71.73" y2="71.98" y3="72.59"/> + <line x="125.16" y="75.22"/> + <curve x1="124.86" x2="125.11" x3="125.72" y1="75.83" y2="76.56" y3="76.86"/> + <line x="128.89" y="78.41"/> + <curve x1="128.76" x2="128.7" x3="128.7" y1="79.11" y2="79.84" y3="80.58"/> + <curve x1="128.7" x2="128.76" x3="128.89" y1="81.32" y2="82.05" y3="82.75"/> + <line x="125.72" y="84.3"/> + <curve x1="125.11" x2="124.86" x3="125.16" y1="84.6" y2="85.33" y3="85.94"/> + <line x="126.45" y="88.57"/> + <curve x1="126.74" x2="127.47" x3="128.08" y1="89.18" y2="89.43" y3="89.13"/> + <line x="131" y="87.7"/> + <curve x1="131.78" x2="132.73" x3="133.81" y1="88.79" y2="89.74" y3="90.52"/> + <line x="132.39" y="93.43"/> + <curve x1="132.09" x2="132.34" x3="132.95" y1="94.04" y2="94.77" y3="95.07"/> + <line x="135.58" y="96.36"/> + <curve x1="136.19" x2="136.92" x3="137.22" y1="96.66" y2="96.4" y3="95.8"/> + <line x="138.77" y="92.63"/> + <curve x1="139.47" x2="140.2" x3="140.94" y1="92.76" y2="92.82" y3="92.82"/> + <curve x1="141.68" x2="142.41" x3="143.11" y1="92.82" y2="92.76" y3="92.63"/> + <line x="144.66" y="95.8"/> + <curve x1="144.96" x2="145.69" x3="146.3" y1="96.4" y2="96.66" y3="96.36"/> + <line x="148.93" y="95.07"/> + <curve x1="149.54" x2="149.79" x3="149.49" y1="94.77" y2="94.04" y3="93.43"/> + <line x="148.07" y="90.52"/> + <curve x1="149.15" x2="150.1" x3="150.88" y1="89.74" y2="88.79" y3="87.7"/> + <line x="153.8" y="89.13"/> + <curve x1="154.41" x2="155.14" x3="155.43" y1="89.43" y2="89.18" y3="88.57"/> + <line x="156.72" y="85.94"/> + <curve x1="157.02" x2="156.77" x3="156.16" y1="85.33" y2="84.6" y3="84.3"/> + <line x="152.99" y="82.75"/> + <curve x1="153.12" x2="153.18" x3="153.18" y1="82.05" y2="81.32" y3="80.58"/> + <curve x1="153.18" x2="153.12" x3="152.99" y1="79.84" y2="79.11" y3="78.41"/> + <line x="156.16" y="76.86"/> + <curve x1="156.58" x2="156.83" x3="156.84" y1="76.65" y2="76.24" y3="75.81"/> + <close/> + <move x="148.95" y="80.58"/> + <curve x1="148.95" x2="145.39" x3="140.94" y1="85.03" y2="88.59" y3="88.59"/> + <curve x1="136.49" x2="132.93" x3="132.93" y1="88.59" y2="85.03" y3="80.58"/> + <curve x1="132.93" x2="136.49" x3="140.94" y1="76.13" y2="72.57" y3="72.57"/> + <curve x1="145.39" x2="148.95" x3="148.95" y1="72.57" y2="76.13" y3="80.58"/> + <close/> + <move x="67.95" y="35.5"/> + <curve x1="67.39" x2="66.82" x3="66.28" y1="35.48" y2="35.59" y3="35.85"/> + <line x="58.83" y="39.5"/> + <curve x1="57.1" x2="56.39" x3="57.23" y1="40.34" y2="42.41" y3="44.14"/> + <line x="61.27" y="52.39"/> + <curve x1="58.2" x2="55.5" x3="53.29" y1="54.61" y2="57.31" y3="60.38"/> + <line x="45.03" y="56.34"/> + <curve x1="43.3" x2="41.23" x3="40.39" y1="55.5" y2="56.21" y3="57.93"/> + <line x="36.74" y="65.39"/> + <curve x1="35.9" x2="36.61" x3="38.33" y1="67.12" y2="69.19" y3="70.03"/> + <line x="47.31" y="74.42"/> + <curve x1="46.95" x2="46.76" x3="46.76" y1="76.42" y2="78.48" y3="80.58"/> + <curve x1="46.76" x2="46.95" x3="47.31" y1="82.68" y2="84.74" y3="86.74"/> + <line x="38.33" y="91.13"/> + <curve x1="36.61" x2="35.9" x3="36.74" y1="91.97" y2="94.04" y3="95.77"/> + <line x="40.39" y="103.22"/> + <curve x1="41.23" x2="43.3" x3="45.03" y1="104.95" y2="105.66" y3="104.81"/> + <line x="53.29" y="100.78"/> + <curve x1="55.5" x2="58.2" x3="61.27" y1="103.85" y2="106.55" y3="108.76"/> + <line x="57.23" y="117.02"/> + <curve x1="56.39" x2="57.1" x3="58.83" y1="118.75" y2="120.82" y3="121.66"/> + <line x="66.28" y="125.31"/> + <curve x1="68.01" x2="70.08" x3="70.92" y1="126.15" y2="125.44" y3="123.71"/> + <line x="75.31" y="114.73"/> + <curve x1="77.31" x2="79.37" x3="81.47" y1="115.1" y2="115.29" y3="115.29"/> + <curve x1="83.57" x2="85.63" x3="87.63" y1="115.29" y2="115.1" y3="114.73"/> + <line x="92.02" y="123.71"/> + <curve x1="92.86" x2="94.93" x3="96.66" y1="125.44" y2="126.15" y3="125.31"/> + <line x="104.11" y="121.66"/> + <curve x1="105.84" x2="106.55" x3="105.71" y1="120.82" y2="118.75" y3="117.02"/> + <line x="101.67" y="108.76"/> + <curve x1="104.74" x2="107.44" x3="109.65" y1="106.55" y2="103.85" y3="100.78"/> + <line x="117.91" y="104.81"/> + <curve x1="119.64" x2="121.71" x3="122.55" y1="105.66" y2="104.95" y3="103.22"/> + <line x="126.2" y="95.77"/> + <curve x1="127.04" x2="126.33" x3="124.6" y1="94.04" y2="91.97" y3="91.13"/> + <line x="115.63" y="86.74"/> + <curve x1="115.99" x2="116.18" x3="116.18" y1="84.74" y2="82.68" y3="80.58"/> + <curve x1="116.18" x2="115.99" x3="115.63" y1="78.48" y2="76.42" y3="74.42"/> + <line x="124.6" y="70.03"/> + <curve x1="126.33" x2="127.04" x3="126.2" y1="69.19" y2="67.12" y3="65.39"/> + <line x="122.55" y="57.93"/> + <curve x1="121.71" x2="119.64" x3="117.91" y1="56.21" y2="55.5" y3="56.34"/> + <line x="109.65" y="60.38"/> + <curve x1="107.44" x2="104.74" x3="101.67" y1="57.31" y2="54.61" y3="52.39"/> + <line x="105.71" y="44.14"/> + <curve x1="106.55" x2="105.84" x3="104.11" y1="42.41" y2="40.34" y3="39.5"/> + <line x="96.66" y="35.85"/> + <curve x1="94.93" x2="92.86" x3="92.02" y1="35.01" y2="35.72" y3="37.44"/> + <line x="87.63" y="46.42"/> + <curve x1="85.63" x2="83.57" x3="81.47" y1="46.06" y2="45.87" y3="45.87"/> + <curve x1="79.37" x2="77.31" x3="75.31" y1="45.87" y2="46.06" y3="46.42"/> + <line x="70.92" y="37.44"/> + <curve x1="70.34" x2="69.18" x3="67.95" y1="36.26" y2="35.55" y3="35.5"/> + <close/> + <move x="81.47" y="57.87"/> + <curve x1="94.08" x2="104.18" x3="104.18" y1="57.87" y2="67.97" y3="80.58"/> + <curve x1="104.18" x2="94.08" x3="81.47" y1="93.19" y2="103.29" y3="103.29"/> + <curve x1="68.86" x2="58.76" x3="58.76" y1="103.29" y2="93.19" y3="80.58"/> + <curve x1="58.76" x2="68.86" x3="81.47" y1="67.97" y2="57.87" y3="57.87"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="bg1" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="bg10" strokewidth="inherit" w="385.37"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="373.65" y="191.89"/> + <curve x1="380.1" x2="385.37" x3="385.37" y1="191.89" y2="186.62" y3="180.17"/> + <line x="385.37" y="11.72"/> + <curve x1="385.37" x2="380.1" x3="373.65" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="279.26" name="bg2" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="87.37"/> + <curve x1="5.27" x2="0" x3="0" y1="87.37" y2="92.64" y3="99.09"/> + <line x="0" y="267.55"/> + <curve x1="0" x2="5.27" x3="11.72" y1="273.99" y2="279.26" y3="279.26"/> + <line x="179.27" y="279.26"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="279.26" y2="273.99" y3="267.55"/> + <line x="190.99" y="99.09"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="92.64" y2="87.37" y3="87.37"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="362.61" name="bg3" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="83.34"/> + <curve x1="5.27" x2="0" x3="0" y1="83.34" y2="88.61" y3="95.06"/> + <line x="0" y="151.26"/> + <curve x1="0" x2="5.27" x3="11.72" y1="157.7" y2="162.97" y3="162.97"/> + <line x="179.27" y="162.97"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="162.97" y2="157.7" y3="151.26"/> + <line x="190.99" y="95.06"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="88.61" y2="83.34" y3="83.34"/> + <close/> + <move x="11.72" y="170.72"/> + <curve x1="5.27" x2="0" x3="0" y1="170.72" y2="175.99" y3="182.43"/> + <line x="0" y="350.89"/> + <curve x1="0" x2="5.27" x3="11.72" y1="357.33" y2="362.61" y3="362.61"/> + <line x="179.27" y="362.61"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="362.61" y2="357.33" y3="350.89"/> + <line x="190.99" y="182.43"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="175.99" y2="170.72" y3="170.72"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="1484.06" name="bg4" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="758.8"/> + <curve x1="19.92" x2="0" x3="0" y1="758.8" y2="778.72" y3="803.08"/> + <line x="0" y="1439.77"/> + <curve x1="0" x2="19.92" x3="44.28" y1="1464.13" y2="1484.06" y3="1484.06"/> + <line x="677.57" y="1484.06"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="1484.06" y2="1464.13" y3="1439.77"/> + <line x="721.85" y="803.08"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="778.72" y2="758.8" y3="758.8"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="258.41" name="bg5" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="246.7"/> + <curve x1="0" x2="5.27" x3="11.72" y1="253.14" y2="258.41" y3="258.41"/> + <line x="179.27" y="258.41"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="258.41" y2="253.14" y3="246.7"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="bg6" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="165.32" name="bg7" strokewidth="inherit" w="190.9"> + <connections/> + <foreground> + <path> + <move x="47.72" y="0"/> + <line x="0" y="82.66"/> + <line x="47.72" y="165.32"/> + <line x="143.18" y="165.32"/> + <line x="144.29" y="163.39"/> + <line x="190.9" y="82.66"/> + <line x="143.18" y="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="275.55" name="bg8" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="195.92"/> + <curve x1="5.27" x2="0" x3="0" y1="195.92" y2="201.19" y3="207.64"/> + <line x="0" y="263.84"/> + <curve x1="0" x2="5.27" x3="11.72" y1="270.28" y2="275.55" y3="275.55"/> + <line x="179.27" y="275.55"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="275.55" y2="270.28" y3="263.84"/> + <line x="190.99" y="207.64"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="201.19" y2="195.92" y3="195.92"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="79.63" name="bg9" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="blade server" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="39.28" y="33.16"/> + <line x="39.28" y="158.73"/> + <line x="151.71" y="158.73"/> + <line x="151.71" y="33.16"/> + <close/> + <move x="50.59" y="44.08"/> + <line x="61.36" y="44.08"/> + <line x="61.36" y="91.21"/> + <line x="50.59" y="91.21"/> + <close/> + <move x="77.25" y="44.08"/> + <line x="88.03" y="44.08"/> + <line x="88.03" y="91.21"/> + <line x="77.25" y="91.21"/> + <close/> + <move x="103.92" y="44.08"/> + <line x="114.7" y="44.08"/> + <line x="114.7" y="91.21"/> + <line x="103.92" y="91.21"/> + <close/> + <move x="130.59" y="44.08"/> + <line x="141.37" y="44.08"/> + <line x="141.37" y="91.21"/> + <line x="130.59" y="91.21"/> + <close/> + <move x="50.59" y="100.36"/> + <line x="61.36" y="100.36"/> + <line x="61.36" y="147.49"/> + <line x="50.59" y="147.49"/> + <close/> + <move x="77.25" y="100.36"/> + <line x="88.03" y="100.36"/> + <line x="88.03" y="147.49"/> + <line x="77.25" y="147.49"/> + <close/> + <move x="103.92" y="100.36"/> + <line x="114.7" y="100.36"/> + <line x="114.7" y="147.49"/> + <line x="103.92" y="147.49"/> + <close/> + <move x="130.59" y="100.36"/> + <line x="141.37" y="100.36"/> + <line x="141.37" y="147.49"/> + <line x="130.59" y="147.49"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="76.18" name="branch" strokewidth="inherit" w="74.91"> + <connections/> + <foreground> + <path> + <move x="6.35" y="12.01"/> + <curve x1="6.35" x2="6.35" x3="6.35" y1="16.57" y2="21.13" y3="25.69"/> + <line x="18.43" y="25.69"/> + <line x="18.43" y="12.01"/> + <close/> + <move x="22.74" y="12.01"/> + <curve x1="22.74" x2="22.74" x3="22.74" y1="16.57" y2="21.13" y3="25.69"/> + <line x="34.82" y="25.69"/> + <line x="34.82" y="12.01"/> + <close/> + <move x="39.14" y="12.01"/> + <curve x1="39.14" x2="39.14" x3="39.14" y1="16.57" y2="21.13" y3="25.69"/> + <line x="51.22" y="25.69"/> + <line x="51.22" y="12.01"/> + <close/> + <move x="55.53" y="12.01"/> + <curve x1="55.53" x2="55.53" x3="55.53" y1="16.57" y2="21.13" y3="25.69"/> + <line x="67.62" y="25.69"/> + <line x="67.62" y="12.01"/> + <close/> + <move x="8.35" y="14.01"/> + <line x="16.43" y="14.01"/> + <line x="16.43" y="23.69"/> + <line x="8.35" y="23.69"/> + <close/> + <move x="24.74" y="14.01"/> + <line x="32.82" y="14.01"/> + <line x="32.82" y="23.69"/> + <line x="24.74" y="23.69"/> + <close/> + <move x="41.14" y="14.01"/> + <line x="49.22" y="14.01"/> + <line x="49.22" y="23.69"/> + <line x="41.14" y="23.69"/> + <close/> + <move x="57.53" y="14.01"/> + <line x="65.62" y="14.01"/> + <line x="65.62" y="23.69"/> + <line x="57.53" y="23.69"/> + <close/> + <move x="6.35" y="30.44"/> + <curve x1="6.35" x2="6.35" x3="6.35" y1="35" y2="39.56" y3="44.12"/> + <line x="18.43" y="44.12"/> + <line x="18.43" y="30.44"/> + <close/> + <move x="22.74" y="30.44"/> + <curve x1="22.74" x2="22.74" x3="22.74" y1="35" y2="39.56" y3="44.12"/> + <line x="34.82" y="44.12"/> + <line x="34.82" y="30.44"/> + <close/> + <move x="39.14" y="30.44"/> + <curve x1="39.14" x2="39.14" x3="39.14" y1="35" y2="39.56" y3="44.12"/> + <line x="51.22" y="44.12"/> + <line x="51.22" y="30.44"/> + <close/> + <move x="55.53" y="30.44"/> + <curve x1="55.53" x2="55.53" x3="55.53" y1="35" y2="39.56" y3="44.12"/> + <line x="67.62" y="44.12"/> + <line x="67.62" y="30.44"/> + <close/> + <move x="8.35" y="32.44"/> + <line x="16.43" y="32.44"/> + <line x="16.43" y="42.12"/> + <line x="8.35" y="42.12"/> + <close/> + <move x="24.74" y="32.44"/> + <line x="32.82" y="32.44"/> + <line x="32.82" y="42.12"/> + <line x="24.74" y="42.12"/> + <close/> + <move x="41.14" y="32.44"/> + <line x="49.22" y="32.44"/> + <line x="49.22" y="42.12"/> + <line x="41.14" y="42.12"/> + <close/> + <move x="57.53" y="32.44"/> + <line x="65.62" y="32.44"/> + <line x="65.62" y="42.12"/> + <line x="57.53" y="42.12"/> + <close/> + <move x="0" y="0"/> + <line x="0" y="76.18"/> + <line x="74.91" y="76.18"/> + <line x="74.91" y="0"/> + <close/> + <move x="2" y="2"/> + <line x="72.91" y="2"/> + <line x="72.91" y="74.18"/> + <line x="45.7" y="74.18"/> + <line x="45.7" y="49.09"/> + <line x="28.47" y="49.09"/> + <line x="28.47" y="74.18"/> + <line x="2" y="74.18"/> + <close/> + <move x="30.47" y="51.09"/> + <line x="43.7" y="51.09"/> + <line x="43.7" y="74.18"/> + <line x="30.47" y="74.18"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="718.53" name="camera" strokewidth="inherit" w="1284.36"> + <connections/> + <foreground> + <path> + <move x="286.14" y="0"/> + <curve x1="252.02" x2="224.11" x3="224.11" y1="0" y2="27.9" y3="62.02"/> + <line x="224.11" y="250.27"/> + <line x="155.89" y="250.27"/> + <line x="0" y="155.33"/> + <line x="0" y="563.2"/> + <line x="159.39" y="468.25"/> + <line x="224.11" y="468.25"/> + <line x="224.11" y="656.51"/> + <curve x1="224.11" x2="252.02" x3="286.14" y1="690.62" y2="718.53" y3="718.53"/> + <line x="1222.34" y="718.53"/> + <curve x1="1256.46" x2="1284.36" x3="1284.36" y1="718.53" y2="690.62" y3="656.51"/> + <line x="1284.36" y="62.02"/> + <curve x1="1284.36" x2="1256.46" x3="1222.34" y1="27.9" y2="0" y3="0"/> + <close/> + <move x="286.14" y="28.35"/> + <line x="1222.34" y="28.35"/> + <curve x1="1241.24" x2="1256.01" x3="1256.01" y1="28.35" y2="43.12" y3="62.02"/> + <line x="1256.01" y="656.51"/> + <curve x1="1256.01" x2="1241.24" x3="1222.34" y1="675.41" y2="690.18" y3="690.18"/> + <line x="286.14" y="690.18"/> + <curve x1="267.24" x2="252.46" x3="252.46" y1="690.18" y2="675.41" y3="656.51"/> + <line x="252.46" y="62.02"/> + <curve x1="252.46" x2="267.24" x3="286.14" y1="43.12" y2="28.35" y3="28.35"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="151.06" name="cell phone" strokewidth="inherit" w="78.36"> + <connections/> + <foreground> + <path> + <move x="54.97" y="97.86"/> + <line x="69.34" y="97.86"/> + <curve x1="70.37" x2="71.2" x3="71.2" y1="97.86" y2="98.69" y3="99.72"/> + <line x="71.2" y="113.67"/> + <curve x1="71.2" x2="70.37" x3="69.34" y1="114.7" y2="115.53" y3="115.53"/> + <line x="54.97" y="115.53"/> + <curve x1="53.94" x2="53.11" x3="53.11" y1="115.53" y2="114.7" y3="113.67"/> + <line x="53.11" y="99.72"/> + <curve x1="53.11" x2="53.94" x3="54.97" y1="98.69" y2="97.86" y3="97.86"/> + <close/> + <move x="31.99" y="97.86"/> + <line x="46.37" y="97.86"/> + <curve x1="47.4" x2="48.23" x3="48.23" y1="97.86" y2="98.69" y3="99.72"/> + <line x="48.23" y="113.67"/> + <curve x1="48.23" x2="47.4" x3="46.37" y1="114.7" y2="115.53" y3="115.53"/> + <line x="32" y="115.53"/> + <curve x1="30.96" x2="30.13" x3="30.13" y1="115.53" y2="114.7" y3="113.67"/> + <line x="30.13" y="99.72"/> + <curve x1="30.13" x2="30.96" x3="32" y1="98.69" y2="97.86" y3="97.86"/> + <close/> + <move x="9.02" y="97.86"/> + <line x="23.39" y="97.86"/> + <curve x1="24.42" x2="25.25" x3="25.25" y1="97.86" y2="98.69" y3="99.72"/> + <line x="25.25" y="113.67"/> + <curve x1="25.25" x2="24.42" x3="23.39" y1="114.7" y2="115.53" y3="115.53"/> + <line x="9.02" y="115.53"/> + <curve x1="7.99" x2="7.16" x3="7.16" y1="115.53" y2="114.7" y3="113.67"/> + <line x="7.16" y="99.72"/> + <curve x1="7.16" x2="7.99" x3="9.02" y1="98.69" y2="97.86" y3="97.86"/> + <close/> + <move x="54.97" y="69.97"/> + <line x="69.34" y="69.97"/> + <curve x1="70.37" x2="71.2" x3="71.2" y1="69.97" y2="70.8" y3="71.83"/> + <line x="71.2" y="85.77"/> + <curve x1="71.2" x2="70.37" x3="69.34" y1="86.81" y2="87.64" y3="87.64"/> + <line x="54.97" y="87.64"/> + <curve x1="53.94" x2="53.11" x3="53.11" y1="87.64" y2="86.81" y3="85.77"/> + <line x="53.11" y="71.83"/> + <curve x1="53.11" x2="53.94" x3="54.97" y1="70.8" y2="69.97" y3="69.97"/> + <close/> + <move x="31.99" y="69.97"/> + <line x="46.37" y="69.97"/> + <curve x1="47.4" x2="48.23" x3="48.23" y1="69.97" y2="70.8" y3="71.83"/> + <line x="48.23" y="85.77"/> + <curve x1="48.23" x2="47.4" x3="46.37" y1="86.81" y2="87.64" y3="87.64"/> + <line x="32" y="87.64"/> + <curve x1="30.96" x2="30.13" x3="30.13" y1="87.64" y2="86.81" y3="85.77"/> + <line x="30.13" y="71.83"/> + <curve x1="30.13" x2="30.96" x3="32" y1="70.8" y2="69.97" y3="69.97"/> + <close/> + <move x="9.02" y="69.97"/> + <line x="23.39" y="69.97"/> + <curve x1="24.42" x2="25.25" x3="25.25" y1="69.97" y2="70.8" y3="71.83"/> + <line x="25.25" y="85.77"/> + <curve x1="25.25" x2="24.42" x3="23.39" y1="86.81" y2="87.64" y3="87.64"/> + <line x="9.02" y="87.64"/> + <curve x1="7.99" x2="7.16" x3="7.16" y1="87.64" y2="86.81" y3="85.77"/> + <line x="7.16" y="71.83"/> + <curve x1="7.16" x2="7.99" x3="9.02" y1="70.8" y2="69.97" y3="69.97"/> + <close/> + <move x="54.97" y="42.08"/> + <line x="69.34" y="42.08"/> + <curve x1="70.37" x2="71.2" x3="71.2" y1="42.08" y2="42.91" y3="43.94"/> + <line x="71.2" y="57.88"/> + <curve x1="71.2" x2="70.37" x3="69.34" y1="58.91" y2="59.74" y3="59.74"/> + <line x="54.97" y="59.74"/> + <curve x1="53.94" x2="53.11" x3="53.11" y1="59.74" y2="58.91" y3="57.88"/> + <line x="53.11" y="43.94"/> + <curve x1="53.11" x2="53.94" x3="54.97" y1="42.91" y2="42.08" y3="42.08"/> + <close/> + <move x="31.99" y="42.08"/> + <line x="46.37" y="42.08"/> + <curve x1="47.4" x2="48.23" x3="48.23" y1="42.08" y2="42.91" y3="43.94"/> + <line x="48.23" y="57.88"/> + <curve x1="48.23" x2="47.4" x3="46.37" y1="58.91" y2="59.74" y3="59.74"/> + <line x="31.99" y="59.74"/> + <curve x1="30.96" x2="30.13" x3="30.13" y1="59.74" y2="58.91" y3="57.88"/> + <line x="30.13" y="43.94"/> + <curve x1="30.13" x2="30.96" x3="31.99" y1="42.91" y2="42.08" y3="42.08"/> + <close/> + <move x="9.02" y="42.08"/> + <line x="23.39" y="42.08"/> + <curve x1="24.42" x2="25.25" x3="25.25" y1="42.08" y2="42.91" y3="43.94"/> + <line x="25.25" y="57.88"/> + <curve x1="25.25" x2="24.42" x3="23.39" y1="58.91" y2="59.74" y3="59.74"/> + <line x="9.02" y="59.74"/> + <curve x1="7.99" x2="7.16" x3="7.16" y1="59.74" y2="58.91" y3="57.88"/> + <line x="7.16" y="43.94"/> + <curve x1="7.16" x2="7.99" x3="9.02" y1="42.91" y2="42.08" y3="42.08"/> + <close/> + <move x="39.18" y="133.24"/> + <curve x1="35.7" x2="32.88" x3="32.88" y1="133.24" y2="136.06" y3="139.54"/> + <curve x1="32.88" x2="35.7" x3="39.18" y1="143.02" y2="145.84" y3="145.84"/> + <curve x1="42.66" x2="45.48" x3="45.48" y1="145.84" y2="143.02" y3="139.54"/> + <curve x1="45.48" x2="42.66" x3="39.18" y1="136.06" y2="133.24" y3="133.24"/> + <close/> + <move x="3.72" y="128.69"/> + <line x="74.64" y="128.69"/> + <line x="74.64" y="33.54"/> + <line x="3.72" y="33.54"/> + <close/> + <move x="23.05" y="18.06"/> + <line x="54.57" y="18.06"/> + <line x="54.57" y="14.7"/> + <line x="23.05" y="14.7"/> + <close/> + <move x="7.54" y="0"/> + <line x="70.82" y="0"/> + <curve x1="75" x2="78.36" x3="78.36" y1="0" y2="3.36" y3="7.54"/> + <line x="78.36" y="143.52"/> + <curve x1="78.36" x2="75" x3="70.82" y1="147.7" y2="151.06" y3="151.06"/> + <line x="7.54" y="151.06"/> + <curve x1="3.36" x2="0" x3="0" y1="151.06" y2="147.7" y3="143.52"/> + <line x="0" y="7.54"/> + <curve x1="0" x2="3.36" x3="7.54" y1="3.36" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="cisco 15800" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="475.84" y="63.72"/> + <line x="248.36" y="219.33"/> + <line x="248.36" y="341.19"/> + <line x="154.55" y="341.19"/> + <line x="154.55" y="386.55"/> + <line x="248.36" y="386.55"/> + <line x="248.36" y="510.48"/> + <line x="475.84" y="664.02"/> + <line x="475.84" y="511.1"/> + <line x="569.64" y="511.1"/> + <line x="569.64" y="465.74"/> + <line x="475.84" y="465.74"/> + <line x="475.84" y="386.55"/> + <line x="569.64" y="386.55"/> + <line x="569.64" y="341.19"/> + <line x="475.84" y="341.19"/> + <line x="475.84" y="262"/> + <line x="569.64" y="262"/> + <line x="569.64" y="216.64"/> + <line x="475.84" y="216.64"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="105.75" name="cisco dna" strokewidth="inherit" w="191.72"> + <connections/> + <foreground> + <save/> + <fillcolor color="#6ebe4a"/> + <fillalpha alpha="0.9626168"/> + <path> + <move x="45.6" y="26.43"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="38.21" x-axis-rotation="0" y="34.03"/> + <line x="38.21" y="69.37"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="53.21" x-axis-rotation="0" y="69.37"/> + <line x="53.21" y="34.03"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="45.6" x-axis-rotation="0" y="26.43"/> + <close/> + <move x="147.6" y="26.43"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="140.21" x-axis-rotation="0" y="34.03"/> + <line x="140.21" y="69.37"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="155.21" x-axis-rotation="0" y="69.37"/> + <line x="155.21" y="34.03"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="147.6" x-axis-rotation="0" y="26.43"/> + <close/> + </path> + <fill/> + <fillcolor color="#00bceb"/> + <fillalpha alpha="1"/> + <path> + <move x="176.08" y="22.53"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="168.69" x-axis-rotation="0" y="30.13"/> + <line x="168.69" y="73.27"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="183.69" x-axis-rotation="0" y="73.27"/> + <line x="183.69" y="30.13"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="176.08" x-axis-rotation="0" y="22.53"/> + <close/> + <move x="16.37" y="22.53"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="8.98" x-axis-rotation="0" y="30.13"/> + <line x="8.98" y="73.27"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="23.98" x-axis-rotation="0" y="73.27"/> + <line x="23.98" y="30.13"/> + <arc large-arc-flag="0" rx="7.5" ry="7.5" sweep-flag="0" x="16.37" x-axis-rotation="0" y="22.53"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <path> + <move x="174.67" y="0.62"/> + <curve x1="151.65" x2="119.99" x3="95.9" y1="0.34" y2="10.45" y3="39.4"/> + <curve x1="75.04" x2="44.35" x3="7.89" y1="13.41" y2="0" y3="0.64"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="8.15" x-axis-rotation="0" y="15.63"/> + <curve x1="42.39" x2="68.51" x3="86.51" y1="15.04" y2="27.19" y3="51.7"/> + <curve x1="68.51" x2="42.39" x3="8.15" y1="76.21" y2="88.36" y3="87.77"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="7.89" x-axis-rotation="0" y="102.76"/> + <curve x1="44.35" x2="75.04" x3="95.9" y1="103.4" y2="89.98" y3="64"/> + <curve x1="123.78" x2="161.81" x3="184.84" y1="97.51" y2="105.75" y3="101.91"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="182.37" x-axis-rotation="0" y="87.12"/> + <curve x1="165.2" x2="129.95" x3="105.23" y1="89.98" y2="83.32" y3="51.7"/> + <curve x1="129.95" x2="165.2" x3="182.37" y1="20.08" y2="13.42" y3="16.28"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="184.84" x-axis-rotation="0" y="1.49"/> + <curve x1="181.71" x2="178.3" x3="174.67" y1="0.96" y2="0.66" y3="0.62"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="cisco dna center" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="482.92" y="20"/> + <curve x1="455.23" x2="460.41" x3="487.05" y1="89.34" y2="161.56" y3="229.46"/> + <curve x1="503.53" x2="506.64" x3="499.64" y1="275.81" y2="313.21" y3="347.36"/> + <line x="382.81" y="231.3"/> + <curve x1="402.93" x2="424.69" x3="448.28" y1="227.97" y2="227.64" y3="230.5"/> + <curve x1="439.86" x2="434.1" x3="431.33" y1="208.5" y2="185.39" y3="161.03"/> + <curve x1="429.52" x2="427.71" x3="425.91" y1="160.97" y2="160.92" y3="160.89"/> + <curve x1="337.85" x2="261.8" x3="210" y1="159.35" y2="197.39" y3="263.39"/> + <line x="209.09" y="264.54"/> + <line x="208.29" y="265.77"/> + <curve x1="146.13" x2="141.55" x3="179.07" y1="360.84" y2="448.01" y3="545"/> + <curve x1="191.99" x2="195.03" x3="188.74" y1="580.74" y2="618.86" y3="655.55"/> + <line x="74.06" y="541.63"/> + <curve x1="93.36" x2="114.05" x3="138.61" y1="538.34" y2="537.84" y3="539.99"/> + <curve x1="130.25" x2="124.65" x3="121.62" y1="518.68" y2="495.64" y3="470.99"/> + <curve x1="84.83" x2="51.69" x3="20" y1="470.22" y2="475.54" y3="486.29"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="558.13" y="20"/> + <line x="567.18" y="20"/> + <line x="701.86" y="153.78"/> + <line x="701.86" y="180.19"/> + <curve x1="696.65" x2="691.02" x3="684.93" y1="182.98" y2="185.55" y3="187.83"/> + <line x="544.24" y="48.08"/> + <curve x1="548.01" x2="552.63" x3="558.13" y1="38.79" y2="29.44" y3="20"/> + <close/> + <move x="610.09" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="111.16"/> + <close/> + <move x="534.37" y="80.89"/> + <line x="650.96" y="196.71"/> + <curve x1="631.64" x2="609.48" x3="584.59" y1="199.87" y2="200.7" y3="198.37"/> + <curve x1="594.09" x2="598.75" x3="601.21" y1="221.7" y2="244.71" y3="267.57"/> + <curve x1="638.43" x2="672.3" x3="701.86" y1="268.78" y2="264.12" y3="254.12"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="246.54" y="705.25"/> + <curve x1="265.27" x2="264.64" x3="242.98" y1="645.98" y2="581.43" y3="521.66"/> + <line x="242.85" y="521.3"/> + <line x="242.71" y="520.94"/> + <curve x1="222.56" x2="215.28" x3="224.84" y1="469.07" y2="430.27" y3="389.21"/> + <line x="343.46" y="507.04"/> + <curve x1="321.79" x2="298.67" x3="274.13" y1="511.03" y2="511.14" y3="507.23"/> + <curve x1="282.98" x2="289.58" x3="293.43" y1="529.35" y2="552.67" y3="577.45"/> + <curve x1="383.66" x2="465.42" x3="520.68" y1="581.61" y2="539.99" y3="465.31"/> + <line x="521.31" y="464.47"/> + <line x="521.88" y="463.59"/> + <curve x1="567.87" x2="587" x3="551.04" y1="392.71" y2="307.21" y3="206.33"/> + <line x="550.85" y="205.79"/> + <line x="550.64" y="205.25"/> + <curve x1="533.22" x2="526.4" x3="534.37" y1="161.17" y2="121" y3="80.89"/> + <close/> + <move x="348.96" y="240.29"/> + <line x="489.63" y="380.03"/> + <curve x1="485.3" x2="480.01" x3="473.87" y1="390.68" y2="401.19" y3="411.75"/> + <line x="317.13" y="256.05"/> + <curve x1="327.19" x2="337.78" x3="348.96" y1="249.73" y2="244.47" y3="240.29"/> + <close/> + <move x="292.68" y="274.38"/> + <line x="456.4" y="437.02"/> + <curve x1="448.74" x2="440.74" x3="432.4" y1="446.25" y2="454.63" y3="462.15"/> + <line x="268.5" y="299.34"/> + <curve x1="276.15" x2="284.2" x3="292.68" y1="290.18" y2="281.85" y3="274.38"/> + <close/> + <move x="251.62" y="325.19"/> + <line x="408.31" y="480.84"/> + <curve x1="398.2" x2="387.66" x3="376.68" y1="487.49" y2="493.03" y3="497.43"/> + <line x="235.47" y="357.15"/> + <curve x1="239.83" x2="245.21" x3="251.62" y1="346.92" y2="336.32" y3="325.19"/> + <close/> + <move x="40.23" y="550.64"/> + <line x="180.08" y="689.57"/> + <curve x1="178.28" x2="176.27" x3="174.05" y1="694.86" y2="700.09" y3="705.25"/> + <line x="147.09" y="705.25"/> + <line x="20" y="579.01"/> + <line x="20" y="559.06"/> + <curve x1="26.83" x2="33.53" x3="40.23" y1="555.87" y2="553.07" y3="550.64"/> + <close/> + <move x="20" y="621.63"/> + <line x="104.18" y="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="cisco meetingplace express" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="89.75" y="25.86"/> + <line x="159.15" y="25.86"/> + <curve x1="161.42" x2="163.2" x3="163.2" y1="25.86" y2="27.64" y3="29.91"/> + <line x="163.2" y="56.36"/> + <line x="85.7" y="56.33"/> + <line x="85.7" y="29.91"/> + <curve x1="85.7" x2="87.48" x3="89.75" y1="27.64" y2="25.86" y3="25.86"/> + <close/> + <move x="163.2" y="120.5"/> + <line x="85.7" y="120.45"/> + <line x="85.7" y="68.45"/> + <line x="163.2" y="68.45"/> + <close/> + <move x="124.09" y="74.31"/> + <curve x1="119.25" x2="115.31" x3="115.31" y1="74.31" y2="78.26" y3="83.1"/> + <curve x1="115.31" x2="119.25" x3="124.09" y1="87.94" y2="91.89" y3="91.89"/> + <curve x1="128.93" x2="132.88" x3="132.88" y1="91.89" y2="87.94" y3="83.1"/> + <curve x1="132.88" x2="128.93" x3="124.09" y1="78.26" y2="74.31" y3="74.31"/> + <close/> + <move x="122.59" y="76.99"/> + <line x="122.59" y="83.4"/> + <curve x1="122.59" x2="125.6" x3="125.6" y1="85.4" y2="85.4" y3="83.4"/> + <line x="125.6" y="76.99"/> + <curve x1="128.35" x2="130.38" x3="130.38" y1="77.66" y2="80.13" y3="83.1"/> + <curve x1="130.38" x2="127.58" x3="124.09" y1="86.59" y2="89.39" y3="89.39"/> + <curve x1="120.61" x2="117.81" x3="117.81" y1="89.39" y2="86.59" y3="83.1"/> + <curve x1="117.81" x2="119.84" x3="122.59" y1="80.13" y2="77.66" y3="76.99"/> + <close/> + <move x="163.2" y="130.73"/> + <line x="163.2" y="144.09"/> + <line x="85.7" y="143.94"/> + <line x="85.7" y="130.79"/> + <close/> + <move x="85.7" y="154.19"/> + <line x="163.2" y="154.22"/> + <line x="163.2" y="164.74"/> + <curve x1="163.2" x2="161.42" x3="159.15" y1="167.01" y2="168.79" y3="168.79"/> + <line x="89.75" y="168.79"/> + <curve x1="87.48" x2="85.7" x3="85.7" y1="168.79" y2="167.01" y3="164.74"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="89.75" y="22.86"/> + <curve x1="85.87" x2="82.7" x3="82.7" y1="22.86" y2="26.03" y3="29.91"/> + <line x="82.7" y="59.71"/> + <line x="166.2" y="59.78"/> + <line x="166.2" y="29.91"/> + <curve x1="166.2" x2="163.03" x3="159.15" y1="26.03" y2="22.86" y3="22.86"/> + <close/> + <move x="166.2" y="64.47"/> + <line x="82.7" y="64.47"/> + <line x="82.7" y="123.9"/> + <line x="166.2" y="123.92"/> + <close/> + <move x="82.7" y="126.64"/> + <line x="82.7" y="147.51"/> + <line x="166.2" y="147.5"/> + <line x="166.2" y="126.66"/> + <close/> + <move x="82.7" y="150.72"/> + <line x="82.7" y="164.74"/> + <curve x1="82.7" x2="85.87" x3="89.75" y1="168.62" y2="171.79" y3="171.79"/> + <line x="159.15" y="171.79"/> + <curve x1="163.03" x2="166.2" x3="166.2" y1="171.79" y2="168.62" y3="164.74"/> + <line x="166.2" y="150.81"/> + <close/> + <move x="200.6" y="103.42"/> + <line x="176.87" y="120.31"/> + <line x="200.6" y="137.19"/> + <line x="200.6" y="125.7"/> + <line x="227.83" y="125.7"/> + <line x="227.83" y="114.91"/> + <line x="200.6" y="114.91"/> + <close/> + <move x="48.27" y="103.42"/> + <line x="48.27" y="114.91"/> + <line x="21.04" y="114.91"/> + <line x="21.04" y="125.7"/> + <line x="48.27" y="125.7"/> + <line x="48.27" y="137.19"/> + <line x="72.01" y="120.31"/> + <close/> + <move x="204.1" y="64.89"/> + <line x="204.1" y="76.38"/> + <line x="176.87" y="76.38"/> + <line x="176.87" y="87.17"/> + <line x="204.1" y="87.17"/> + <line x="204.1" y="98.66"/> + <line x="227.83" y="81.78"/> + <close/> + <move x="44.78" y="64.89"/> + <line x="21.04" y="81.78"/> + <line x="44.78" y="98.66"/> + <line x="44.78" y="87.17"/> + <line x="72.01" y="87.17"/> + <line x="72.01" y="76.38"/> + <line x="44.78" y="76.38"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="cisco security manager" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="323.9" y="582.78"/> + <line x="616.82" y="582.87"/> + <line x="616.82" y="622.66"/> + <curve x1="616.82" x2="610.1" x3="601.53" y1="631.23" y2="637.95" y3="637.95"/> + <line x="339.2" y="637.95"/> + <curve x1="330.63" x2="323.9" x3="323.9" y1="637.95" y2="631.23" y3="622.66"/> + <close/> + <move x="312.56" y="569.67"/> + <line x="312.56" y="622.66"/> + <curve x1="312.56" x2="324.54" x3="339.2" y1="637.31" y2="649.29" y3="649.29"/> + <line x="601.53" y="649.29"/> + <curve x1="616.18" x2="628.16" x3="628.16" y1="649.29" y2="637.31" y3="622.66"/> + <line x="628.16" y="569.97"/> + <close/> + <move x="616.82" y="494.12"/> + <line x="616.82" y="544.57"/> + <line x="323.9" y="544.01"/> + <line x="323.9" y="494.31"/> + <close/> + <move x="312.56" y="478.63"/> + <line x="312.56" y="557.5"/> + <line x="628.16" y="557.47"/> + <line x="628.16" y="478.72"/> + <close/> + <move x="463.35" y="291"/> + <line x="463.35" y="315.22"/> + <curve x1="463.35" x2="474.69" x3="474.69" y1="322.78" y2="322.78" y3="315.22"/> + <line x="474.69" y="291"/> + <curve x1="485.11" x2="492.79" x3="492.79" y1="293.53" y2="302.87" y3="314.09"/> + <curve x1="492.79" x2="482.2" x3="469.02" y1="327.28" y2="337.86" y3="337.86"/> + <curve x1="455.83" x2="445.25" x3="445.25" y1="337.86" y2="327.28" y3="314.09"/> + <curve x1="445.25" x2="452.93" x3="463.35" y1="302.87" y2="293.53" y3="291"/> + <close/> + <move x="391.9" y="258.72"/> + <line x="616.82" y="258.72"/> + <line x="616.82" y="455.44"/> + <line x="323.9" y="455.25"/> + <line x="323.9" y="393.81"/> + <line x="420.92" y="393.81"/> + <curve x1="443.61" x2="463.02" x3="462.59" y1="393.81" y2="374.75" y3="348.09"/> + <line x="462.57" y="346.67"/> + <curve x1="464.66" x2="466.81" x3="469.02" y1="347.08" y2="347.3" y3="347.3"/> + <curve x1="487.3" x2="502.23" x3="502.23" y1="347.3" y2="332.38" y3="314.09"/> + <curve x1="502.23" x2="487.3" x3="469.02" y1="295.81" y2="280.88" y3="280.88"/> + <curve x1="450.73" x2="435.8" x3="435.8" y1="280.88" y2="295.81" y3="314.09"/> + <curve x1="435.8" x2="443.88" x3="455.42" y1="327.54" y2="339.16" y3="344.37"/> + <line x="391.9" y="344.37"/> + <close/> + <move x="339.2" y="97.74"/> + <line x="339.2" y="97.74"/> + <line x="601.53" y="97.74"/> + <curve x1="610.1" x2="616.82" x3="616.82" y1="97.74" y2="104.47" y3="113.04"/> + <line x="616.82" y="213.03"/> + <line x="391.9" y="212.92"/> + <line x="391.9" y="192.28"/> + <curve x1="391.9" x2="373.03" x3="346.53" y1="165.63" y2="145.39" y3="145.39"/> + <line x="323.9" y="145.39"/> + <line x="323.9" y="113.04"/> + <curve x1="323.9" x2="330.63" x3="339.2" y1="104.47" y2="97.74" y3="97.74"/> + <close/> + <move x="339.2" y="86.41"/> + <curve x1="324.54" x2="312.56" x3="312.56" y1="86.41" y2="98.38" y3="113.04"/> + <line x="312.56" y="145.39"/> + <line x="171.48" y="145.39"/> + <curve x1="154.64" x2="143.07" x3="136.15" y1="145.39" y2="151.83" y3="160.63"/> + <curve x1="129.24" x2="126.85" x3="126.85" y1="169.43" y2="180.23" y3="189.22"/> + <line x="126.85" y="193"/> + <line x="198.26" y="193"/> + <line x="198.26" y="350.76"/> + <curve x1="198.26" x2="204.22" x3="212.02" y1="364.67" y2="375.58" y3="382.8"/> + <curve x1="219.81" x2="229.3" x3="237.39" y1="390.03" y2="393.81" y3="393.81"/> + <line x="312.56" y="393.81"/> + <line x="312.56" y="468.27"/> + <line x="628.16" y="468.37"/> + <line x="628.16" y="243.67"/> + <line x="391.9" y="243.67"/> + <line x="391.9" y="225.73"/> + <line x="628.16" y="225.93"/> + <line x="628.16" y="113.04"/> + <curve x1="628.16" x2="616.18" x3="601.53" y1="98.38" y2="86.41" y3="86.41"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="276.92" y="351.93"/> + <line x="454.42" y="351.93"/> + <curve x1="452.99" x2="438.34" x3="420.92" y1="372.66" y2="386.25" y3="386.25"/> + <line x="257.87" y="386.25"/> + <curve x1="267.83" x2="275.81" x3="276.92" y1="379.36" y2="368.03" y3="351.93"/> + <close/> + <move x="236.85" y="308.31"/> + <line x="236.85" y="316.49"/> + <line x="363.29" y="316.49"/> + <line x="363.29" y="308.31"/> + <close/> + <move x="236.85" y="254.78"/> + <line x="236.85" y="262.96"/> + <line x="363.29" y="262.96"/> + <line x="363.29" y="254.78"/> + <close/> + <move x="236.85" y="199.72"/> + <line x="236.85" y="207.9"/> + <line x="363.29" y="207.9"/> + <line x="363.29" y="199.72"/> + <close/> + <move x="187.24" y="152.95"/> + <line x="346.53" y="152.95"/> + <curve x1="369.32" x2="384.34" x3="384.34" y1="152.95" y2="169.05" y3="192.28"/> + <line x="384.34" y="344.37"/> + <line x="269.71" y="344.37"/> + <line x="269.71" y="348.15"/> + <curve x1="269.71" x2="251.12" x3="237.39" y1="373.44" y2="386.25" y3="386.25"/> + <curve x1="231.8" x2="223.61" x3="217.15" y1="386.25" y2="383.25" y3="377.26"/> + <curve x1="210.69" x2="205.81" x3="205.81" y1="371.27" y2="362.54" y3="350.76"/> + <line x="205.81" y="189.22"/> + <curve x1="205.81" x2="200.84" x3="194.29" y1="178.4" y2="167.77" y3="159.62"/> + <curve x1="192.15" x2="189.66" x3="187.24" y1="156.95" y2="155.04" y3="152.95"/> + <close/> + <move x="171.48" y="152.95"/> + <curve x1="175.45" x2="182.72" x3="188.39" y1="152.95" y2="157.28" y3="164.35"/> + <curve x1="193.24" x2="196.44" x3="197.44" y1="170.38" y2="178.07" y3="185.44"/> + <line x="134.96" y="185.44"/> + <curve x1="135.54" x2="137.4" x3="142.09" y1="178.66" y2="171.27" y3="165.3"/> + <curve x1="147.65" x2="156.5" x3="171.48" y1="158.23" y2="152.95" y3="152.95"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="cisco unified contact center enterprise and hosted" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="547.61" y="281.52"/> + <curve x1="533.72" x2="520.97" x3="509.37" y1="281.52" y2="284.71" y3="291.08"/> + <curve x1="497.84" x2="488.93" x3="482.62" y1="297.38" y2="306.66" y3="318.9"/> + <curve x1="476.39" x2="473.28" x3="473.28" y1="331.08" y2="345.37" y3="361.77"/> + <curve x1="473.28" x2="476.03" x3="481.55" y1="376.8" y2="390.88" y3="403.98"/> + <curve x1="487.13" x2="495.23" x3="505.83" y1="417.09" y2="427.11" y3="434.06"/> + <curve x1="516.5" x2="530.32" x3="547.29" y1="440.94" y2="444.37" y3="444.37"/> + <curve x1="563.69" x2="577.55" x3="588.86" y1="444.37" y2="439.9" y3="430.95"/> + <curve x1="600.25" x2="608.13" x3="612.5" y1="421.92" y2="408.85" y3="391.74"/> + <line x="591.66" y="386.47"/> + <curve x1="588.79" x2="583.31" x3="575.22" y1="399.72" y2="409.71" y3="416.44"/> + <curve x1="567.13" x2="557.25" x3="545.57" y1="423.18" y2="426.54" y3="426.54"/> + <curve x1="535.98" x2="527.06" x3="518.82" y1="426.54" y2="424.07" y3="419.13"/> + <curve x1="510.59" x2="504.5" x3="500.56" y1="414.19" y2="406.74" y3="396.79"/> + <curve x1="496.7" x2="494.76" x3="494.76" y1="386.76" y2="375.05" y3="361.66"/> + <curve x1="494.76" x2="496.41" x3="499.7" y1="351.27" y2="341.21" y3="331.47"/> + <curve x1="503" x2="508.69" x3="516.78" y1="321.66" y2="313.86" y3="308.05"/> + <curve x1="524.95" x2="535.08" x3="547.18" y1="302.25" y2="299.35" y3="299.35"/> + <curve x1="557.71" x2="566.45" x3="573.39" y1="299.35" y2="301.97" y3="307.2"/> + <curve x1="580.34" x2="585.64" x3="589.29" y1="312.42" y2="320.77" y3="332.22"/> + <line x="609.81" y="327.39"/> + <curve x1="605.59" x2="598.1" x3="587.36" y1="312.85" y2="301.57" y3="293.55"/> + <curve x1="576.62" x2="563.37" x3="547.61" y1="285.53" y2="281.52" y3="281.52"/> + <close/> + <move x="388.63" y="281.52"/> + <curve x1="374.74" x2="361.99" x3="350.39" y1="281.52" y2="284.71" y3="291.08"/> + <curve x1="338.86" x2="329.94" x3="323.64" y1="297.38" y2="306.66" y3="318.9"/> + <curve x1="317.41" x2="314.29" x3="314.29" y1="331.08" y2="345.37" y3="361.77"/> + <curve x1="314.29" x2="317.05" x3="322.56" y1="376.8" y2="390.88" y3="403.98"/> + <curve x1="328.15" x2="336.24" x3="346.84" y1="417.09" y2="427.11" y3="434.06"/> + <curve x1="357.51" x2="371.33" x3="388.31" y1="440.94" y2="444.37" y3="444.37"/> + <curve x1="404.71" x2="418.56" x3="429.88" y1="444.37" y2="439.9" y3="430.95"/> + <curve x1="441.27" x2="449.14" x3="453.51" y1="421.92" y2="408.85" y3="391.74"/> + <line x="432.67" y="386.47"/> + <curve x1="429.81" x2="424.33" x3="416.24" y1="399.72" y2="409.71" y3="416.44"/> + <curve x1="408.14" x2="398.26" x3="386.59" y1="423.18" y2="426.54" y3="426.54"/> + <curve x1="376.99" x2="368.08" x3="359.84" y1="426.54" y2="424.07" y3="419.13"/> + <curve x1="351.6" x2="345.52" x3="341.58" y1="414.19" y2="406.74" y3="396.79"/> + <curve x1="337.71" x2="335.78" x3="335.78" y1="386.76" y2="375.05" y3="361.66"/> + <curve x1="335.78" x2="337.42" x3="340.72" y1="351.27" y2="341.21" y3="331.47"/> + <curve x1="344.01" x2="349.71" x3="357.8" y1="321.66" y2="313.86" y3="308.05"/> + <curve x1="365.96" x2="376.1" x3="388.2" y1="302.25" y2="299.35" y3="299.35"/> + <curve x1="398.73" x2="407.46" x3="414.41" y1="299.35" y2="301.97" y3="307.2"/> + <curve x1="421.36" x2="426.66" x3="430.31" y1="312.42" y2="320.77" y3="332.22"/> + <line x="450.83" y="327.39"/> + <curve x1="446.6" x2="439.12" x3="428.38" y1="312.85" y2="301.57" y3="293.55"/> + <curve x1="417.63" x2="404.38" x3="388.63" y1="285.53" y2="281.52" y3="281.52"/> + <close/> + <move x="462.85" y="160.87"/> + <curve x1="574.92" x2="665.45" x3="665.45" y1="160.87" y2="251.4" y3="363.47"/> + <curve x1="665.45" x2="574.92" x3="462.85" y1="475.54" y2="566.07" y3="566.07"/> + <curve x1="350.78" x2="260.25" x3="260.25" y1="566.07" y2="475.54" y3="363.47"/> + <curve x1="260.25" x2="350.78" x3="462.85" y1="251.4" y2="160.87" y3="160.87"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="612.68" y="597.82"/> + <line x="681.27" y="684.49"/> + <line x="749.86" y="597.82"/> + <close/> + <move x="228.46" y="513.09"/> + <line x="141.78" y="581.68"/> + <line x="228.46" y="650.27"/> + <close/> + <move x="462.89" y="130.45"/> + <line x="462.89" y="130.64"/> + <curve x1="462.87" x2="462.86" x3="462.85" y1="130.64" y2="130.64" y3="130.64"/> + <curve x1="375.56" x2="299.38" x3="259.52" y1="130.64" y2="178.89" y3="250.12"/> + <line x="259.52" y="139.84"/> + <line x="231.18" y="139.84"/> + <line x="231.18" y="340.15"/> + <curve x1="230.41" x2="230.01" x3="230.01" y1="347.82" y2="355.6" y3="363.47"/> + <curve x1="230.01" x2="278.84" x3="350.78" y1="451.28" y2="527.85" y3="567.51"/> + <line x="238.89" y="567.51"/> + <line x="238.89" y="595.86"/> + <line x="448.67" y="595.86"/> + <curve x1="453.36" x2="458.08" x3="462.85" y1="596.14" y2="596.3" y3="596.3"/> + <curve x1="550.8" x2="627.5" x3="667.1" y1="596.3" y2="547.31" y3="475.17"/> + <line x="667.1" y="587.38"/> + <line x="695.45" y="587.38"/> + <line x="695.45" y="373.74"/> + <curve x1="695.59" x2="695.68" x3="695.68" y1="370.33" y2="366.91" y3="363.47"/> + <curve x1="695.68" x2="646.34" x3="573.78" y1="275.2" y2="198.27" y3="158.79"/> + <line x="691.36" y="158.79"/> + <line x="691.36" y="130.45"/> + <close/> + <move x="701.79" y="76.04"/> + <line x="701.79" y="213.21"/> + <line x="788.47" y="144.62"/> + <close/> + <move x="245.35" y="42.73"/> + <line x="176.76" y="129.41"/> + <line x="313.94" y="129.41"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="cisco unified presence service" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="361.54" y="579.48"/> + <line x="654.46" y="579.57"/> + <line x="654.46" y="619.36"/> + <curve x1="654.46" x2="647.74" x3="639.17" y1="627.93" y2="634.65" y3="634.65"/> + <line x="376.84" y="634.65"/> + <curve x1="368.27" x2="361.54" x3="361.54" y1="634.65" y2="627.93" y3="619.36"/> + <close/> + <move x="654.46" y="490.82"/> + <line x="654.46" y="541.27"/> + <line x="361.54" y="540.71"/> + <line x="361.54" y="491.01"/> + <close/> + <move x="500.99" y="287.7"/> + <line x="500.99" y="311.92"/> + <arc large-arc-flag="0" rx="5.67" ry="5.67" sweep-flag="0" x="512.33" x-axis-rotation="0" y="311.92"/> + <line x="512.33" y="287.7"/> + <curve x1="522.75" x2="530.43" x3="530.43" y1="290.23" y2="299.57" y3="310.79"/> + <curve x1="530.43" x2="519.84" x3="506.66" y1="323.97" y2="334.55" y3="334.55"/> + <curve x1="493.47" x2="482.89" x3="482.89" y1="334.55" y2="323.97" y3="310.79"/> + <curve x1="482.89" x2="490.57" x3="500.99" y1="299.57" y2="290.23" y3="287.7"/> + <close/> + <move x="506.66" y="277.57"/> + <curve x1="488.37" x2="473.45" x3="473.45" y1="277.57" y2="292.5" y3="310.79"/> + <curve x1="473.45" x2="488.37" x3="506.66" y1="329.08" y2="344" y3="344"/> + <curve x1="524.94" x2="539.88" x3="539.88" y1="344" y2="329.08" y3="310.79"/> + <curve x1="539.88" x2="524.94" x3="506.66" y1="292.5" y2="277.57" y3="277.57"/> + <close/> + <move x="361.54" y="255.42"/> + <line x="654.46" y="255.42"/> + <line x="654.46" y="328.9"/> + <curve x1="636.58" x2="615.78" x3="590.38" y1="329.27" y2="329.44" y3="329.48"/> + <line x="590.38" y="275.31"/> + <line x="509.11" y="356.88"/> + <line x="590.38" y="438.45"/> + <line x="590.38" y="382.39"/> + <curve x1="615.25" x2="636.14" x3="654.46" y1="382.35" y2="382.13" y3="381.71"/> + <line x="654.46" y="452.14"/> + <line x="361.54" y="451.95"/> + <close/> + <move x="376.84" y="94.44"/> + <line x="639.17" y="94.44"/> + <curve x1="647.74" x2="654.46" x3="654.46" y1="94.44" y2="101.17" y3="109.74"/> + <line x="654.46" y="209.73"/> + <line x="361.54" y="209.59"/> + <line x="361.54" y="109.74"/> + <curve x1="361.54" x2="368.27" x3="376.84" y1="101.17" y2="94.44" y3="94.44"/> + <close/> + <move x="208.04" y="554.35"/> + <arc large-arc-flag="0" rx="30.6" ry="30.6" sweep-flag="0" x="177.44" x-axis-rotation="0" y="584.95"/> + <arc large-arc-flag="0" rx="30.6" ry="30.6" sweep-flag="0" x="208.04" x-axis-rotation="0" y="615.55"/> + <arc large-arc-flag="0" rx="30.6" ry="30.6" sweep-flag="0" x="238.64" x-axis-rotation="0" y="584.95"/> + <arc large-arc-flag="0" rx="30.6" ry="30.6" sweep-flag="0" x="208.04" x-axis-rotation="0" y="554.35"/> + <close/> + <move x="208.04" y="516.47"/> + <curve x1="246.02" x2="276.52" x3="276.52" y1="516.47" y2="546.97" y3="584.95"/> + <curve x1="276.52" x2="246.02" x3="208.04" y1="622.93" y2="653.43" y3="653.43"/> + <curve x1="170.06" x2="139.55" x3="139.55" y1="653.43" y2="622.93" y3="584.95"/> + <curve x1="139.55" x2="170.06" x3="208.04" y1="546.97" y2="516.47" y3="516.47"/> + <close/> + <move x="185.62" y="332.5"/> + <line x="164.04" y="353.67"/> + <line x="185.25" y="375.29"/> + <line x="164.04" y="396.92"/> + <line x="185.62" y="418.1"/> + <line x="206.42" y="396.89"/> + <line x="227.23" y="418.1"/> + <line x="248.82" y="396.92"/> + <line x="227.6" y="375.29"/> + <line x="248.82" y="353.67"/> + <line x="227.23" y="332.5"/> + <line x="206.42" y="353.7"/> + <close/> + <move x="206.43" y="306.81"/> + <curve x1="244.41" x2="274.91" x3="274.91" y1="306.81" y2="337.32" y3="375.29"/> + <curve x1="274.91" x2="244.41" x3="206.43" y1="413.27" y2="443.78" y3="443.78"/> + <curve x1="168.45" x2="137.95" x3="137.95" y1="443.78" y2="413.27" y3="375.29"/> + <curve x1="137.95" x2="168.45" x3="206.43" y1="337.32" y2="306.81" y3="306.81"/> + <close/> + <move x="252.3" y="111.54"/> + <arc large-arc-flag="0" rx="9.45" ry="9.45" sweep-flag="0" x="251.35" x-axis-rotation="0" y="111.55"/> + <arc large-arc-flag="0" rx="9.45" ry="9.45" sweep-flag="0" x="244.94" x-axis-rotation="0" y="114.58"/> + <line x="190.8" y="171.7"/> + <line x="188.61" y="142.8"/> + <arc large-arc-flag="1" rx="9.45" ry="9.45" sweep-flag="0" x="169.77" x-axis-rotation="0" y="144.23"/> + <line x="173.57" y="194.4"/> + <arc large-arc-flag="0" rx="9.45" ry="9.45" sweep-flag="0" x="189.84" x-axis-rotation="0" y="200.18"/> + <line x="258.65" y="127.58"/> + <arc large-arc-flag="0" rx="9.45" ry="9.45" sweep-flag="0" x="252.3" x-axis-rotation="0" y="111.54"/> + <close/> + <move x="215.54" y="88.85"/> + <curve x1="253.52" x2="284.02" x3="284.02" y1="88.85" y2="119.35" y3="157.33"/> + <curve x1="284.02" x2="253.52" x3="215.54" y1="195.31" y2="225.81" y3="225.81"/> + <curve x1="177.56" x2="147.05" x3="147.05" y1="225.81" y2="195.31" y3="157.33"/> + <curve x1="147.05" x2="177.56" x3="215.54" y1="119.35" y2="88.85" y3="88.85"/> + <close/> + <move x="350.21" y="566.37"/> + <line x="350.21" y="619.36"/> + <curve x1="350.21" x2="362.18" x3="376.84" y1="634.01" y2="645.99" y3="645.99"/> + <line x="639.17" y="645.99"/> + <curve x1="653.83" x2="665.8" x3="665.8" y1="645.99" y2="634.01" y3="619.36"/> + <line x="665.8" y="566.67"/> + <close/> + <move x="208.04" y="490.01"/> + <curve x1="155.76" x2="113.1" x3="113.1" y1="490.01" y2="532.67" y3="584.95"/> + <curve x1="113.1" x2="155.76" x3="208.04" y1="637.23" y2="679.89" y3="679.89"/> + <curve x1="260.31" x2="302.97" x3="302.97" y1="679.89" y2="637.23" y3="584.95"/> + <curve x1="302.97" x2="260.31" x3="208.04" y1="532.67" y2="490.01" y3="490.01"/> + <close/> + <move x="350.21" y="475.33"/> + <line x="350.21" y="554.2"/> + <line x="665.8" y="554.17"/> + <line x="665.8" y="475.42"/> + <close/> + <move x="206.43" y="280.36"/> + <curve x1="154.15" x2="111.49" x3="111.49" y1="280.36" y2="323.02" y3="375.29"/> + <curve x1="111.49" x2="154.15" x3="206.43" y1="427.57" y2="470.23" y3="470.23"/> + <curve x1="258.7" x2="301.37" x3="301.37" y1="470.23" y2="427.57" y3="375.29"/> + <curve x1="301.37" x2="258.7" x3="206.43" y1="323.02" y2="280.36" y3="280.36"/> + <close/> + <move x="376.84" y="83.11"/> + <curve x1="362.18" x2="350.21" x3="350.21" y1="83.11" y2="95.08" y3="109.74"/> + <line x="350.21" y="222.36"/> + <line x="665.8" y="222.63"/> + <line x="665.8" y="109.74"/> + <curve x1="665.8" x2="653.83" x3="639.17" y1="95.08" y2="83.11" y3="83.11"/> + <close/> + <move x="215.54" y="62.39"/> + <curve x1="163.26" x2="120.6" x3="120.6" y1="62.39" y2="105.05" y3="157.33"/> + <curve x1="120.6" x2="163.26" x3="215.54" y1="209.61" y2="252.27" y3="252.27"/> + <curve x1="267.81" x2="310.47" x3="310.47" y1="252.27" y2="209.61" y3="157.33"/> + <curve x1="310.47" x2="267.81" x3="215.54" y1="105.05" y2="62.39" y3="62.39"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="259.76"/> + <curve x1="879.76" x2="846.97" x3="784.72" y1="280.13" y2="296.86" y3="313.64"/> + <curve x1="744.34" x2="719.92" x3="665.8" y1="323.08" y2="327.08" y3="328.62"/> + <line x="665.8" y="240.37"/> + <line x="350.21" y="240.37"/> + <line x="350.21" y="464.97"/> + <line x="665.8" y="465.06"/> + <line x="665.8" y="381.42"/> + <curve x1="724.94" x2="754.47" x3="797.33" y1="379.64" y2="375.08" y3="365.04"/> + <line x="797.76" y="364.94"/> + <line x="798.18" y="364.83"/> + <curve x1="850.89" x2="886.24" x3="918.03" y1="350.64" y2="335.4" y3="319.4"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="744.45" name="clock" strokewidth="inherit" w="744.45"> + <connections/> + <foreground> + <path> + <move x="359.52" y="62.34"/> + <line x="359.52" y="170.18"/> + <line x="385.97" y="170.18"/> + <line x="385.97" y="62.34"/> + <close/> + <move x="211.78" y="193.14"/> + <line x="201.85" y="202.77"/> + <line x="301.47" y="333.51"/> + <curve x1="297.88" x2="295.88" x3="295.88" y1="342.38" y2="352.05" y3="362.17"/> + <curve x1="295.88" x2="330.45" x3="372.75" y1="404.47" y2="439.04" y3="439.04"/> + <curve x1="413.59" x2="447.22" x3="449.48" y1="439.04" y2="406.81" y3="366.51"/> + <line x="676.03" y="240.41"/> + <line x="668.72" y="227.76"/> + <line x="417.84" y="300.02"/> + <curve x1="405.15" x2="389.57" x3="372.75" y1="290.78" y2="285.3" y3="285.3"/> + <curve x1="359.1" x2="346.27" x3="335.13" y1="285.3" y2="288.92" y3="295.21"/> + <close/> + <move x="372.75" y="311.75"/> + <curve x1="400.75" x2="423.16" x3="423.16" y1="311.75" y2="334.17" y3="362.17"/> + <curve x1="423.16" x2="400.75" x3="372.75" y1="390.17" y2="412.58" y3="412.58"/> + <curve x1="344.75" x2="322.34" x3="322.34" y1="412.58" y2="390.17" y3="362.17"/> + <curve x1="322.34" x2="344.75" x3="372.75" y1="334.17" y2="311.75" y3="311.75"/> + <close/> + <move x="72.92" y="348.94"/> + <line x="72.92" y="375.4"/> + <line x="180.75" y="375.4"/> + <line x="180.75" y="348.94"/> + <close/> + <move x="564.74" y="348.94"/> + <line x="564.74" y="375.4"/> + <line x="672.57" y="375.4"/> + <line x="672.57" y="348.94"/> + <close/> + <move x="359.52" y="554.16"/> + <line x="359.52" y="662"/> + <line x="385.97" y="662"/> + <line x="385.97" y="554.16"/> + <close/> + <move x="372.22" y="9.45"/> + <curve x1="572.64" x2="735" x3="735" y1="9.45" y2="171.81" y3="372.22"/> + <curve x1="735" x2="572.64" x3="372.22" y1="572.64" y2="735" y3="735"/> + <curve x1="171.81" x2="9.45" x3="9.45" y1="735" y2="572.64" y3="372.22"/> + <curve x1="9.45" x2="171.81" x3="372.22" y1="171.81" y2="9.45" y3="9.45"/> + <close/> + <move x="372.22" y="0"/> + <curve x1="166.71" x2="0" x3="0" y1="0" y2="166.71" y3="372.22"/> + <curve x1="0" x2="166.71" x3="372.22" y1="577.74" y2="744.45" y3="744.45"/> + <curve x1="577.74" x2="744.45" x3="744.45" y1="744.45" y2="577.74" y3="372.22"/> + <curve x1="744.45" x2="577.74" x3="372.22" y1="166.71" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="150.16" name="cloud" strokewidth="inherit" w="248.37"> + <connections/> + <foreground> + <path> + <move x="96.51" y="2.01"/> + <curve x1="62" x2="34.37" x3="28.63" y1="4.89" y2="29.8" y3="63.42"/> + <curve x1="20.55" x2="13.44" x3="8.32" y1="66.05" y2="70.09" y3="75.45"/> + <curve x1="3.14" x2="0" x3="0" y1="80.88" y2="87.66" y3="95.59"/> + <curve x1="0" x2="3.67" x3="11.98" y1="105.17" y2="113.74" y3="119.92"/> + <curve x1="20.26" x2="33.1" x3="51.44" y1="126.07" y2="129.85" y3="130.13"/> + <curve x1="65.31" x2="85.36" x3="101.76" y1="143.54" y2="150.16" y3="150.16"/> + <curve x1="123.52" x2="142.73" x3="154.81" y1="150.16" y2="140.23" y3="127.64"/> + <curve x1="172.66" x2="187.84" x3="203.89" y1="129.39" y2="131.01" y3="129.94"/> + <line x="203.89" y="129.94"/> + <curve x1="219.51" x2="230.62" x3="237.84" y1="128.81" y2="124.49" y3="118.22"/> + <curve x1="245.06" x2="248.36" x3="248.36" y1="111.95" y2="103.72" y3="94.94"/> + <curve x1="248.37" x2="245.2" x3="239.75" y1="87.7" y2="81.11" y3="75.59"/> + <curve x1="234.35" x2="226.7" x3="217.65" y1="70.12" y2="65.69" y3="62.61"/> + <curve x1="214.02" x2="208.05" x3="197.97" y1="54.15" y2="44.8" y3="39.09"/> + <line x="197.97" y="39.09"/> + <line x="197.96" y="39.08"/> + <curve x1="186.4" x2="175.18" x3="164.36" y1="32.82" y2="33.63" y3="35.87"/> + <curve x1="154.22" x2="130.32" x3="96.52" y1="19.27" y2="0" y3="2.01"/> + <line x="96.51" y="2.01"/> + <close/> + <move x="96.59" y="3.01"/> + <curve x1="130.17" x2="153.85" x3="163.7" y1="1.02" y2="20.32" y3="36.67"/> + <line x="163.88" y="36.97"/> + <line x="164.23" y="36.9"/> + <curve x1="175.06" x2="186.07" x3="197.48" y1="34.63" y2="33.78" y3="39.96"/> + <curve x1="207.38" x2="213.26" x3="216.83" y1="45.57" y2="54.81" y3="63.2"/> + <line x="216.91" y="63.41"/> + <line x="217.13" y="63.48"/> + <curve x1="226.16" x2="233.74" x3="239.04" y1="66.52" y2="70.92" y3="76.3"/> + <curve x1="244.34" x2="247.37" x3="247.36" y1="81.67" y2="87.99" y3="94.94"/> + <curve x1="247.36" x2="244.2" x3="237.19" y1="103.47" y2="111.38" y3="117.47"/> + <curve x1="230.18" x2="219.29" x3="203.82" y1="123.55" y2="127.83" y3="128.94"/> + <curve x1="187.8" x2="172.63" x3="154.68" y1="130.01" y2="128.39" y3="126.63"/> + <line x="154.44" y="126.6"/> + <line x="154.27" y="126.78"/> + <curve x1="142.38" x2="123.32" x3="101.76" y1="139.25" y2="149.16" y3="149.16"/> + <curve x1="85.57" x2="65.63" x3="51.99" y1="149.16" y2="142.57" y3="129.28"/> + <line x="51.85" y="129.14"/> + <line x="51.65" y="129.14"/> + <curve x1="33.33" x2="20.65" x3="12.58" y1="128.89" y2="125.11" y3="119.11"/> + <curve x1="4.51" x2="1" x3="1" y1="113.12" y2="104.92" y3="95.59"/> + <curve x1="1" x2="4.01" x3="9.04" y1="87.93" y2="81.41" y3="76.14"/> + <curve x1="14.07" x2="21.14" x3="29.22" y1="70.87" y2="66.85" y3="64.27"/> + <line x="29.51" y="64.17"/> + <line x="29.56" y="63.87"/> + <curve x1="35.11" x2="62.42" x3="96.59" y1="30.55" y2="5.87" y3="3.01"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="149.16" name="cloud2" strokewidth="inherit" w="247.38"> + <connections/> + <foreground> + <path> + <move x="154.13" y="126.62"/> + <curve x1="142.15" x2="122.97" x3="101.26" y1="139.19" y2="149.16" y3="149.16"/> + <curve x1="84.94" x2="64.9" x3="51.14" y1="149.16" y2="142.54" y3="129.14"/> + <curve x1="14.37" x2="0" x3="0" y1="128.64" y2="113.99" y3="95.09"/> + <curve x1="0" x2="12.29" x3="28.56" y1="79.5" y2="68.5" y3="63.29"/> + <curve x1="34.15" x2="61.66" x3="96.05" y1="29.75" y2="4.88" y3="2.01"/> + <curve x1="129.83" x2="153.69" x3="163.63" y1="0" y2="19.4" y3="35.91"/> + <curve x1="174.51" x2="185.68" x3="197.22" y1="33.64" y2="32.77" y3="39.02"/> + <curve x1="207.26" x2="213.19" x3="216.79" y1="44.71" y2="54.06" y3="62.51"/> + <curve x1="234.96" x2="247.38" x3="247.36" y1="68.62" y2="80.25" y3="94.44"/> + <curve x1="247.36" x2="234.44" x3="203.36" y1="111.76" y2="126.7" y3="128.94"/> + <curve x1="187.28" x2="172.08" x3="154.13" y1="130.01" y2="128.39" y3="126.62"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="197.87" y="53.25"/> + <curve x1="196.1" x2="194.11" x3="191.88" y1="51.49" y2="49.93" y3="48.66"/> + <curve x1="183.37" x2="175.79" x3="165.88" y1="44.08" y2="44.61" y3="46.68"/> + <line x="158.24" y="48.28"/> + <line x="154.21" y="41.59"/> + <curve x1="146.32" x2="126.05" x3="96.83" y1="28.5" y2="11.31" y3="13"/> + <curve x1="67.27" x2="44.18" x3="39.41" y1="15.52" y2="36.5" y3="65.1"/> + <line x="38.31" y="71.72"/> + <line x="31.92" y="73.77"/> + <curve x1="25.15" x2="19.62" x3="16.13" y1="75.93" y2="79.24" y3="82.89"/> + <curve x1="12.75" x2="11.09" x3="11" y1="86.44" y2="89.98" y3="94.7"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="cognitive" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="504" y="148.22"/> + <curve x1="493.92" x2="483.74" x3="473.63" y1="148.37" y2="149.42" y3="151.46"/> + <curve x1="427.08" x2="397.09" x3="389.62" y1="163.62" y2="189.04" y3="231.29"/> + <curve x1="356.15" x2="323.35" x3="303.14" y1="213.61" y2="217.77" y3="233"/> + <curve x1="278.45" x2="270.86" x3="274.26" y1="252.97" y2="277.84" y3="301.04"/> + <curve x1="214.91" x2="174.23" x3="174.23" y1="300.47" y2="339.92" y3="400.42"/> + <curve x1="174.23" x2="197.26" x3="271.47" y1="439.65" y2="503.93" y3="503.93"/> + <line x="461.49" y="503.88"/> + <line x="461.49" y="530.43"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="447.52" x-axis-rotation="0" y="544.41"/> + <line x="335.12" y="544.41"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="312.62" x-axis-rotation="0" y="528.86"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="288.57" x-axis-rotation="0" y="552.92"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="312.62" x-axis-rotation="0" y="576.97"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="335.1" x-axis-rotation="0" y="561.42"/> + <line x="447.51" y="561.42"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="470" x-axis-rotation="0" y="576.97"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="492.47" x-axis-rotation="0" y="561.42"/> + <line x="604.88" y="561.42"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="627.37" x-axis-rotation="0" y="576.97"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="651.42" x-axis-rotation="0" y="552.92"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="627.37" x-axis-rotation="0" y="528.86"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="604.89" x-axis-rotation="0" y="544.41"/> + <line x="492.49" y="544.41"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="478.5" x-axis-rotation="0" y="530.45"/> + <line x="478.5" y="503.88"/> + <line x="641.07" y="503.84"/> + <curve x1="708.45" x2="738.06" x3="741.61" y1="503.84" y2="477.61" y3="433.71"/> + <curve x1="747.04" x2="727.29" x3="685.36" y1="395.64" y2="354.99" y3="346.47"/> + <curve x1="685.22" x2="681.73" x3="672.81" y1="331.25" y2="324.58" y3="313.02"/> + <curve x1="663.48" x2="652.17" x3="640.31" y1="303.2" y2="299.87" y3="300.48"/> + <curve x1="645.55" x2="646.57" x3="613.7" y1="267.25" y2="228.79" y3="191.38"/> + <curve x1="589.28" x2="547.66" x3="504" y1="164.08" y2="147.6" y3="148.23"/> + <close/> + <move x="471.24" y="255.03"/> + <line x="559.82" y="274.88"/> + <line x="559.82" y="345.84"/> + <curve x1="559.82" x2="524.18" x3="473.74" y1="395.46" y2="449.53" y3="467.19"/> + <line x="471.24" y="468.07"/> + <line x="468.74" y="467.19"/> + <curve x1="426" x2="382.67" x3="382.67" y1="452.18" y2="409.57" y3="345.84"/> + <line x="382.67" y="280.93"/> + <line x="382.67" y="274.88"/> + <close/> + <move x="471.24" y="270.53"/> + <line x="454.06" y="274.38"/> + <line x="454.13" y="282.84"/> + <line x="425.08" y="289.35"/> + <line x="425.22" y="280.84"/> + <line x="397.79" y="286.99"/> + <line x="397.79" y="345.84"/> + <curve x1="397.79" x2="434.63" x3="471.16" y1="401.41" y2="437.92" y3="451.82"/> + <curve x1="513.13" x2="544.7" x3="544.7" y1="435.68" y2="387.14" y3="345.84"/> + <line x="544.7" y="286.99"/> + <line x="517.26" y="280.84"/> + <line x="517.41" y="289.35"/> + <line x="488.36" y="282.84"/> + <line x="488.43" y="274.38"/> + <close/> + <move x="470.93" y="300.22"/> + <line x="516.86" y="313.51"/> + <line x="434.39" y="398.16"/> + <curve x1="424.47" x2="417.62" x3="417.62" y1="383.07" y2="363.17" y3="337.66"/> + <line x="417.04" y="313.72"/> + <close/> + <move x="525.44" y="323.66"/> + <line x="525.38" y="337.66"/> + <curve x1="525.38" x2="499.5" x3="471.5" y1="379.61" y2="416.58" y3="430.6"/> + <curve x1="461.77" x2="451.48" x3="442.53" y1="426.02" y2="418.86" y3="408.78"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="934.06" name="collab1" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="889.76"/> + <curve x1="0" x2="19.92" x3="44.28" y1="914.13" y2="934.06" y3="934.06"/> + <line x="677.57" y="934.06"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="934.06" y2="914.13" y3="889.76"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="889.76"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="903.39" y2="914.05" y3="914.05"/> + <line x="44.28" y="914.05"/> + <curve x1="30.66" x2="20" x3="20" y1="914.05" y2="903.39" y3="889.76"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="194.55" y="797.39"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="194.55" x-axis-rotation="0" y="835.18"/> + <line x="531.55" y="835.18"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="531.55" x-axis-rotation="0" y="797.39"/> + <close/> + <move x="206.17" y="101.64"/> + <line x="518.05" y="101.64"/> + <curve x1="535.18" x2="548.98" x3="548.98" y1="101.64" y2="115.43" y3="132.56"/> + <line x="548.98" y="739.07"/> + <curve x1="548.98" x2="535.18" x3="518.05" y1="756.21" y2="770" y3="770"/> + <line x="206.17" y="770"/> + <curve x1="189.04" x2="175.25" x3="175.25" y1="770" y2="756.21" y3="739.07"/> + <line x="175.25" y="132.56"/> + <curve x1="175.25" x2="189.04" x3="206.17" y1="115.43" y2="101.64" y3="101.64"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="228.07" y="149.71"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="228.07" x-axis-rotation="0" y="187.5"/> + <line x="496.97" y="187.5"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="496.97" x-axis-rotation="0" y="149.71"/> + <close/> + <move x="282.99" y="466.89"/> + <curve x1="271.07" x2="261.41" x3="261.41" y1="466.89" y2="476.55" y3="488.46"/> + <curve x1="261.41" x2="271.07" x3="282.99" y1="500.38" y2="510.04" y3="510.04"/> + <curve x1="294.91" x2="304.57" x3="304.57" y1="510.04" y2="500.38" y3="488.46"/> + <curve x1="304.57" x2="294.91" x3="282.99" y1="476.55" y2="466.89" y3="466.89"/> + <close/> + <move x="355.97" y="466.89"/> + <curve x1="344.05" x2="334.39" x3="334.39" y1="466.89" y2="476.55" y3="488.46"/> + <curve x1="334.39" x2="344.05" x3="355.97" y1="500.38" y2="510.04" y3="510.04"/> + <curve x1="367.89" x2="377.55" x3="377.55" y1="510.04" y2="500.38" y3="488.46"/> + <curve x1="377.55" x2="367.89" x3="355.97" y1="476.55" y2="466.89" y3="466.89"/> + <close/> + <move x="428.96" y="466.89"/> + <curve x1="417.04" x2="407.38" x3="407.38" y1="466.89" y2="476.55" y3="488.46"/> + <curve x1="407.38" x2="417.04" x3="428.96" y1="500.38" y2="510.04" y3="510.04"/> + <curve x1="440.87" x2="450.53" x3="450.53" y1="510.04" y2="500.38" y3="488.46"/> + <curve x1="450.53" x2="440.87" x3="428.96" y1="476.55" y2="466.89" y3="466.89"/> + <close/> + <move x="211.24" y="234.12"/> + <line x="211.24" y="406.27"/> + <curve x1="211.24" x2="224.3" x3="240.52" y1="422.49" y2="435.55" y3="435.55"/> + <line x="482.23" y="435.55"/> + <curve x1="498.45" x2="511.51" x3="511.51" y1="435.55" y2="422.49" y3="406.27"/> + <line x="511.51" y="234.12"/> + <curve x1="511.51" x2="498.45" x3="482.23" y1="217.9" y2="204.84" y3="204.84"/> + <line x="240.52" y="204.84"/> + <curve x1="224.3" x2="211.24" x3="211.24" y1="204.84" y2="217.9" y3="234.12"/> + <close/> + <move x="406.65" y="286.86"/> + <curve x1="406.64" x2="397.84" x3="383.35" y1="303.94" y2="319.82" y3="328.88"/> + <curve x1="399.42" x2="413.43" x3="411.69" y1="347.39" y2="369.43" y3="416.96"/> + <line x="301.87" y="416.44"/> + <curve x1="300.41" x2="309.67" x3="330.98" y1="387.02" y2="353.38" y3="328.98"/> + <curve x1="316.37" x2="307.47" x3="307.45" y1="319.96" y2="304.02" y3="286.86"/> + <curve x1="307.45" x2="329.65" x3="357.05" y1="259.46" y2="237.26" y3="237.26"/> + <curve x1="384.44" x2="406.64" x3="406.65" y1="237.26" y2="259.46" y3="286.86"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="collab2" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="88.26" y="53.7"/> + <line x="99.07" y="67.16"/> + <line x="77.44" y="67.16"/> + <close/> + <move x="90.75" y="69.04"/> + <line x="90.75" y="105.46"/> + <curve x1="90.76" x2="90.77" x3="90.77" y1="105.78" y2="106.11" y3="106.45"/> + <curve x1="90.77" x2="87.07" x3="81.36" y1="114.23" y2="121.17" y3="125.59"/> + <line x="104.2" y="125.59"/> + <line x="104.2" y="130.57"/> + <line x="66.79" y="130.57"/> + <curve x1="53.57" x2="42.81" x3="42.81" y1="130.57" y2="119.73" y3="106.45"/> + <curve x1="42.81" x2="46.5" x3="52.2" y1="98.68" y2="91.74" y3="87.33"/> + <line x="29.38" y="87.33"/> + <line x="29.38" y="82.35"/> + <line x="65.81" y="82.35"/> + <curve x1="66.14" x2="66.46" x3="66.79" y1="82.34" y2="82.33" y3="82.33"/> + <curve x1="74.51" x2="81.38" x3="85.77" y1="82.33" y2="86.02" y3="91.73"/> + <line x="85.77" y="69.04"/> + <close/> + <move x="27.5" y="74.02"/> + <line x="27.5" y="95.66"/> + <line x="14.04" y="84.84"/> + <close/> + <move x="66.79" y="87.33"/> + <curve x1="56.29" x2="47.81" x3="47.81" y1="87.33" y2="95.85" y3="106.45"/> + <curve x1="47.81" x2="56.29" x3="66.79" y1="117.04" y2="125.57" y3="125.57"/> + <curve x1="77.29" x2="85.77" x3="85.77" y1="125.57" y2="117.04" y3="106.45"/> + <curve x1="85.77" x2="77.29" x3="66.79" y1="95.85" y2="87.33" y3="87.33"/> + <close/> + <move x="106.08" y="117.26"/> + <line x="119.54" y="128.08"/> + <line x="106.08" y="138.9"/> + <close/> + <move x="161.59" y="53.7"/> + <line x="150.77" y="67.16"/> + <line x="172.41" y="67.16"/> + <close/> + <move x="159.1" y="69.04"/> + <line x="159.1" y="105.46"/> + <curve x1="159.08" x2="159.08" x3="159.08" y1="105.78" y2="106.11" y3="106.45"/> + <curve x1="159.08" x2="162.77" x3="168.49" y1="114.23" y2="121.17" y3="125.59"/> + <line x="145.65" y="125.59"/> + <line x="145.65" y="130.57"/> + <line x="183.05" y="130.57"/> + <curve x1="196.27" x2="207.03" x3="207.03" y1="130.57" y2="119.73" y3="106.45"/> + <curve x1="207.03" x2="203.35" x3="197.64" y1="98.68" y2="91.74" y3="87.33"/> + <line x="220.46" y="87.33"/> + <line x="220.46" y="82.35"/> + <line x="184.03" y="82.35"/> + <curve x1="183.71" x2="183.38" x3="183.05" y1="82.34" y2="82.33" y3="82.33"/> + <curve x1="175.34" x2="168.46" x3="164.08" y1="82.33" y2="86.02" y3="91.73"/> + <line x="164.08" y="69.04"/> + <close/> + <move x="222.34" y="74.02"/> + <line x="222.34" y="95.66"/> + <line x="235.8" y="84.84"/> + <close/> + <move x="183.05" y="87.33"/> + <curve x1="193.55" x2="202.03" x3="202.03" y1="87.33" y2="95.85" y3="106.45"/> + <curve x1="202.03" x2="193.55" x3="183.05" y1="117.04" y2="125.57" y3="125.57"/> + <curve x1="172.55" x2="164.08" x3="164.08" y1="125.57" y2="117.04" y3="106.45"/> + <curve x1="164.08" x2="172.55" x3="183.05" y1="95.85" y2="87.33" y3="87.33"/> + <close/> + <move x="143.76" y="117.26"/> + <line x="130.3" y="128.08"/> + <line x="143.76" y="138.9"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="collab3" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="17.49" y="18.84"/> + <line x="230.94" y="18.84"/> + <line x="230.94" y="172.14"/> + <line x="17.49" y="172.14"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="51.28" y="91.29"/> + <line x="91.76" y="91.29"/> + <line x="91.76" y="47.03"/> + <line x="51.28" y="47.03"/> + <close/> + <move x="104.3" y="91.29"/> + <line x="144.77" y="91.29"/> + <line x="144.77" y="47.03"/> + <line x="104.3" y="47.03"/> + <close/> + <move x="157.24" y="91.29"/> + <line x="197.72" y="91.29"/> + <line x="197.72" y="47.03"/> + <line x="157.24" y="47.03"/> + <close/> + <move x="51.28" y="144.97"/> + <line x="91.76" y="144.97"/> + <line x="91.76" y="100.7"/> + <line x="51.28" y="100.7"/> + <close/> + <move x="104.3" y="144.97"/> + <line x="144.77" y="144.97"/> + <line x="144.77" y="100.7"/> + <line x="104.3" y="100.7"/> + <close/> + <move x="157.24" y="144.97"/> + <line x="197.72" y="144.97"/> + <line x="197.72" y="100.7"/> + <line x="157.24" y="100.7"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="collab4" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="195.46" y="61.48"/> + <curve x1="194.87" x2="194.34" x3="194" y1="61.48" y2="61.76" y3="62.06"/> + <curve x1="193.67" x2="193.46" x3="193.27" y1="62.37" y2="62.7" y3="63.05"/> + <curve x1="192.89" x2="192.62" x3="192.35" y1="63.75" y2="64.58" y3="65.6"/> + <curve x1="191.83" x2="191.39" x3="191" y1="67.63" y2="70.4" y3="73.7"/> + <curve x1="190.2" x2="189.57" x3="188.98" y1="80.3" y2="89.03" y3="97.76"/> + <curve x1="188.38" x2="187.82" x3="187.17" y1="106.48" y2="115.2" y3="121.69"/> + <curve x1="186.92" x2="186.64" x3="186.36" y1="124.18" y2="125.94" y3="127.63"/> + <curve x1="186.22" x2="186.06" x3="185.95" y1="126.52" y2="125.64" y3="124.2"/> + <curve x1="185.55" x2="185.3" x3="185.04" y1="119.2" y2="112.46" y3="105.72"/> + <curve x1="184.79" x2="184.53" x3="184.11" y1="98.98" y2="92.23" y3="87.11"/> + <curve x1="183.9" x2="183.66" x3="183.33" y1="84.56" y2="82.42" y3="80.82"/> + <curve x1="183.16" x2="182.99" x3="182.71" y1="80.02" y2="79.37" y3="78.78"/> + <curve x1="182.58" x2="182.42" x3="182.13" y1="78.48" y2="78.2" y3="77.91"/> + <curve x1="181.84" x2="181.34" x3="180.75" y1="77.62" y2="77.31" y3="77.31"/> + <curve x1="179.72" x2="179.22" x3="178.94" y1="77.31" y2="78" y3="78.47"/> + <curve x1="178.66" x2="178.48" x3="178.3" y1="78.94" y2="79.43" y3="80.02"/> + <curve x1="177.95" x2="177.64" x3="177.33" y1="81.19" y2="82.72" y3="84.55"/> + <curve x1="176.73" x2="176.16" x3="175.56" y1="88.21" y2="93" y3="97.79"/> + <curve x1="174.97" x2="174.36" x3="173.68" y1="102.58" y2="107.35" y3="110.87"/> + <curve x1="173.45" x2="173.22" x3="172.99" y1="112.05" y2="112.79" y3="113.62"/> + <curve x1="172.82" x2="172.65" x3="172.49" y1="112.82" y2="112.14" y3="111.04"/> + <curve x1="171.98" x2="171.5" x3="170.98" y1="107.57" y2="102.87" y3="98.15"/> + <curve x1="170.46" x2="169.9" x3="169.17" y1="93.44" y2="88.71" y3="85.08"/> + <curve x1="168.8" x2="168.41" x3="167.9" y1="83.26" y2="81.73" y3="80.53"/> + <curve x1="167.64" x2="167.36" x3="166.95" y1="79.92" y2="79.39" y3="78.92"/> + <curve x1="166.53" x2="165.86" x3="165.05" y1="78.45" y2="77.99" y3="77.99"/> + <curve x1="164.49" x2="164.04" x3="163.79" y1="77.99" y2="78.28" y3="78.52"/> + <curve x1="163.54" x2="163.4" x3="163.29" y1="78.77" y2="78.99" y3="79.22"/> + <curve x1="163.05" x2="162.9" x3="162.75" y1="79.67" y2="80.14" y3="80.7"/> + <curve x1="162.45" x2="162.18" x3="161.92" y1="81.83" y2="83.31" y3="85.08"/> + <curve x1="161.4" x2="160.89" x3="160.36" y1="88.61" y2="93.26" y3="97.9"/> + <curve x1="159.82" x2="159.25" x3="158.62" y1="102.53" y2="107.16" y3="110.56"/> + <curve x1="158.41" x2="158.2" x3="157.99" y1="111.67" y2="112.36" y3="113.15"/> + <curve x1="157.9" x2="157.82" x3="157.73" y1="112.81" y2="112.63" y3="112.23"/> + <curve x1="157.18" x2="156.6" x3="156.02" y1="109.85" y2="106.59" y3="103.33"/> + <curve x1="155.43" x2="154.85" x3="154.27" y1="100.07" y2="96.8" y3="94.29"/> + <curve x1="153.99" x2="153.71" x3="153.39" y1="93.04" y2="91.99" y3="91.15"/> + <curve x1="153.24" x2="153.08" x3="152.84" y1="90.73" y2="90.37" y3="90.01"/> + <curve x1="152.59" x2="152.16" x3="151.22" y1="89.65" y2="89.05" y3="89.05"/> + <line x="151.21" y="89.05"/> + <line x="133.87" y="89.19"/> + <line x="133.89" y="92.19"/> + <line x="150.52" y="92.06"/> + <curve x1="150.55" x2="150.55" x3="150.58" y1="92.13" y2="92.12" y3="92.2"/> + <curve x1="150.81" x2="151.08" x3="151.35" y1="92.79" y2="93.78" y3="94.97"/> + <curve x1="151.9" x2="152.48" x3="153.06" y1="97.35" y2="100.6" y3="103.86"/> + <curve x1="153.65" x2="154.23" x3="154.81" y1="107.12" y2="110.39" y3="112.9"/> + <curve x1="155.09" x2="155.38" x3="155.69" y1="114.16" y2="115.21" y3="116.05"/> + <curve x1="155.85" x2="156" x3="156.25" y1="116.47" y2="116.83" y3="117.19"/> + <curve x1="156.49" x2="156.93" x3="157.87" y1="117.55" y2="118.14" y3="118.14"/> + <curve x1="158.76" x2="159.36" x3="159.7" y1="118.14" y2="117.57" y3="117.11"/> + <curve x1="160.04" x2="160.26" x3="160.47" y1="116.64" y2="116.14" y3="115.56"/> + <curve x1="160.89" x2="161.24" x3="161.57" y1="114.39" y2="112.89" y3="111.11"/> + <curve x1="162.23" x2="162.8" x3="163.34" y1="107.55" y2="102.89" y3="98.24"/> + <curve x1="163.87" x2="164.38" x3="164.89" y1="93.59" y2="88.95" y3="85.52"/> + <curve x1="165.07" x2="165.24" x3="165.42" y1="84.33" y2="83.55" y3="82.71"/> + <curve x1="165.69" x2="165.97" x3="166.23" y1="83.55" y2="84.39" y3="85.67"/> + <curve x1="166.92" x2="167.48" x3="168" y1="89.1" y2="93.78" y3="98.48"/> + <curve x1="168.52" x2="168.99" x3="169.52" y1="103.18" y2="107.88" y3="111.47"/> + <curve x1="169.78" x2="170.06" x3="170.39" y1="113.27" y2="114.78" y3="115.94"/> + <curve x1="170.56" x2="170.73" x3="171" y1="116.52" y2="117.01" y3="117.47"/> + <curve x1="171.28" x2="171.8" x3="172.81" y1="117.94" y2="118.64" y3="118.64"/> + <curve x1="173.7" x2="174.31" x3="174.66" y1="118.64" y2="118.07" y3="117.6"/> + <curve x1="175.01" x2="175.24" x3="175.46" y1="117.13" y2="116.61" y3="116.01"/> + <curve x1="175.91" x2="176.27" x3="176.63" y1="114.81" y2="113.27" y3="111.43"/> + <curve x1="177.33" x2="177.95" x3="178.54" y1="107.76" y2="102.95" y3="98.16"/> + <curve x1="179.14" x2="179.71" x3="180.29" y1="93.36" y2="88.58" y3="85.04"/> + <curve x1="180.41" x2="180.52" x3="180.64" y1="84.36" y2="84.01" y3="83.43"/> + <curve x1="180.81" x2="180.99" x3="181.12" y1="84.63" y2="85.7" y3="87.36"/> + <curve x1="181.53" x2="181.79" x3="182.04" y1="92.36" y2="99.09" y3="105.83"/> + <curve x1="182.3" x2="182.55" x3="182.96" y1="112.57" y2="119.32" y3="124.44"/> + <curve x1="183.16" x2="183.4" x3="183.72" y1="126.99" y2="129.13" y3="130.72"/> + <curve x1="183.88" x2="184.05" x3="184.32" y1="131.52" y2="132.17" y3="132.76"/> + <curve x1="184.45" x2="184.6" x3="184.88" y1="133.05" y2="133.34" y3="133.63"/> + <curve x1="185.17" x2="185.68" x3="186.27" y1="133.92" y2="134.24" y3="134.24"/> + <curve x1="186.95" x2="187.48" x3="187.76" y1="134.24" y2="133.85" y3="133.53"/> + <curve x1="188.04" x2="188.2" x3="188.35" y1="133.21" y2="132.89" y3="132.55"/> + <curve x1="188.64" x2="188.85" x3="189.05" y1="131.86" y2="131.05" y3="130.05"/> + <curve x1="189.47" x2="189.82" x3="190.15" y1="128.04" y2="125.29" y3="121.99"/> + <curve x1="190.81" x2="191.38" x3="191.97" y1="115.4" y2="106.68" y3="97.96"/> + <curve x1="192.57" x2="193.19" x3="193.97" y1="89.24" y2="80.53" y3="74.06"/> + <curve x1="194.33" x2="194.73" x3="195.14" y1="71.11" y2="68.81" y3="67.04"/> + <curve x1="195.36" x2="195.55" x3="195.68" y1="68.79" y2="70.94" y3="73.76"/> + <curve x1="195.97" x2="196.06" x3="196.18" y1="80.14" y2="88.71" y3="97.28"/> + <curve x1="196.31" x2="196.46" x3="196.87" y1="105.86" y2="114.43" y3="120.92"/> + <curve x1="197.08" x2="197.34" x3="197.73" y1="124.17" y2="126.88" y3="128.88"/> + <curve x1="197.92" x2="198.13" x3="198.45" y1="129.88" y2="130.7" y3="131.4"/> + <curve x1="198.61" x2="198.8" x3="199.12" y1="131.75" y2="132.08" y3="132.4"/> + <curve x1="199.44" x2="199.98" x3="200.59" y1="132.73" y2="133.04" y3="133.04"/> + <curve x1="201.2" x2="201.72" x3="202.04" y1="133.04" y2="132.73" y3="132.43"/> + <curve x1="202.35" x2="202.55" x3="202.72" y1="132.13" y2="131.81" y3="131.47"/> + <curve x1="203.07" x2="203.31" x3="203.56" y1="130.8" y2="130" y3="129.02"/> + <curve x1="204.05" x2="204.46" x3="204.85" y1="127.07" y2="124.42" y3="121.25"/> + <curve x1="205.64" x2="206.3" x3="206.96" y1="114.9" y2="106.51" y3="98.12"/> + <curve x1="207.62" x2="208.28" x3="209.04" y1="89.74" y2="81.36" y3="75.13"/> + <curve x1="209.42" x2="209.83" x3="210.25" y1="72.01" y2="69.42" y3="67.71"/> + <curve x1="210.29" x2="210.31" x3="210.35" y1="67.56" y2="67.53" y3="67.39"/> + <curve x1="210.61" x2="210.88" x3="211.14" y1="68.17" y2="68.97" y3="70.16"/> + <curve x1="211.84" x2="212.5" x3="213.12" y1="73.3" y2="77.58" y3="81.85"/> + <curve x1="213.74" x2="214.33" x3="214.9" y1="86.13" y2="90.41" y3="93.65"/> + <curve x1="215.19" x2="215.46" x3="215.77" y1="95.27" y2="96.62" y3="97.65"/> + <curve x1="215.92" x2="216.07" x3="216.31" y1="98.17" y2="98.6" y3="99.02"/> + <curve x1="216.43" x2="216.56" x3="216.84" y1="99.23" y2="99.45" y3="99.68"/> + <curve x1="217.11" x2="217.62" x3="218.19" y1="99.92" y2="100.18" y3="100.12"/> + <line x="218" y="100.13"/> + <line x="233.62" y="100.26"/> + <line x="233.64" y="97.26"/> + <line x="218.77" y="97.13"/> + <curve x1="218.72" x2="218.7" x3="218.64" y1="97.01" y2="96.98" y3="96.8"/> + <curve x1="218.41" x2="218.13" x3="217.85" y1="95.99" y2="94.7" y3="93.13"/> + <curve x1="217.3" x2="216.71" x3="216.09" y1="89.99" y2="85.72" y3="81.42"/> + <curve x1="215.47" x2="214.8" x3="214.07" y1="77.13" y2="72.82" y3="69.51"/> + <curve x1="213.7" x2="213.33" x3="212.88" y1="67.86" y2="66.47" y3="65.38"/> + <curve x1="212.65" x2="212.42" x3="212.07" y1="64.83" y2="64.36" y3="63.92"/> + <curve x1="211.72" x2="211.13" x3="210.28" y1="63.48" y2="62.97" y3="62.97"/> + <curve x1="209.66" x2="209.14" x3="208.83" y1="62.97" y2="63.28" y3="63.59"/> + <curve x1="208.52" x2="208.33" x3="208.16" y1="63.89" y2="64.21" y3="64.55"/> + <curve x1="207.82" x2="207.58" x3="207.34" y1="65.22" y2="66.02" y3="66.99"/> + <curve x1="206.86" x2="206.45" x3="206.06" y1="68.94" y2="71.6" y3="74.77"/> + <curve x1="205.29" x2="204.63" x3="203.97" y1="81.11" y2="89.5" y3="97.89"/> + <curve x1="203.31" x2="202.65" x3="201.88" y1="106.27" y2="114.65" y3="120.88"/> + <curve x1="201.5" x2="201.09" x3="200.66" y1="123.96" y2="126.5" y3="128.22"/> + <curve x1="200.33" x2="200.06" x3="199.86" y1="126.47" y2="123.88" y3="120.73"/> + <curve x1="199.46" x2="199.31" x3="199.18" y1="114.37" y2="105.81" y3="97.24"/> + <curve x1="199.06" x2="198.97" x3="198.67" y1="88.67" y2="80.1" y3="73.62"/> + <curve x1="198.52" x2="198.33" x3="198.04" y1="70.38" y2="67.68" y3="65.7"/> + <curve x1="197.89" x2="197.73" x3="197.49" y1="64.72" y2="63.92" y3="63.24"/> + <curve x1="197.37" x2="197.23" x3="196.96" y1="62.9" y2="62.58" y3="62.24"/> + <curve x1="196.7" x2="196.16" x3="195.46" y1="61.9" y2="61.48" y3="61.48"/> + <close/> + <move x="79.96" y="116.31"/> + <line x="67.33" y="80.95"/> + <line x="75.07" y="80.95"/> + <line x="84.02" y="107.12"/> + <line x="92.67" y="80.95"/> + <line x="100.25" y="80.95"/> + <line x="87.58" y="116.31"/> + <close/> + <move x="54.31" y="23.39"/> + <line x="69.27" y="42"/> + <line x="39.35" y="42"/> + <close/> + <move x="57.75" y="44.61"/> + <line x="57.75" y="75.99"/> + <curve x1="63.82" x2="73.33" x3="84" y1="68.09" y2="62.98" y3="62.98"/> + <curve x1="84.45" x2="84.9" x3="85.35" y1="62.98" y2="63" y3="63.01"/> + <line x="135.73" y="63.01"/> + <line x="135.77" y="63.01"/> + <line x="135.77" y="69.9"/> + <line x="135.73" y="69.9"/> + <line x="104.18" y="69.9"/> + <curve x1="112.09" x2="117.2" x3="117.2" y1="76.01" y2="85.61" y3="96.37"/> + <curve x1="117.2" x2="117.18" x3="117.16" y1="96.83" y2="97.29" y3="97.74"/> + <line x="117.16" y="148.1"/> + <line x="110.28" y="148.1"/> + <line x="110.28" y="116.72"/> + <curve x1="104.21" x2="94.71" x3="84.04" y1="124.62" y2="129.73" y3="129.73"/> + <curve x1="83.58" x2="83.13" x3="82.68" y1="129.73" y2="129.71" y3="129.7"/> + <line x="32.3" y="129.7"/> + <line x="32.27" y="129.7"/> + <line x="32.27" y="122.81"/> + <line x="32.3" y="122.81"/> + <line x="63.86" y="122.81"/> + <curve x1="55.95" x2="50.84" x3="50.84" y1="116.7" y2="107.1" y3="96.34"/> + <curve x1="50.84" x2="50.85" x3="50.87" y1="95.88" y2="95.42" y3="94.97"/> + <line x="50.87" y="44.61"/> + <close/> + <move x="138.34" y="51.5"/> + <line x="156.95" y="66.46"/> + <line x="138.34" y="81.42"/> + <close/> + <move x="84.04" y="69.93"/> + <curve x1="69.51" x2="57.79" x3="57.79" y1="69.93" y2="81.71" y3="96.37"/> + <curve x1="57.79" x2="61.5" x3="67.33" y1="104.61" y2="111.95" y3="116.79"/> + <curve x1="67.33" x2="67.33" x3="67.33" y1="116.79" y2="116.79" y3="116.79"/> + <curve x1="67.37" x2="67.41" x3="67.44" y1="116.82" y2="116.85" y3="116.88"/> + <curve x1="67.72" x2="68" x3="68.29" y1="117.11" y2="117.33" y3="117.55"/> + <curve x1="72.67" x2="78.1" x3="84" y1="120.84" y2="122.78" y3="122.78"/> + <curve x1="98.52" x2="110.24" x3="110.24" y1="122.78" y2="111" y3="96.34"/> + <curve x1="110.24" x2="106.54" x3="100.71" y1="88.1" y2="80.77" y3="75.93"/> + <curve x1="100.4" x2="100.08" x3="99.75" y1="75.67" y2="75.41" y3="75.17"/> + <curve x1="95.37" x2="89.94" x3="84.04" y1="71.87" y2="69.93" y3="69.93"/> + <close/> + <move x="29.66" y="111.29"/> + <line x="29.66" y="141.21"/> + <line x="11.05" y="126.25"/> + <close/> + <move x="128.68" y="150.71"/> + <line x="113.72" y="169.32"/> + <line x="98.76" y="150.71"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="communications manager" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="200.41" y="131.02"/> + <line x="176.67" y="147.91"/> + <line x="200.41" y="164.79"/> + <line x="200.41" y="153.3"/> + <line x="227.64" y="153.3"/> + <line x="227.64" y="142.51"/> + <line x="200.41" y="142.51"/> + <close/> + <move x="203.48" y="92.43"/> + <line x="203.48" y="103.92"/> + <line x="176.25" y="103.92"/> + <line x="176.25" y="114.71"/> + <line x="203.48" y="114.71"/> + <line x="203.48" y="126.2"/> + <line x="227.22" y="109.32"/> + <close/> + <move x="47.35" y="131.45"/> + <line x="47.35" y="142.94"/> + <line x="20.13" y="142.94"/> + <line x="20.13" y="153.74"/> + <line x="47.35" y="153.74"/> + <line x="47.35" y="165.23"/> + <line x="71.09" y="148.34"/> + <close/> + <move x="44.48" y="92.76"/> + <line x="20.75" y="109.64"/> + <line x="44.48" y="126.53"/> + <line x="44.48" y="115.04"/> + <line x="71.71" y="115.04"/> + <line x="71.71" y="104.25"/> + <line x="44.48" y="104.25"/> + <close/> + <move x="92.45" y="63.16"/> + <curve x1="88.57" x2="85.4" x3="85.4" y1="63.16" y2="66.33" y3="70.21"/> + <line x="85.4" y="164.21"/> + <curve x1="85.4" x2="88.57" x3="92.45" y1="168.08" y2="171.25" y3="171.25"/> + <line x="159.78" y="171.25"/> + <curve x1="163.65" x2="166.82" x3="166.82" y1="171.25" y2="168.08" y3="164.21"/> + <line x="166.82" y="70.21"/> + <curve x1="166.82" x2="163.65" x3="159.78" y1="66.33" y2="63.16" y3="63.16"/> + <close/> + <move x="71.39" y="73.84"/> + <curve x1="77.72" x2="82.87" x3="82.87" y1="73.84" y2="68.69" y3="62.36"/> + <line x="82.87" y="57.98"/> + <line x="38.96" y="57.87"/> + <line x="38.96" y="62.36"/> + <curve x1="38.96" x2="44.1" x3="50.43" y1="68.69" y2="73.84" y3="73.84"/> + <close/> + <move x="213.79" y="55.69"/> + <line x="213.79" y="34.67"/> + <curve x1="213.79" x2="208.65" x3="202.32" y1="28.34" y2="23.2" y3="23.2"/> + <line x="50.43" y="23.2"/> + <curve x1="44.1" x2="38.96" x3="38.96" y1="23.2" y2="28.34" y3="34.67"/> + <line x="38.96" y="55.63"/> + <close/> + <move x="202.32" y="73.84"/> + <curve x1="208.65" x2="213.79" x3="213.79" y1="73.84" y2="68.69" y3="62.36"/> + <line x="213.79" y="57.93"/> + <line x="169.05" y="57.77"/> + <line x="169.05" y="62.36"/> + <curve x1="169.05" x2="174.19" x3="180.52" y1="68.69" y2="73.84" y3="73.84"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="50.43" y="70.84"/> + <curve x1="45.71" x2="41.96" x3="41.96" y1="70.84" y2="67.08" y3="62.36"/> + <line x="41.96" y="60.79"/> + <line x="79.87" y="60.84"/> + <line x="79.87" y="62.36"/> + <curve x1="79.87" x2="76.11" x3="71.39" y1="67.08" y2="70.84" y3="70.84"/> + <close/> + <move x="41.96" y="52.75"/> + <line x="41.96" y="34.67"/> + <curve x1="41.96" x2="45.71" x3="50.43" y1="29.95" y2="26.2" y3="26.2"/> + <line x="202.32" y="26.2"/> + <curve x1="207.04" x2="210.79" x3="210.79" y1="26.2" y2="29.95" y3="34.67"/> + <line x="210.79" y="52.79"/> + <close/> + <move x="180.52" y="70.84"/> + <curve x1="175.8" x2="172.05" x3="172.05" y1="70.84" y2="67.08" y3="62.36"/> + <line x="172.05" y="61.36"/> + <line x="210.79" y="61.27"/> + <line x="210.79" y="62.36"/> + <curve x1="210.79" x2="207.04" x3="202.32" y1="67.08" y2="70.84" y3="70.84"/> + <close/> + <move x="93.53" y="72.06"/> + <line x="93.53" y="99.36"/> + <line x="159.16" y="99.36"/> + <line x="159.16" y="72.06"/> + <close/> + <move x="93.53" y="106.2"/> + <line x="93.53" y="161.97"/> + <line x="159.06" y="161.97"/> + <line x="159.06" y="106.2"/> + <close/> + <move x="92.45" y="66.16"/> + <line x="159.78" y="66.16"/> + <curve x1="162.04" x2="163.82" x3="163.82" y1="66.16" y2="67.94" y3="70.21"/> + <line x="163.82" y="164.21"/> + <curve x1="163.82" x2="162.04" x3="159.78" y1="166.47" y2="168.25" y3="168.25"/> + <line x="92.45" y="168.25"/> + <curve x1="90.18" x2="88.4" x3="88.4" y1="168.25" y2="166.47" y3="164.21"/> + <line x="88.4" y="70.21"/> + <curve x1="88.4" x2="90.18" x3="92.45" y1="67.94" y2="66.16" y3="66.16"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="contact center express" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="157.73" y="102.74"/> + <line x="163.17" y="104.12"/> + <quad x1="161.46" x2="157" y1="110.83" y2="114.37"/> + <quad x1="152.56" x2="146.13" y1="117.88" y2="117.88"/> + <quad x1="139.48" x2="135.29" y1="117.88" y2="115.18"/> + <quad x1="131.14" x2="128.95" y1="112.46" y2="107.32"/> + <quad x1="126.79" x2="126.79" y1="102.18" y2="96.29"/> + <quad x1="126.79" x2="129.23" y1="89.86" y2="85.08"/> + <quad x1="131.7" x2="136.22" y1="80.28" y2="77.81"/> + <quad x1="140.77" x2="146.22" y1="75.31" y2="75.31"/> + <quad x1="152.39" x2="156.6" y1="75.31" y2="78.46"/> + <quad x1="160.82" x2="162.47" y1="81.6" y2="87.3"/> + <line x="157.11" y="88.56"/> + <quad x1="155.68" x2="152.95" y1="84.07" y2="82.02"/> + <quad x1="150.23" x2="146.1" y1="79.97" y2="79.97"/> + <quad x1="141.36" x2="138.16" y1="79.97" y2="82.25"/> + <quad x1="134.99" x2="133.69" y1="84.52" y2="88.37"/> + <quad x1="132.4" x2="132.4" y1="92.19" y2="96.26"/> + <quad x1="132.4" x2="133.92" y1="101.51" y2="105.44"/> + <quad x1="135.46" x2="138.69" y1="109.34" y2="111.28"/> + <quad x1="141.92" x2="145.68" y1="113.22" y2="113.22"/> + <quad x1="150.26" x2="153.43" y1="113.22" y2="110.58"/> + <quad x1="156.6" x2="157.73" y1="107.94" y2="102.74"/> + <close/> + <move x="116.17" y="102.74"/> + <line x="121.62" y="104.12"/> + <quad x1="119.91" x2="115.44" y1="110.83" y2="114.37"/> + <quad x1="111.01" x2="104.58" y1="117.88" y2="117.88"/> + <quad x1="97.92" x2="93.74" y1="117.88" y2="115.18"/> + <quad x1="89.58" x2="87.39" y1="112.46" y2="107.32"/> + <quad x1="85.23" x2="85.23" y1="102.18" y2="96.29"/> + <quad x1="85.23" x2="87.67" y1="89.86" y2="85.08"/> + <quad x1="90.15" x2="94.67" y1="80.28" y2="77.81"/> + <quad x1="99.21" x2="104.66" y1="75.31" y2="75.31"/> + <quad x1="110.84" x2="115.05" y1="75.31" y2="78.46"/> + <quad x1="119.26" x2="120.92" y1="81.6" y2="87.3"/> + <line x="115.56" y="88.56"/> + <quad x1="114.12" x2="111.4" y1="84.07" y2="82.02"/> + <quad x1="108.68" x2="104.55" y1="79.97" y2="79.97"/> + <quad x1="99.8" x2="96.6" y1="79.97" y2="82.25"/> + <quad x1="93.43" x2="92.14" y1="84.52" y2="88.37"/> + <quad x1="90.85" x2="90.85" y1="92.19" y2="96.26"/> + <quad x1="90.85" x2="92.36" y1="101.51" y2="105.44"/> + <quad x1="93.91" x2="97.14" y1="109.34" y2="111.28"/> + <quad x1="100.37" x2="104.13" y1="113.22" y2="113.22"/> + <quad x1="108.7" x2="111.88" y1="113.22" y2="110.58"/> + <quad x1="115.05" x2="116.17" y1="107.94" y2="102.74"/> + <close/> + <move x="141.09" y="40.52"/> + <line x="129.6" y="40.52"/> + <line x="129.6" y="67.74"/> + <line x="118.81" y="67.74"/> + <line x="118.81" y="40.52"/> + <line x="107.32" y="40.52"/> + <line x="124.2" y="16.78"/> + <close/> + <move x="141.09" y="152.67"/> + <line x="129.6" y="152.67"/> + <line x="129.6" y="125.45"/> + <line x="118.81" y="125.45"/> + <line x="118.81" y="152.67"/> + <line x="107.32" y="152.67"/> + <line x="124.2" y="176.41"/> + <close/> + <move x="201.08" y="79.71"/> + <line x="177.35" y="96.6"/> + <line x="201.08" y="113.48"/> + <line x="201.08" y="101.99"/> + <line x="228.31" y="101.99"/> + <line x="228.31" y="91.2"/> + <line x="201.08" y="91.2"/> + <close/> + <move x="47.32" y="79.71"/> + <line x="47.32" y="91.2"/> + <line x="20.1" y="91.2"/> + <line x="20.1" y="101.99"/> + <line x="47.32" y="101.99"/> + <line x="47.32" y="113.48"/> + <line x="71.06" y="96.6"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="content recording streaming server" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="158.73" y="136.55"/> + <line x="163.7" y="136.55"/> + <line x="163.7" y="164.86"/> + <line x="158.73" y="164.86"/> + <close/> + <move x="143.24" y="136.55"/> + <line x="148.21" y="136.55"/> + <line x="148.21" y="164.86"/> + <line x="143.24" y="164.86"/> + <close/> + <move x="185.9" y="133.64"/> + <line x="219.18" y="133.64"/> + <line x="219.18" y="167.77"/> + <line x="185.9" y="167.77"/> + <close/> + <move x="82.17" y="132"/> + <line x="118.02" y="150.71"/> + <line x="82.17" y="169.41"/> + <close/> + <move x="61.05" y="150.71"/> + <arc large-arc-flag="0" rx="16.9" ry="16.9" sweep-flag="1" x="44.15" x-axis-rotation="0" y="167.6"/> + <arc large-arc-flag="0" rx="16.9" ry="16.9" sweep-flag="1" x="27.26" x-axis-rotation="0" y="150.71"/> + <arc large-arc-flag="0" rx="16.9" ry="16.9" sweep-flag="1" x="44.15" x-axis-rotation="0" y="133.81"/> + <arc large-arc-flag="0" rx="16.9" ry="16.9" sweep-flag="1" x="61.05" x-axis-rotation="0" y="150.71"/> + <close/> + <move x="200.98" y="72.14"/> + <line x="177.24" y="89.02"/> + <line x="200.98" y="105.91"/> + <line x="200.98" y="94.42"/> + <line x="228.2" y="94.42"/> + <line x="228.2" y="83.62"/> + <line x="200.98" y="83.62"/> + <close/> + <move x="204.47" y="22.78"/> + <line x="204.47" y="34.27"/> + <line x="177.24" y="34.27"/> + <line x="177.24" y="45.06"/> + <line x="204.47" y="45.06"/> + <line x="204.47" y="56.55"/> + <line x="228.2" y="39.67"/> + <close/> + <move x="48.54" y="71.85"/> + <line x="48.54" y="83.34"/> + <line x="21.32" y="83.34"/> + <line x="21.32" y="94.13"/> + <line x="48.54" y="94.13"/> + <line x="48.54" y="105.62"/> + <line x="72.28" y="88.74"/> + <close/> + <move x="45.05" y="22.78"/> + <line x="21.32" y="39.67"/> + <line x="45.05" y="56.55"/> + <line x="45.05" y="45.06"/> + <line x="72.28" y="45.06"/> + <line x="72.28" y="34.27"/> + <line x="45.05" y="34.27"/> + <close/> + <move x="149.54" y="33.86"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="132.4" x-axis-rotation="0" y="51"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="140.52" x-axis-rotation="0" y="65.54"/> + <curve x1="134.2" x2="130.63" x3="130.63" y1="73.03" y2="82.88" y3="92.63"/> + <line x="130.63" y="109.28"/> + <line x="168.44" y="109.28"/> + <line x="168.44" y="92.63"/> + <curve x1="168.44" x2="163.97" x3="158.05" y1="82.77" y2="73.31" y3="65.84"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="166.67" x-axis-rotation="0" y="51"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="149.54" x-axis-rotation="0" y="33.86"/> + <close/> + <move x="100.16" y="33.86"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="83.03" x-axis-rotation="0" y="51"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="91.15" x-axis-rotation="0" y="65.54"/> + <curve x1="84.83" x2="81.25" x3="81.25" y1="73.03" y2="82.88" y3="92.63"/> + <line x="81.25" y="109.28"/> + <line x="119.06" y="109.28"/> + <line x="119.06" y="92.63"/> + <curve x1="119.06" x2="114.6" x3="108.68" y1="82.77" y2="73.31" y3="65.84"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="117.29" x-axis-rotation="0" y="51"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="100.16" x-axis-rotation="0" y="33.86"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="content router" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="165.71" y="165.43"/> + <line x="173.2" y="154.11"/> + <line x="130.74" y="126"/> + <line x="135.15" y="119.33"/> + <line x="177.62" y="147.44"/> + <line x="184.74" y="136.68"/> + <line x="199.68" y="167.41"/> + <close/> + <move x="165.43" y="26.72"/> + <line x="172.92" y="38.04"/> + <line x="130.45" y="66.15"/> + <line x="134.87" y="72.82"/> + <line x="177.34" y="44.71"/> + <line x="184.46" y="55.47"/> + <line x="199.4" y="24.74"/> + <close/> + <move x="186.49" y="78.43"/> + <line x="186.49" y="92.01"/> + <line x="135.56" y="92.01"/> + <line x="135.56" y="100.01"/> + <line x="186.49" y="100.01"/> + <line x="186.49" y="112.91"/> + <line x="215.9" y="95.54"/> + <close/> + <move x="83" y="78.43"/> + <line x="83" y="92.01"/> + <line x="32.07" y="92.01"/> + <line x="32.07" y="100.01"/> + <line x="83" y="100.01"/> + <line x="83" y="112.91"/> + <line x="112.42" y="95.54"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="csr 1000v" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="79.37" y="166.21"/> + <curve x1="72.81" x2="64.42" x3="64.42" y1="165.85" y2="163.73" y3="157.42"/> + <curve x1="64.42" x2="68.41" x3="72.93" y1="151.24" y2="149.23" y3="147.17"/> + <curve x1="75.11" x2="78.98" x3="88.64" y1="137.83" y2="132.03" y3="128.89"/> + <curve x1="98.8" x2="108.55" x3="113.44" y1="126.38" y2="130.7" y3="139.7"/> + <curve x1="116.26" x2="119.83" x3="123.23" y1="137.73" y2="137.39" y3="139.37"/> + <curve x1="127.14" x2="128.46" x3="129.11" y1="141.8" y2="144.37" y3="146.98"/> + <curve x1="133.97" x2="138.93" x3="137.82" y1="148.28" y2="152.07" y3="157.83"/> + <curve x1="136.79" x2="133.03" x3="127.29" y1="162.73" y2="164.8" y3="165.62"/> + <curve x1="122.96" x2="114.82" x3="110.54" y1="166.2" y2="165.78" y3="165"/> + <curve x1="106.51" x2="101.5" x3="94.02" y1="169" y2="172.32" y3="172.32"/> + <curve x1="88.48" x2="83.17" x3="79.37" y1="172.22" y2="169.95" y3="166.21"/> + <close/> + <move x="144.67" y="132.13"/> + <line x="122.6" y="110.48"/> + <line x="113.62" y="119.64"/> + <line x="106.75" y="86.62"/> + <line x="140" y="92.74"/> + <line x="131.1" y="101.82"/> + <line x="153.17" y="123.46"/> + <close/> + <move x="95.15" y="90.13"/> + <line x="73.5" y="112.2"/> + <line x="82.66" y="121.18"/> + <line x="49.64" y="128.05"/> + <line x="55.76" y="94.8"/> + <line x="64.84" y="103.7"/> + <line x="86.48" y="81.63"/> + <close/> + <move x="53.48" y="24.35"/> + <line x="75.56" y="45.99"/> + <line x="84.54" y="36.83"/> + <line x="91.4" y="69.86"/> + <line x="58.16" y="63.73"/> + <line x="67.06" y="54.65"/> + <line x="44.99" y="33.01"/> + <close/> + <move x="102.1" y="66.1"/> + <line x="123.75" y="44.03"/> + <line x="114.59" y="35.04"/> + <line x="147.61" y="28.18"/> + <line x="141.49" y="61.42"/> + <line x="132.41" y="52.52"/> + <line x="110.76" y="74.59"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="database relational" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="98.62" y="27.59"/> + <curve x1="79.45" x2="62.06" x3="49.17" y1="27.59" y2="30.23" y3="35.17"/> + <curve x1="42.72" x2="37.37" x3="33.49" y1="37.64" y2="40.68" y3="44.45"/> + <curve x1="29.61" x2="27.2" x3="27.2" y1="48.21" y2="52.87" y3="57.99"/> + <line x="27.2" y="57.99"/> + <line x="27.28" y="137.51"/> + <line x="27.58" y="138.12"/> + <curve x1="32.03" x2="42.9" x3="55.25" y1="147.32" y2="152.82" y3="156.39"/> + <curve x1="67.6" x2="81.71" x3="93.49" y1="159.96" y2="161.48" y3="161.48"/> + <curve x1="107.04" x2="122.63" x3="135.7" y1="161.48" y2="159.5" y3="155.62"/> + <curve x1="148.78" x2="159.77" x3="162.94" y1="151.73" y2="146.25" y3="137.13"/> + <line x="163.11" y="136.66"/> + <line x="163.63" y="58"/> + <line x="163.63" y="57.99"/> + <curve x1="163.63" x2="160.85" x3="156.8" y1="53.07" y2="48.72" y3="45.11"/> + <curve x1="152.75" x2="147.31" x3="141.06" y1="41.49" y2="38.43" y3="35.86"/> + <curve x1="128.56" x2="112.8" x3="98.62" y1="30.72" y2="27.59" y3="27.59"/> + <close/> + <move x="98.62" y="33.59"/> + <curve x1="111.9" x2="127.14" x3="138.78" y1="33.59" y2="36.62" y3="41.41"/> + <curve x1="144.6" x2="149.51" x3="152.8" y1="43.8" y2="46.64" y3="49.58"/> + <curve x1="156.09" x2="157.63" x3="157.63" y1="52.52" y2="55.36" y3="57.99"/> + <line x="157.63" y="57.99"/> + <curve x1="157.63" x2="156.07" x3="152.72" y1="60.88" y2="63.66" y3="66.49"/> + <curve x1="149.37" x2="144.34" x3="138.35" y1="69.32" y2="71.96" y3="74.12"/> + <curve x1="126.37" x2="110.6" x3="96.62" y1="78.45" y2="80.91" y3="80.91"/> + <curve x1="77.2" x2="60.91" x3="49.75" y1="80.91" y2="77.91" y3="73.36"/> + <curve x1="44.17" x2="39.88" x3="37.13" y1="71.09" y2="68.43" y3="65.74"/> + <curve x1="34.38" x2="33.2" x3="33.2" y1="63.04" y2="60.47" y3="57.99"/> + <curve x1="33.2" x2="34.62" x3="37.67" y1="54.68" y2="51.71" y3="48.75"/> + <curve x1="40.71" x2="45.38" x3="51.31" y1="45.8" y2="43.05" y3="40.77"/> + <curve x1="63.18" x2="80.01" x3="98.62" y1="36.23" y2="33.59" y3="33.59"/> + <close/> + <move x="157.55" y="70.13"/> + <line x="157.11" y="135.47"/> + <curve x1="155.01" x2="146.1" x3="133.99" y1="140.73" y2="146.27" y3="149.86"/> + <curve x1="121.64" x2="106.44" x3="93.49" y1="153.53" y2="155.48" y3="155.48"/> + <curve x1="82.23" x2="68.52" x3="56.91" y1="155.48" y2="153.98" y3="150.63"/> + <curve x1="45.61" x2="36.61" x3="33.28" y1="147.36" y2="142.21" y3="136"/> + <line x="33.21" y="70.24"/> + <curve x1="36.73" x2="41.53" x3="47.49" y1="73.6" y2="76.5" y3="78.92"/> + <curve x1="59.67" x2="76.59" x3="96.62" y1="83.88" y2="86.91" y3="86.91"/> + <curve x1="111.3" x2="127.53" x3="140.39" y1="86.91" y2="84.41" y3="79.77"/> + <curve x1="146.82" x2="152.42" x3="156.59" y1="77.44" y2="74.6" y3="71.07"/> + <curve x1="156.94" x2="157.22" x3="157.55" y1="70.78" y2="70.44" y3="70.13"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="115.03" name="data center" strokewidth="inherit" w="167.16"> + <connections/> + <foreground> + <path> + <move x="60.51" y="6.4"/> + <line x="60.51" y="7.4"/> + <line x="60.51" y="21.05"/> + <line x="74.13" y="21.05"/> + <line x="74.13" y="6.4"/> + <close/> + <move x="76.77" y="6.4"/> + <line x="76.77" y="7.4"/> + <line x="76.77" y="21.05"/> + <line x="90.39" y="21.05"/> + <line x="90.39" y="6.4"/> + <close/> + <move x="93.03" y="6.4"/> + <line x="93.03" y="7.4"/> + <line x="93.03" y="21.05"/> + <line x="106.65" y="21.05"/> + <line x="106.65" y="6.4"/> + <close/> + <move x="62.51" y="8.4"/> + <line x="72.13" y="8.4"/> + <line x="72.13" y="19.05"/> + <line x="62.51" y="19.05"/> + <close/> + <move x="78.77" y="8.4"/> + <line x="88.39" y="8.4"/> + <line x="88.39" y="19.05"/> + <line x="78.77" y="19.05"/> + <close/> + <move x="95.03" y="8.4"/> + <line x="104.65" y="8.4"/> + <line x="104.65" y="19.05"/> + <line x="95.03" y="19.05"/> + <close/> + <move x="60.51" y="25.14"/> + <line x="60.51" y="26.14"/> + <line x="60.51" y="39.79"/> + <line x="74.13" y="39.79"/> + <line x="74.13" y="25.14"/> + <close/> + <move x="76.77" y="25.14"/> + <line x="76.77" y="26.14"/> + <line x="76.77" y="39.79"/> + <line x="90.39" y="39.79"/> + <line x="90.39" y="25.14"/> + <close/> + <move x="93.03" y="25.14"/> + <line x="93.03" y="26.14"/> + <line x="93.03" y="39.79"/> + <line x="106.65" y="39.79"/> + <line x="106.65" y="25.14"/> + <close/> + <move x="62.51" y="27.14"/> + <line x="72.13" y="27.14"/> + <line x="72.13" y="37.79"/> + <line x="62.51" y="37.79"/> + <close/> + <move x="78.77" y="27.14"/> + <line x="88.39" y="27.14"/> + <line x="88.39" y="37.79"/> + <line x="78.77" y="37.79"/> + <close/> + <move x="95.03" y="27.14"/> + <line x="104.65" y="27.14"/> + <line x="104.65" y="37.79"/> + <line x="95.03" y="37.79"/> + <close/> + <move x="5.25" y="43.87"/> + <line x="5.25" y="44.87"/> + <line x="5.25" y="58.51"/> + <line x="18.88" y="58.51"/> + <line x="18.88" y="43.87"/> + <close/> + <move x="21.51" y="43.87"/> + <line x="21.51" y="44.87"/> + <line x="21.51" y="58.51"/> + <line x="35.14" y="58.51"/> + <line x="35.14" y="43.87"/> + <close/> + <move x="37.77" y="43.87"/> + <line x="37.77" y="44.87"/> + <line x="37.77" y="58.51"/> + <line x="51.4" y="58.51"/> + <line x="51.4" y="43.87"/> + <close/> + <move x="115.77" y="43.87"/> + <line x="115.77" y="44.87"/> + <line x="115.77" y="58.51"/> + <line x="129.39" y="58.51"/> + <line x="129.39" y="43.87"/> + <close/> + <move x="132.03" y="43.87"/> + <line x="132.03" y="44.87"/> + <line x="132.03" y="58.51"/> + <line x="145.65" y="58.51"/> + <line x="145.65" y="43.87"/> + <close/> + <move x="148.29" y="43.87"/> + <line x="148.29" y="44.87"/> + <line x="148.29" y="58.51"/> + <line x="161.91" y="58.51"/> + <line x="161.91" y="43.87"/> + <close/> + <move x="60.51" y="43.88"/> + <line x="60.51" y="44.88"/> + <line x="60.51" y="58.52"/> + <line x="74.13" y="58.52"/> + <line x="74.13" y="43.88"/> + <close/> + <move x="76.77" y="43.88"/> + <line x="76.77" y="44.88"/> + <line x="76.77" y="58.52"/> + <line x="90.39" y="58.52"/> + <line x="90.39" y="43.88"/> + <close/> + <move x="93.03" y="43.88"/> + <line x="93.03" y="44.88"/> + <line x="93.03" y="58.52"/> + <line x="106.65" y="58.52"/> + <line x="106.65" y="43.88"/> + <close/> + <move x="7.25" y="45.87"/> + <line x="16.88" y="45.87"/> + <line x="16.88" y="56.51"/> + <line x="7.25" y="56.51"/> + <close/> + <move x="23.51" y="45.87"/> + <line x="33.14" y="45.87"/> + <line x="33.14" y="56.51"/> + <line x="23.51" y="56.51"/> + <close/> + <move x="39.77" y="45.87"/> + <line x="49.4" y="45.87"/> + <line x="49.4" y="56.51"/> + <line x="39.77" y="56.51"/> + <close/> + <move x="117.77" y="45.87"/> + <line x="127.39" y="45.87"/> + <line x="127.39" y="56.51"/> + <line x="117.77" y="56.51"/> + <close/> + <move x="134.03" y="45.87"/> + <line x="143.65" y="45.87"/> + <line x="143.65" y="56.51"/> + <line x="134.03" y="56.51"/> + <close/> + <move x="150.29" y="45.87"/> + <line x="159.91" y="45.87"/> + <line x="159.91" y="56.51"/> + <line x="150.29" y="56.51"/> + <close/> + <move x="62.51" y="45.88"/> + <line x="72.13" y="45.88"/> + <line x="72.13" y="56.52"/> + <line x="62.51" y="56.52"/> + <close/> + <move x="78.77" y="45.88"/> + <line x="88.39" y="45.88"/> + <line x="88.39" y="56.52"/> + <line x="78.77" y="56.52"/> + <close/> + <move x="95.03" y="45.88"/> + <line x="104.65" y="45.88"/> + <line x="104.65" y="56.52"/> + <line x="95.03" y="56.52"/> + <close/> + <move x="5.25" y="62.61"/> + <line x="5.25" y="63.61"/> + <line x="5.25" y="77.25"/> + <line x="18.88" y="77.25"/> + <line x="18.88" y="62.61"/> + <close/> + <move x="21.51" y="62.61"/> + <line x="21.51" y="63.61"/> + <line x="21.51" y="77.25"/> + <line x="35.14" y="77.25"/> + <line x="35.14" y="62.61"/> + <close/> + <move x="37.77" y="62.61"/> + <line x="37.77" y="63.61"/> + <line x="37.77" y="77.25"/> + <line x="51.4" y="77.25"/> + <line x="51.4" y="62.61"/> + <close/> + <move x="115.77" y="62.61"/> + <line x="115.77" y="63.61"/> + <line x="115.77" y="77.25"/> + <line x="129.39" y="77.25"/> + <line x="129.39" y="62.61"/> + <close/> + <move x="132.03" y="62.61"/> + <line x="132.03" y="63.61"/> + <line x="132.03" y="77.25"/> + <line x="145.65" y="77.25"/> + <line x="145.65" y="62.61"/> + <close/> + <move x="148.29" y="62.61"/> + <line x="148.29" y="63.61"/> + <line x="148.29" y="77.25"/> + <line x="161.91" y="77.25"/> + <line x="161.91" y="62.61"/> + <close/> + <move x="60.51" y="62.62"/> + <line x="60.51" y="63.62"/> + <line x="60.51" y="77.26"/> + <line x="74.13" y="77.26"/> + <line x="74.13" y="62.62"/> + <close/> + <move x="76.77" y="62.62"/> + <line x="76.77" y="63.62"/> + <line x="76.77" y="77.26"/> + <line x="90.39" y="77.26"/> + <line x="90.39" y="62.62"/> + <close/> + <move x="93.03" y="62.62"/> + <line x="93.03" y="63.62"/> + <line x="93.03" y="77.26"/> + <line x="106.65" y="77.26"/> + <line x="106.65" y="62.62"/> + <close/> + <move x="7.25" y="64.61"/> + <line x="16.88" y="64.61"/> + <line x="16.88" y="75.25"/> + <line x="7.25" y="75.25"/> + <close/> + <move x="23.51" y="64.61"/> + <line x="33.14" y="64.61"/> + <line x="33.14" y="75.25"/> + <line x="23.51" y="75.25"/> + <close/> + <move x="39.77" y="64.61"/> + <line x="49.4" y="64.61"/> + <line x="49.4" y="75.25"/> + <line x="39.77" y="75.25"/> + <close/> + <move x="117.77" y="64.61"/> + <line x="127.39" y="64.61"/> + <line x="127.39" y="75.25"/> + <line x="117.77" y="75.25"/> + <close/> + <move x="134.03" y="64.61"/> + <line x="143.65" y="64.61"/> + <line x="143.65" y="75.25"/> + <line x="134.03" y="75.25"/> + <close/> + <move x="150.29" y="64.61"/> + <line x="159.91" y="64.61"/> + <line x="159.91" y="75.25"/> + <line x="150.29" y="75.25"/> + <close/> + <move x="62.51" y="64.62"/> + <line x="72.13" y="64.62"/> + <line x="72.13" y="75.26"/> + <line x="62.51" y="75.26"/> + <close/> + <move x="78.77" y="64.62"/> + <line x="88.39" y="64.62"/> + <line x="88.39" y="75.26"/> + <line x="78.77" y="75.26"/> + <close/> + <move x="95.03" y="64.62"/> + <line x="104.65" y="64.62"/> + <line x="104.65" y="75.26"/> + <line x="95.03" y="75.26"/> + <close/> + <move x="5.25" y="81.34"/> + <line x="5.25" y="82.34"/> + <line x="5.25" y="95.99"/> + <line x="18.88" y="95.99"/> + <line x="18.88" y="81.34"/> + <close/> + <move x="21.51" y="81.34"/> + <line x="21.51" y="82.34"/> + <line x="21.51" y="95.99"/> + <line x="35.14" y="95.99"/> + <line x="35.14" y="81.34"/> + <close/> + <move x="37.77" y="81.34"/> + <line x="37.77" y="82.34"/> + <line x="37.77" y="95.99"/> + <line x="51.4" y="95.99"/> + <line x="51.4" y="81.34"/> + <close/> + <move x="115.77" y="81.34"/> + <line x="115.77" y="82.34"/> + <line x="115.77" y="95.99"/> + <line x="129.39" y="95.99"/> + <line x="129.39" y="81.34"/> + <close/> + <move x="132.03" y="81.34"/> + <line x="132.03" y="82.34"/> + <line x="132.03" y="95.99"/> + <line x="145.65" y="95.99"/> + <line x="145.65" y="81.34"/> + <close/> + <move x="148.29" y="81.34"/> + <line x="148.29" y="82.34"/> + <line x="148.29" y="95.99"/> + <line x="161.91" y="95.99"/> + <line x="161.91" y="81.34"/> + <close/> + <move x="7.25" y="83.34"/> + <line x="16.88" y="83.34"/> + <line x="16.88" y="93.99"/> + <line x="7.25" y="93.99"/> + <close/> + <move x="23.51" y="83.34"/> + <line x="33.14" y="83.34"/> + <line x="33.14" y="93.99"/> + <line x="23.51" y="93.99"/> + <close/> + <move x="39.77" y="83.34"/> + <line x="49.4" y="83.34"/> + <line x="49.4" y="93.99"/> + <line x="39.77" y="93.99"/> + <close/> + <move x="117.77" y="83.34"/> + <line x="127.39" y="83.34"/> + <line x="127.39" y="93.99"/> + <line x="117.77" y="93.99"/> + <close/> + <move x="134.03" y="83.34"/> + <line x="143.65" y="83.34"/> + <line x="143.65" y="93.99"/> + <line x="134.03" y="93.99"/> + <close/> + <move x="150.29" y="83.34"/> + <line x="159.91" y="83.34"/> + <line x="159.91" y="93.99"/> + <line x="150.29" y="93.99"/> + <close/> + <move x="54.55" y="0"/> + <line x="54.55" y="38.84"/> + <line x="0" y="38.84"/> + <line x="0" y="115.03"/> + <line x="1" y="115.03"/> + <line x="167.16" y="115.03"/> + <line x="167.16" y="38.84"/> + <line x="113.24" y="38.84"/> + <line x="113.24" y="0"/> + <close/> + <move x="56.55" y="2"/> + <line x="111.24" y="2"/> + <line x="111.24" y="40.84"/> + <line x="165.16" y="40.84"/> + <line x="165.16" y="113.03"/> + <line x="2" y="113.03"/> + <line x="2" y="40.84"/> + <line x="56.55" y="40.84"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="da decoder" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="202.33" y="30.16"/> + <curve x1="202.94" x2="203.86" x3="205.11" y1="32.28" y2="34.99" y3="38.28"/> + <line x="209.19" y="49.12"/> + <line x="195.92" y="49.12"/> + <line x="200.22" y="37.64"/> + <curve x1="201.13" x2="201.83" x3="202.33" y1="35.17" y2="32.67" y3="30.16"/> + <close/> + <move x="199.66" y="26.05"/> + <line x="184.63" y="65.19"/> + <line x="190.13" y="65.19"/> + <line x="194.43" y="53.34"/> + <line x="210.8" y="53.34"/> + <line x="215.36" y="65.19"/> + <line x="221.26" y="65.19"/> + <line x="205.24" y="26.05"/> + <close/> + <move x="199.76" y="77.72"/> + <line x="202.68" y="110.1"/> + <line x="194.69" y="106.41"/> + <line x="173.01" y="153.36"/> + <line x="75.74" y="153.58"/> + <line x="75.71" y="138.58"/> + <line x="163.4" y="138.39"/> + <line x="181.07" y="100.13"/> + <line x="173.22" y="96.5"/> + <close/> + <move x="32.16" y="132.39"/> + <line x="40.39" y="132.39"/> + <curve x1="43.47" x2="45.7" x3="47.09" y1="132.39" y2="132.66" y3="133.19"/> + <curve x1="49.01" x2="50.64" x3="51.97" y1="133.94" y2="135.42" y3="137.62"/> + <curve x1="53.33" x2="54" x3="54" y1="139.81" y2="142.96" y3="147.05"/> + <curve x1="54" x2="53.66" x3="52.96" y1="150" y2="152.52" y3="154.61"/> + <curve x1="52.28" x2="51.33" x3="50.1" y1="156.67" y2="158.32" y3="159.54"/> + <curve x1="49.23" x2="48.06" x3="46.58" y1="160.42" y2="161.09" y3="161.57"/> + <curve x1="45.12" x2="43.1" x3="40.52" y1="162.05" y2="162.3" y3="162.3"/> + <line x="32.16" y="162.3"/> + <close/> + <move x="26.98" y="127.77"/> + <line x="26.98" y="166.91"/> + <line x="41.11" y="166.91"/> + <curve x1="43.47" x2="45.57" x3="47.38" y1="166.91" y2="166.69" y3="166.25"/> + <curve x1="49.21" x2="50.77" x3="52.05" y1="165.8" y2="165.15" y3="164.3"/> + <curve x1="53.35" x2="54.55" x3="55.63" y1="163.43" y2="162.24" y3="160.75"/> + <curve x1="56.72" x2="57.61" x3="58.3" y1="159.23" y2="157.33" y3="155.03"/> + <curve x1="59" x2="59.34" x3="59.34" y1="152.74" y2="150.1" y3="147.13"/> + <curve x1="59.34" x2="58.83" x3="57.79" y1="143.64" y2="140.54" y3="137.84"/> + <curve x1="56.78" x2="55.24" x3="53.17" y1="135.11" y2="132.88" y3="131.14"/> + <curve x1="51.59" x2="49.68" x3="47.43" y1="129.78" y2="128.85" y3="128.33"/> + <curve x1="45.83" x2="43.51" x3="40.47" y1="127.96" y2="127.77" y3="127.77"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="da encoder" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="104.13" y="93.81"/> + <line x="104.13" y="241.74"/> + <line x="157.51" y="241.74"/> + <curve x1="166.46" x2="174.37" x3="181.23" y1="241.74" y2="240.9" y3="239.22"/> + <curve x1="188.16" x2="194.04" x3="198.89" y1="237.54" y2="235.08" y3="231.86"/> + <curve x1="203.8" x2="208.31" x3="212.41" y1="228.56" y2="224.08" y3="218.43"/> + <curve x1="216.51" x2="219.88" x3="222.5" y1="212.72" y2="205.52" y3="196.84"/> + <curve x1="225.12" x2="226.44" x3="226.44" y1="188.16" y2="178.2" y3="166.97"/> + <curve x1="226.44" x2="224.49" x3="220.58" y1="153.78" y2="142.08" y3="131.85"/> + <curve x1="216.75" x2="210.93" x3="203.12" y1="121.56" y2="113.12" y3="106.52"/> + <curve x1="197.14" x2="189.91" x3="181.43" y1="101.41" y2="97.88" y3="95.93"/> + <curve x1="175.38" x2="166.6" x3="155.09" y1="94.51" y2="93.81" y3="93.81"/> + <close/> + <move x="123.71" y="111.27"/> + <line x="154.79" y="111.27"/> + <curve x1="166.43" x2="174.87" x3="180.12" y1="111.27" y2="112.27" y3="114.29"/> + <curve x1="187.38" x2="193.54" x3="198.58" y1="117.12" y2="122.7" y3="131.04"/> + <curve x1="203.7" x2="206.25" x3="206.25" y1="139.32" y2="151.19" y3="166.67"/> + <curve x1="206.25" x2="204.94" x3="202.32" y1="177.83" y2="187.35" y3="195.22"/> + <curve x1="199.76" x2="196.16" x3="191.52" y1="203.03" y2="209.25" y3="213.89"/> + <curve x1="188.23" x2="183.78" x3="178.2" y1="217.19" y2="219.75" y3="221.56"/> + <curve x1="172.68" x2="165.05" x3="155.29" y1="223.38" y2="224.29" y3="224.29"/> + <line x="123.71" y="224.29"/> + <close/> + <move x="178.91" y="292.66"/> + <line x="167.87" y="415.06"/> + <line x="198.1" y="401.11"/> + <line x="280.04" y="578.57"/> + <line x="647.67" y="579.37"/> + <line x="647.78" y="522.67"/> + <line x="316.34" y="521.96"/> + <line x="249.57" y="377.35"/> + <line x="279.23" y="363.66"/> + <close/> + <move x="751.82" y="482.52"/> + <line x="695" y="630.45"/> + <line x="715.79" y="630.45"/> + <line x="732.04" y="585.65"/> + <line x="793.9" y="585.65"/> + <line x="811.15" y="630.45"/> + <line x="833.45" y="630.45"/> + <line x="772.91" y="482.52"/> + <close/> + <move x="761.91" y="498.05"/> + <curve x1="764.2" x2="767.69" x3="772.4" y1="506.06" y2="516.29" y3="528.73"/> + <line x="787.84" y="569.7"/> + <line x="737.69" y="569.7"/> + <line x="753.94" y="526.31"/> + <curve x1="757.37" x2="760.02" x3="761.91" y1="516.96" y2="507.54" y3="498.05"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.84" name="dns server" strokewidth="inherit" w="108.15"> + <connections/> + <foreground> + <path> + <move x="69.77" y="28.47"/> + <line x="74.73" y="27.99"/> + <quad x1="75.18" x2="76.54" y1="30.49" y2="31.66"/> + <quad x1="77.92" x2="80.24" y1="32.83" y2="32.83"/> + <quad x1="82.7" x2="83.94" y1="32.83" y2="31.8"/> + <quad x1="85.2" x2="85.2" y1="30.75" y2="29.35"/> + <quad x1="85.2" x2="84.67" y1="28.45" y2="27.83"/> + <quad x1="84.15" x2="82.84" y1="27.2" y2="26.73"/> + <quad x1="81.95" x2="78.76" y1="26.42" y2="25.63"/> + <quad x1="74.66" x2="73.01" y1="24.61" y2="23.13"/> + <quad x1="70.68" x2="70.68" y1="21.05" y2="18.05"/> + <quad x1="70.68" x2="71.77" y1="16.12" y2="14.45"/> + <quad x1="72.87" x2="74.92" y1="12.76" y2="11.88"/> + <quad x1="76.99" x2="79.9" y1="11" y2="11"/> + <quad x1="84.65" x2="87.05" y1="11" y2="13.09"/> + <quad x1="89.46" x2="89.58" y1="15.17" y2="18.65"/> + <line x="84.48" y="18.88"/> + <quad x1="84.15" x2="83.07" y1="16.93" y2="16.09"/> + <quad x1="82" x2="79.85" y1="15.22" y2="15.22"/> + <quad x1="77.62" x2="76.37" y1="15.22" y2="16.14"/> + <quad x1="75.56" x2="75.56" y1="16.72" y2="17.71"/> + <quad x1="75.56" x2="76.31" y1="18.6" y2="19.24"/> + <quad x1="77.28" x2="81" y1="20.05" y2="20.93"/> + <quad x1="84.72" x2="86.49" y1="21.81" y2="22.75"/> + <quad x1="88.29" x2="89.28" y1="23.68" y2="25.32"/> + <quad x1="90.3" x2="90.3" y1="26.94" y2="29.33"/> + <quad x1="90.3" x2="89.1" y1="31.5" y2="33.4"/> + <quad x1="87.89" x2="85.68" y1="35.29" y2="36.22"/> + <quad x1="83.48" x2="80.19" y1="37.14" y2="37.14"/> + <quad x1="75.4" x2="72.83" y1="37.14" y2="34.93"/> + <quad x1="70.27" x2="69.77" y1="32.71" y2="28.47"/> + <close/> + <move x="45.62" y="36.69"/> + <line x="45.62" y="11.44"/> + <line x="50.58" y="11.44"/> + <line x="60.91" y="28.3"/> + <line x="60.91" y="11.44"/> + <line x="65.65" y="11.44"/> + <line x="65.65" y="36.69"/> + <line x="60.54" y="36.69"/> + <line x="50.36" y="20.22"/> + <line x="50.36" y="36.69"/> + <close/> + <move x="20.06" y="11.44"/> + <line x="29.37" y="11.44"/> + <quad x1="32.53" x2="34.18" y1="11.44" y2="11.92"/> + <quad x1="36.4" x2="37.99" y1="12.57" y2="14.24"/> + <quad x1="39.57" x2="40.4" y1="15.91" y2="18.34"/> + <quad x1="41.23" x2="41.23" y1="20.75" y2="24.3"/> + <quad x1="41.23" x2="40.45" y1="27.42" y2="29.68"/> + <quad x1="39.5" x2="37.75" y1="32.43" y2="34.14"/> + <quad x1="36.42" x2="34.16" y1="35.43" y2="36.15"/> + <quad x1="32.48" x2="29.65" y1="36.69" y2="36.69"/> + <line x="20.06" y="36.69"/> + <close/> + <move x="25.15" y="15.71"/> + <line x="25.15" y="32.43"/> + <line x="28.96" y="32.43"/> + <quad x1="31.1" x2="32.04" y1="32.43" y2="32.19"/> + <quad x1="33.28" x2="34.09" y1="31.88" y2="31.14"/> + <quad x1="34.92" x2="35.44" y1="30.4" y2="28.71"/> + <quad x1="35.95" x2="35.95" y1="27.01" y2="24.08"/> + <quad x1="35.95" x2="35.44" y1="21.15" y2="19.58"/> + <quad x1="34.92" x2="33.99" y1="18.02" y2="17.14"/> + <quad x1="33.06" x2="31.63" y1="16.26" y2="15.95"/> + <quad x1="30.56" x2="27.45" y1="15.71" y2="15.71"/> + <close/> + <move x="108.15" y="48.15"/> + <line x="108.15" y="11.72"/> + <curve x1="108.15" x2="102.75" x3="96.3" y1="5.27" y2="0" y3="0"/> + <line x="11.73" y="0"/> + <curve x1="5.28" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="48.15"/> + <close/> + <move x="0" y="163.88"/> + <line x="0" y="180.12"/> + <curve x1="0" x2="5.28" x3="11.73" y1="186.57" y2="191.84" y3="191.84"/> + <line x="96.3" y="191.84"/> + <curve x1="102.75" x2="108.15" x3="108.15" y1="191.84" y2="186.57" y3="180.12"/> + <line x="108.15" y="163.88"/> + <close/> + <move x="103.15" y="169.09"/> + <line x="103.15" y="180.12"/> + <curve x1="103.15" x2="100.06" x3="96.3" y1="183.88" y2="186.84" y3="186.84"/> + <line x="11.73" y="186.84"/> + <curve x1="7.96" x2="5" x3="5" y1="186.84" y2="183.88" y3="180.12"/> + <line x="5" y="169.09"/> + <close/> + <move x="5" y="43.01"/> + <line x="5" y="11.72"/> + <curve x1="5" x2="7.96" x3="11.73" y1="7.95" y2="5" y3="5"/> + <line x="96.3" y="5"/> + <curve x1="100.06" x2="103.15" x3="103.15" y1="5" y2="7.95" y3="11.72"/> + <line x="103.15" y="43.01"/> + <close/> + <move x="54.14" y="65.51"/> + <curve x1="47.77" x2="42.56" x3="42.56" y1="65.51" y2="70.71" y3="77.08"/> + <curve x1="42.56" x2="47.77" x3="54.14" y1="83.45" y2="88.66" y3="88.66"/> + <curve x1="60.51" x2="65.71" x3="65.71" y1="88.66" y2="83.45" y3="77.08"/> + <curve x1="65.71" x2="60.51" x3="54.14" y1="70.71" y2="65.51" y3="65.51"/> + <close/> + <move x="52.64" y="69.15"/> + <line x="52.64" y="77.33"/> + <arc large-arc-flag="1" rx="1.5" ry="1.5" sweep-flag="0" x="55.64" x-axis-rotation="0" y="77.33"/> + <line x="55.64" y="69.15"/> + <curve x1="59.39" x2="62.21" x3="62.21" y1="69.85" y2="73.12" y3="77.08"/> + <curve x1="62.21" x2="58.61" x3="54.14" y1="81.56" y2="85.16" y3="85.16"/> + <curve x1="49.66" x2="46.06" x3="46.06" y1="85.16" y2="81.56" y3="77.08"/> + <curve x1="46.06" x2="48.88" x3="52.64" y1="73.12" y2="69.85" y3="69.15"/> + <close/> + <move x="0" y="133.05"/> + <line x="0" y="135.55"/> + <line x="0" y="159.08"/> + <line x="108.15" y="159.08"/> + <line x="108.15" y="133.05"/> + <close/> + <move x="5" y="138.05"/> + <line x="103.15" y="138.05"/> + <line x="103.15" y="154.08"/> + <line x="5" y="154.08"/> + <close/> + <move x="0" y="51.9"/> + <line x="0" y="54.4"/> + <line x="0" y="127.72"/> + <line x="108.15" y="127.72"/> + <line x="108.15" y="51.9"/> + <close/> + <move x="5" y="56.9"/> + <line x="103.15" y="56.9"/> + <line x="103.15" y="122.72"/> + <line x="5" y="122.72"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="dual mode access point" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="61.29" y="114.61"/> + <curve x1="56.78" x2="53.23" x3="50.75" y1="114.61" y2="117.23" y3="120.1"/> + <curve x1="49.49" x2="48.42" x3="47.48" y1="121.57" y2="123.15" y3="124.73"/> + <curve x1="46.83" x2="46.11" x3="45.32" y1="123.66" y2="122.61" y3="121.64"/> + <curve x1="43.09" x2="40.04" x3="36.16" y1="118.9" y2="116.61" y3="116.61"/> + <curve x1="32.19" x2="28.69" x3="26.07" y1="116.61" y2="119.01" y3="121.87"/> + <curve x1="23.57" x2="21.75" x3="21.61" y1="124.62" y2="127.8" y3="130.92"/> + <line x="19.6" y="130.92"/> + <curve x1="19.6" x2="21.74" x3="24.6" y1="135.06" y2="138.56" y3="141.69"/> + <curve x1="27.45" x2="31.33" x3="36.16" y1="144.82" y2="147.6" y3="147.6"/> + <curve x1="40.82" x2="44.43" x3="46.87" y1="147.6" y2="144.82" y3="141.84"/> + <curve x1="48.01" x2="48.98" x3="49.82" y1="140.44" y2="138.94" y3="137.47"/> + <curve x1="50.56" x2="51.36" x3="52.26" y1="138.63" y2="139.76" y3="140.8"/> + <curve x1="54.53" x2="57.55" x3="61.29" y1="143.44" y2="145.6" y3="145.6"/> + <curve x1="65.07" x2="68" x3="70.2" y1="145.6" y2="143.28" y3="140.61"/> + <curve x1="71.19" x2="72.06" x3="72.86" y1="139.43" y2="138.14" y3="136.86"/> + <curve x1="73.96" x2="75.2" x3="76.56" y1="138.5" y2="140.2" y3="141.77"/> + <curve x1="79.05" x2="81.89" x3="86.41" y1="144.64" y2="147.6" y3="147.6"/> + <curve x1="90.39" x2="93.44" x3="95.91" y1="147.6" y2="145.23" y3="142.51"/> + <curve x1="97.37" x2="98.71" x3="99.96" y1="140.91" y2="139.06" y3="137.09"/> + <curve x1="100.9" x2="101.87" x3="102.96" y1="138.64" y2="140.07" y3="141.33"/> + <curve x1="105.12" x2="107.98" x3="111.53" y1="143.81" y2="145.6" y3="145.6"/> + <curve x1="115.25" x2="118.12" x3="120.28" y1="145.6" y2="143.36" y3="140.73"/> + <curve x1="121.28" x2="122.17" x3="123.01" y1="139.53" y2="138.21" y3="136.89"/> + <curve x1="123.97" x2="125.02" x3="126.27" y1="138.49" y2="140.17" y3="141.75"/> + <curve x1="128.59" x2="132.04" x3="136.65" y1="144.69" y2="147.6" y3="147.6"/> + <curve x1="141.11" x2="144.6" x3="146.92" y1="147.6" y2="144.92" y3="142.04"/> + <curve x1="148.19" x2="149.26" x3="150.26" y1="140.46" y2="138.77" y3="137.08"/> + <curve x1="151.08" x2="151.95" x3="152.93" y1="138.45" y2="139.78" y3="140.98"/> + <curve x1="155.04" x2="157.95" x3="161.78" y1="143.56" y2="145.6" y3="145.6"/> + <curve x1="165.62" x2="168.53" x3="170.63" y1="145.6" y2="143.5" y3="140.91"/> + <curve x1="171.61" x2="172.47" x3="173.29" y1="139.69" y2="138.36" y3="137"/> + <curve x1="174.29" x2="175.35" x3="176.62" y1="138.67" y2="140.37" y3="141.95"/> + <curve x1="178.93" x2="182.4" x3="186.9" y1="144.85" y2="147.6" y3="147.6"/> + <curve x1="191.39" x2="194.9" x3="197.28" y1="147.6" y2="144.93" y3="142.02"/> + <curve x1="198.52" x2="199.58" x3="200.54" y1="140.5" y2="138.86" y3="137.22"/> + <curve x1="201.19" x2="201.89" x3="202.7" y1="138.38" y2="139.54" y3="140.63"/> + <curve x1="204.71" x2="207.75" x3="212.03" y1="143.32" y2="145.6" y3="145.6"/> + <curve x1="216.49" x2="220.11" x3="222.58" y1="145.6" y2="142.89" y3="139.88"/> + <curve x1="225.05" x2="226.59" x3="226.59" y1="136.87" y2="133.7" y3="130.92"/> + <line x="228.59" y="130.92"/> + <curve x1="228.59" x2="221.72" x3="212.03" y1="122.56" y2="114.61" y3="114.61"/> + <curve x1="207.14" x2="203.25" x3="200.98" y1="114.61" y2="117.14" y3="120.1"/> + <curve x1="199.74" x2="198.81" x3="197.98" y1="121.71" y2="123.39" y3="125.02"/> + <curve x1="197.27" x2="196.52" x3="195.7" y1="123.9" y2="122.78" y3="121.73"/> + <curve x1="193.56" x2="190.71" x3="186.9" y1="119.01" y2="116.61" y3="116.61"/> + <curve x1="183.16" x2="180.31" x3="178.18" y1="116.61" y2="118.84" y3="121.51"/> + <curve x1="177.26" x2="176.43" x3="175.63" y1="122.66" y2="123.93" y3="125.22"/> + <curve x1="174.62" x2="173.53" x3="172.19" y1="123.48" y2="121.71" y3="120.05"/> + <curve x1="169.89" x2="166.3" x3="161.78" y1="117.21" y2="114.61" y3="114.61"/> + <curve x1="157.29" x2="153.7" x3="151.38" y1="114.61" y2="117.13" y3="119.96"/> + <curve x1="150.04" x2="148.94" x3="147.93" y1="121.61" y2="123.38" y3="125.14"/> + <curve x1="147.13" x2="146.29" x3="145.37" y1="123.84" y2="122.58" y3="121.43"/> + <curve x1="143.23" x2="140.37" x3="136.65" y1="118.78" y2="116.61" y3="116.61"/> + <curve x1="132.86" x2="129.99" x3="127.84" y1="116.61" y2="118.98" y3="121.7"/> + <curve x1="126.94" x2="126.13" x3="125.36" y1="122.84" y2="124.07" y3="125.31"/> + <curve x1="124.33" x2="123.19" x3="121.83" y1="123.62" y2="121.85" y3="120.2"/> + <curve x1="119.48" x2="116.04" x3="111.53" y1="117.36" y2="114.61" y3="114.61"/> + <curve x1="107.36" x2="103.84" x3="101.46" y1="114.61" y2="116.83" y3="119.57"/> + <curve x1="99.98" x2="98.76" x3="97.6" y1="121.27" y2="123.16" y3="125.16"/> + <curve x1="96.59" x2="95.54" x3="94.43" y1="123.66" y2="122.26" y3="121.04"/> + <curve x1="92.14" x2="89.52" x3="86.41" y1="118.52" y2="116.61" y3="116.61"/> + <curve x1="83.03" x2="80.41" x3="78.07" y1="116.61" y2="119.05" y3="121.75"/> + <curve x1="77.07" x2="76.13" x3="75.25" y1="122.9" y2="124.15" y3="125.41"/> + <curve x1="74.25" x2="73.11" x3="71.75" y1="123.75" y2="121.98" y3="120.32"/> + <curve x1="69.36" x2="65.89" x3="61.29" y1="117.44" y2="114.61" y3="114.61"/> + <close/> + <move x="36.16" y="120.61"/> + <curve x1="38.49" x2="40.39" x3="42.22" y1="120.61" y2="121.93" y3="124.17"/> + <curve x1="43.33" x2="44.34" x3="45.26" y1="125.53" y2="127.19" y3="128.9"/> + <curve x1="45.22" x2="45.17" x3="45.13" y1="128.98" y2="129.07" y3="129.16"/> + <curve x1="43.81" x2="42.29" x3="40.67" y1="131.86" y2="134.79" y3="136.78"/> + <curve x1="39.05" x2="37.72" x3="36.16" y1="138.77" y2="139.6" y3="139.6"/> + <curve x1="34.79" x2="32.38" x3="30.51" y1="139.6" y2="138.35" y3="136.3"/> + <curve x1="28.64" x2="27.6" x3="27.6" y1="134.25" y2="131.4" y3="130.92"/> + <line x="25.63" y="130.92"/> + <curve x1="25.82" x2="27.09" x3="29.03" y1="129.4" y2="126.7" y3="124.56"/> + <curve x1="31.15" x2="33.92" x3="36.16" y1="122.24" y2="120.61" y3="120.61"/> + <close/> + <move x="86.41" y="120.61"/> + <curve x1="87.78" x2="89.55" x3="91.47" y1="120.61" y2="121.62" y3="123.73"/> + <curve x1="92.77" x2="94.09" x3="95.39" y1="125.16" y2="127.03" y3="129.13"/> + <curve x1="93.59" x2="91.7" x3="89.99" y1="132.35" y2="135.25" y3="137.13"/> + <curve x1="88.25" x2="86.91" x3="86.41" y1="139.04" y2="139.6" y3="139.6"/> + <curve x1="86.44" x2="84.52" x3="82.6" y1="139.6" y2="138.74" y3="136.53"/> + <curve x1="80.78" x2="78.93" x3="77.5" y1="134.43" y2="131.6" y3="129.22"/> + <curve x1="78.6" x2="79.83" x3="81.09" y1="127.54" y2="125.82" y3="124.37"/> + <curve x1="83.15" x2="85.3" x3="86.41" y1="122" y2="120.61" y3="120.61"/> + <close/> + <move x="136.65" y="120.61"/> + <curve x1="138.89" x2="140.5" x3="142.25" y1="120.61" y2="121.76" y3="123.94"/> + <curve x1="143.39" x2="144.49" x3="145.63" y1="125.35" y2="127.18" y3="129.13"/> + <curve x1="143.8" x2="142.21" x3="140.69" y1="132.19" y2="135.13" y3="137.02"/> + <curve x1="139.13" x2="138.14" x3="136.65" y1="138.97" y2="139.6" y3="139.6"/> + <curve x1="135.32" x2="134.18" x3="132.55" y1="139.6" y2="138.85" y3="136.79"/> + <curve x1="131" x2="129.44" x3="127.72" y1="134.82" y2="131.95" y3="129.17"/> + <curve x1="128.79" x2="129.85" x3="130.98" y1="127.37" y2="125.61" y3="124.18"/> + <curve x1="132.78" x2="134.5" x3="136.65" y1="121.9" y2="120.61" y3="120.61"/> + <close/> + <move x="186.9" y="120.61"/> + <curve x1="189.05" x2="190.75" x3="192.55" y1="120.61" y2="121.91" y3="124.2"/> + <curve x1="193.68" x2="194.75" x3="195.83" y1="125.64" y2="127.41" y3="129.21"/> + <curve x1="194.21" x2="192.64" x3="191.09" y1="132.17" y2="135.06" y3="136.96"/> + <curve x1="189.49" x2="188.37" x3="186.9" y1="138.9" y2="139.6" y3="139.6"/> + <curve x1="185.45" x2="184.45" x3="182.88" y1="139.6" y2="138.94" y3="136.96"/> + <curve x1="181.35" x2="179.78" x3="177.95" y1="135.06" y2="132.14" y3="129.16"/> + <curve x1="179.08" x2="180.17" x3="181.31" y1="127.24" y2="125.43" y3="124"/> + <curve x1="183.07" x2="184.69" x3="186.9" y1="121.79" y2="120.61" y3="120.61"/> + <close/> + <move x="61.29" y="122.61"/> + <curve x1="62.63" x2="63.92" x3="65.58" y1="122.61" y2="123.42" y3="125.42"/> + <curve x1="67.23" x2="68.83" x3="70.41" y1="127.42" y2="130.32" y3="132.97"/> + <curve x1="70.43" x2="70.46" x3="70.48" y1="133" y2="133.04" y3="133.07"/> + <curve x1="69.42" x2="68.32" x3="67.12" y1="134.85" y2="136.62" y3="138.07"/> + <curve x1="65.28" x2="63.44" x3="61.29" y1="140.29" y2="141.6" y3="141.6"/> + <curve x1="59.08" x2="57.15" x3="55.29" y1="141.6" y2="140.34" y3="138.19"/> + <curve x1="54.09" x2="52.99" x3="52.01" y1="136.79" y2="135.07" y3="133.29"/> + <curve x1="52.11" x2="52.22" x3="52.32" y1="133.09" y2="132.87" y3="132.67"/> + <curve x1="53.6" x2="55.16" x3="56.81" y1="130.05" y2="127.24" y3="125.33"/> + <curve x1="58.45" x2="59.85" x3="61.29" y1="123.42" y2="122.61" y3="122.61"/> + <close/> + <move x="111.53" y="122.61"/> + <curve x1="112.88" x2="114.03" x3="115.65" y1="122.61" y2="123.33" y3="125.3"/> + <curve x1="117.27" x2="118.9" x3="120.69" y1="127.25" y2="130.18" y3="133.01"/> + <curve x1="119.54" x2="118.4" x3="117.2" y1="134.89" y2="136.73" y3="138.19"/> + <curve x1="115.39" x2="113.67" x3="111.53" y1="140.37" y2="141.6" y3="141.6"/> + <curve x1="109.22" x2="107.69" x3="105.98" y1="141.6" y2="140.66" y3="138.7"/> + <curve x1="104.76" x2="103.57" x3="102.3" y1="137.3" y2="135.38" y3="133.15"/> + <curve x1="102.36" x2="102.41" x3="102.47" y1="133.05" y2="132.95" y3="132.85"/> + <curve x1="104.37" x2="106" x3="107.49" y1="129.42" y2="126.53" y3="124.83"/> + <curve x1="108.97" x2="109.84" x3="111.53" y1="123.12" y2="122.61" y3="122.61"/> + <close/> + <move x="161.78" y="122.61"/> + <curve x1="163.59" x2="164.47" x3="165.97" y1="122.61" y2="123.23" y3="125.08"/> + <curve x1="167.46" x2="169.01" x3="170.94" y1="126.92" y2="129.89" y3="133.02"/> + <curve x1="170.94" x2="170.95" x3="170.96" y1="133.03" y2="133.05" y3="133.06"/> + <curve x1="169.78" x2="168.68" x3="167.52" y1="135.07" y2="136.95" y3="138.39"/> + <curve x1="165.83" x2="164.27" x3="161.78" y1="140.48" y2="141.6" y3="141.6"/> + <curve x1="159.27" x2="157.71" x3="156.03" y1="141.6" y2="140.52" y3="138.45"/> + <curve x1="154.86" x2="153.76" x3="152.58" y1="137.03" y2="135.14" y3="133.09"/> + <curve x1="152.6" x2="152.63" x3="152.65" y1="133.05" y2="133.01" y3="132.97"/> + <curve x1="154.55" x2="156.1" x3="157.58" y1="129.79" y2="126.83" y3="125.02"/> + <curve x1="159.05" x2="159.93" x3="161.78" y1="123.22" y2="122.61" y3="122.61"/> + <close/> + <move x="212.03" y="122.61"/> + <curve x1="217.39" x2="220.59" x3="220.59" y1="122.61" y2="126.91" y3="130.92"/> + <line x="222.59" y="130.92"/> + <curve x1="222.59" x2="221.48" x3="219.49" y1="131.75" y2="134.92" y3="137.34"/> + <curve x1="217.49" x2="214.83" x3="212.03" y1="139.77" y2="141.6" y3="141.6"/> + <curve x1="209.03" x2="207.5" x3="205.91" y1="141.6" y2="140.37" y3="138.24"/> + <curve x1="204.84" x2="203.9" x3="202.84" y1="136.81" y2="134.98" y3="133.08"/> + <curve x1="202.88" x2="202.93" x3="202.97" y1="133" y2="132.92" y3="132.85"/> + <curve x1="204.75" x2="206.02" x3="207.32" y1="129.61" y2="126.67" y3="124.97"/> + <curve x1="208.63" x2="209.39" x3="212.03" y1="123.26" y2="122.61" y3="122.61"/> + <close/> + <move x="61.29" y="44.29"/> + <curve x1="56.78" x2="53.23" x3="50.75" y1="44.29" y2="46.91" y3="49.78"/> + <curve x1="49.49" x2="48.42" x3="47.48" y1="51.25" y2="52.83" y3="54.4"/> + <curve x1="46.83" x2="46.11" x3="45.32" y1="53.34" y2="52.29" y3="51.32"/> + <curve x1="43.09" x2="40.04" x3="36.16" y1="48.58" y2="46.29" y3="46.29"/> + <curve x1="32.19" x2="28.69" x3="26.07" y1="46.29" y2="48.68" y3="51.55"/> + <curve x1="23.57" x2="21.75" x3="21.61" y1="54.3" y2="57.48" y3="60.59"/> + <line x="19.6" y="60.59"/> + <curve x1="19.6" x2="21.74" x3="24.6" y1="64.74" y2="68.24" y3="71.37"/> + <curve x1="27.45" x2="31.33" x3="36.16" y1="74.5" y2="77.28" y3="77.28"/> + <curve x1="40.82" x2="44.43" x3="46.87" y1="77.28" y2="74.5" y3="71.51"/> + <curve x1="48.01" x2="48.98" x3="49.82" y1="70.12" y2="68.62" y3="67.15"/> + <curve x1="50.56" x2="51.36" x3="52.26" y1="68.31" y2="69.44" y3="70.48"/> + <curve x1="54.53" x2="57.55" x3="61.29" y1="73.12" y2="75.28" y3="75.28"/> + <curve x1="65.07" x2="68" x3="70.2" y1="75.28" y2="72.96" y3="70.29"/> + <curve x1="71.19" x2="72.06" x3="72.86" y1="69.1" y2="67.82" y3="66.54"/> + <curve x1="73.96" x2="75.2" x3="76.56" y1="68.18" y2="69.88" y3="71.45"/> + <curve x1="79.05" x2="81.89" x3="86.41" y1="74.32" y2="77.28" y3="77.28"/> + <curve x1="90.39" x2="93.44" x3="95.91" y1="77.28" y2="74.91" y3="72.19"/> + <curve x1="97.37" x2="98.71" x3="99.96" y1="70.58" y2="68.74" y3="66.77"/> + <curve x1="100.9" x2="101.87" x3="102.96" y1="68.32" y2="69.75" y3="71"/> + <curve x1="105.12" x2="107.98" x3="111.53" y1="73.48" y2="75.28" y3="75.28"/> + <curve x1="115.25" x2="118.12" x3="120.28" y1="75.28" y2="73.04" y3="70.41"/> + <curve x1="121.28" x2="122.17" x3="123.01" y1="69.21" y2="67.89" y3="66.57"/> + <curve x1="123.97" x2="125.02" x3="126.27" y1="68.17" y2="69.85" y3="71.43"/> + <curve x1="128.59" x2="132.04" x3="136.65" y1="74.37" y2="77.28" y3="77.28"/> + <curve x1="141.11" x2="144.6" x3="146.92" y1="77.28" y2="74.6" y3="71.72"/> + <curve x1="148.19" x2="149.26" x3="150.26" y1="70.14" y2="68.44" y3="66.76"/> + <curve x1="151.08" x2="151.95" x3="152.93" y1="68.13" y2="69.46" y3="70.66"/> + <curve x1="155.04" x2="157.95" x3="161.78" y1="73.24" y2="75.28" y3="75.28"/> + <curve x1="165.62" x2="168.53" x3="170.63" y1="75.28" y2="73.18" y3="70.58"/> + <curve x1="171.61" x2="172.47" x3="173.29" y1="69.37" y2="68.04" y3="66.68"/> + <curve x1="174.29" x2="175.35" x3="176.62" y1="68.35" y2="70.04" y3="71.63"/> + <curve x1="178.93" x2="182.4" x3="186.9" y1="74.53" y2="77.28" y3="77.28"/> + <curve x1="191.39" x2="194.9" x3="197.28" y1="77.28" y2="74.61" y3="71.7"/> + <curve x1="198.52" x2="199.58" x3="200.54" y1="70.18" y2="68.54" y3="66.9"/> + <curve x1="201.19" x2="201.89" x3="202.7" y1="68.06" y2="69.22" y3="70.31"/> + <curve x1="204.71" x2="207.75" x3="212.03" y1="73" y2="75.28" y3="75.28"/> + <curve x1="216.49" x2="220.11" x3="222.58" y1="75.28" y2="72.57" y3="69.56"/> + <curve x1="225.05" x2="226.59" x3="226.59" y1="66.55" y2="63.38" y3="60.59"/> + <line x="228.59" y="60.59"/> + <curve x1="228.59" x2="221.72" x3="212.03" y1="52.24" y2="44.29" y3="44.29"/> + <curve x1="207.14" x2="203.25" x3="200.98" y1="44.29" y2="46.81" y3="49.78"/> + <curve x1="199.74" x2="198.81" x3="197.98" y1="51.38" y2="53.07" y3="54.7"/> + <curve x1="197.27" x2="196.52" x3="195.7" y1="53.58" y2="52.46" y3="51.41"/> + <curve x1="193.56" x2="190.71" x3="186.9" y1="48.69" y2="46.29" y3="46.29"/> + <curve x1="183.16" x2="180.31" x3="178.18" y1="46.29" y2="48.52" y3="51.19"/> + <curve x1="177.26" x2="176.43" x3="175.63" y1="52.34" y2="53.61" y3="54.9"/> + <curve x1="174.62" x2="173.53" x3="172.19" y1="53.16" y2="51.39" y3="49.73"/> + <curve x1="169.89" x2="166.3" x3="161.78" y1="46.89" y2="44.29" y3="44.29"/> + <curve x1="157.29" x2="153.7" x3="151.38" y1="44.29" y2="46.81" y3="49.64"/> + <curve x1="150.04" x2="148.94" x3="147.93" y1="51.29" y2="53.06" y3="54.82"/> + <curve x1="147.13" x2="146.29" x3="145.37" y1="53.52" y2="52.26" y3="51.11"/> + <curve x1="143.23" x2="140.37" x3="136.65" y1="48.46" y2="46.29" y3="46.29"/> + <curve x1="132.86" x2="129.99" x3="127.84" y1="46.29" y2="48.66" y3="51.38"/> + <curve x1="126.94" x2="126.13" x3="125.36" y1="52.52" y2="53.75" y3="54.99"/> + <curve x1="124.33" x2="123.19" x3="121.83" y1="53.3" y2="51.53" y3="49.88"/> + <curve x1="119.48" x2="116.04" x3="111.53" y1="47.04" y2="44.29" y3="44.29"/> + <curve x1="107.36" x2="103.84" x3="101.46" y1="44.29" y2="46.51" y3="49.25"/> + <curve x1="99.98" x2="98.76" x3="97.6" y1="50.95" y2="52.84" y3="54.84"/> + <curve x1="96.59" x2="95.54" x3="94.43" y1="53.33" y2="51.94" y3="50.72"/> + <curve x1="92.14" x2="89.52" x3="86.41" y1="48.2" y2="46.29" y3="46.29"/> + <curve x1="83.03" x2="80.41" x3="78.07" y1="46.29" y2="48.72" y3="51.43"/> + <curve x1="77.07" x2="76.13" x3="75.25" y1="52.58" y2="53.83" y3="55.09"/> + <curve x1="74.25" x2="73.11" x3="71.75" y1="53.42" y2="51.66" y3="50"/> + <curve x1="69.36" x2="65.89" x3="61.29" y1="47.11" y2="44.29" y3="44.29"/> + <close/> + <move x="36.16" y="50.29"/> + <curve x1="38.49" x2="40.39" x3="42.22" y1="50.29" y2="51.61" y3="53.85"/> + <curve x1="43.33" x2="44.34" x3="45.26" y1="55.21" y2="56.87" y3="58.58"/> + <curve x1="45.22" x2="45.17" x3="45.13" y1="58.66" y2="58.75" y3="58.84"/> + <curve x1="43.81" x2="42.29" x3="40.67" y1="61.54" y2="64.47" y3="66.46"/> + <curve x1="39.05" x2="37.72" x3="36.16" y1="68.45" y2="69.28" y3="69.28"/> + <curve x1="34.79" x2="32.38" x3="30.51" y1="69.28" y2="68.03" y3="65.98"/> + <curve x1="28.64" x2="27.6" x3="27.6" y1="63.93" y2="61.08" y3="60.59"/> + <line x="25.63" y="60.59"/> + <curve x1="25.82" x2="27.09" x3="29.03" y1="59.08" y2="56.37" y3="54.24"/> + <curve x1="31.15" x2="33.92" x3="36.16" y1="51.92" y2="50.29" y3="50.29"/> + <close/> + <move x="86.41" y="50.29"/> + <curve x1="87.78" x2="89.55" x3="91.47" y1="50.29" y2="51.3" y3="53.41"/> + <curve x1="92.77" x2="94.09" x3="95.39" y1="54.84" y2="56.71" y3="58.81"/> + <curve x1="93.59" x2="91.7" x3="89.99" y1="62.03" y2="64.92" y3="66.81"/> + <curve x1="88.25" x2="86.91" x3="86.41" y1="68.72" y2="69.28" y3="69.28"/> + <curve x1="86.44" x2="84.52" x3="82.6" y1="69.28" y2="68.42" y3="66.21"/> + <curve x1="80.78" x2="78.93" x3="77.5" y1="64.11" y2="61.28" y3="58.9"/> + <curve x1="78.6" x2="79.83" x3="81.09" y1="57.22" y2="55.5" y3="54.05"/> + <curve x1="83.15" x2="85.3" x3="86.41" y1="51.67" y2="50.29" y3="50.29"/> + <close/> + <move x="136.65" y="50.29"/> + <curve x1="138.89" x2="140.5" x3="142.25" y1="50.29" y2="51.44" y3="53.62"/> + <curve x1="143.39" x2="144.49" x3="145.63" y1="55.03" y2="56.86" y3="58.81"/> + <curve x1="143.8" x2="142.21" x3="140.69" y1="61.87" y2="64.81" y3="66.7"/> + <curve x1="139.13" x2="138.14" x3="136.65" y1="68.64" y2="69.28" y3="69.28"/> + <curve x1="135.32" x2="134.18" x3="132.55" y1="69.28" y2="68.53" y3="66.47"/> + <curve x1="131" x2="129.44" x3="127.72" y1="64.5" y2="61.63" y3="58.85"/> + <curve x1="128.79" x2="129.85" x3="130.98" y1="57.05" y2="55.29" y3="53.86"/> + <curve x1="132.78" x2="134.5" x3="136.65" y1="51.58" y2="50.29" y3="50.29"/> + <close/> + <move x="186.9" y="50.29"/> + <curve x1="189.05" x2="190.75" x3="192.55" y1="50.29" y2="51.59" y3="53.88"/> + <curve x1="193.68" x2="194.75" x3="195.83" y1="55.32" y2="57.09" y3="58.89"/> + <curve x1="194.21" x2="192.64" x3="191.09" y1="61.85" y2="64.74" y3="66.63"/> + <curve x1="189.49" x2="188.37" x3="186.9" y1="68.58" y2="69.28" y3="69.28"/> + <curve x1="185.45" x2="184.45" x3="182.88" y1="69.28" y2="68.62" y3="66.64"/> + <curve x1="181.35" x2="179.78" x3="177.95" y1="64.74" y2="61.82" y3="58.83"/> + <curve x1="179.08" x2="180.17" x3="181.31" y1="56.92" y2="55.11" y3="53.68"/> + <curve x1="183.07" x2="184.69" x3="186.9" y1="51.47" y2="50.29" y3="50.29"/> + <close/> + <move x="61.29" y="52.29"/> + <curve x1="62.63" x2="63.92" x3="65.58" y1="52.29" y2="53.1" y3="55.1"/> + <curve x1="67.23" x2="68.83" x3="70.41" y1="57.1" y2="60" y3="62.65"/> + <curve x1="70.43" x2="70.46" x3="70.48" y1="62.68" y2="62.72" y3="62.75"/> + <curve x1="69.42" x2="68.32" x3="67.12" y1="64.52" y2="66.3" y3="67.74"/> + <curve x1="65.28" x2="63.44" x3="61.29" y1="69.97" y2="71.28" y3="71.28"/> + <curve x1="59.08" x2="57.15" x3="55.29" y1="71.28" y2="70.02" y3="67.87"/> + <curve x1="54.09" x2="52.99" x3="52.01" y1="66.47" y2="64.74" y3="62.97"/> + <curve x1="52.11" x2="52.22" x3="52.32" y1="62.77" y2="62.55" y3="62.35"/> + <curve x1="53.6" x2="55.16" x3="56.81" y1="59.73" y2="56.92" y3="55.01"/> + <curve x1="58.45" x2="59.85" x3="61.29" y1="53.1" y2="52.29" y3="52.29"/> + <close/> + <move x="111.53" y="52.29"/> + <curve x1="112.88" x2="114.03" x3="115.65" y1="52.29" y2="53.01" y3="54.97"/> + <curve x1="117.27" x2="118.9" x3="120.69" y1="56.93" y2="59.86" y3="62.69"/> + <curve x1="119.54" x2="118.4" x3="117.2" y1="64.57" y2="66.41" y3="67.87"/> + <curve x1="115.39" x2="113.67" x3="111.53" y1="70.05" y2="71.28" y3="71.28"/> + <curve x1="109.22" x2="107.69" x3="105.98" y1="71.28" y2="70.34" y3="68.38"/> + <curve x1="104.76" x2="103.57" x3="102.3" y1="66.98" y2="65.06" y3="62.83"/> + <curve x1="102.36" x2="102.41" x3="102.47" y1="62.73" y2="62.63" y3="62.53"/> + <curve x1="104.37" x2="106" x3="107.49" y1="59.1" y2="56.21" y3="54.5"/> + <curve x1="108.97" x2="109.84" x3="111.53" y1="52.8" y2="52.29" y3="52.29"/> + <close/> + <move x="161.78" y="52.29"/> + <curve x1="163.59" x2="164.47" x3="165.97" y1="52.29" y2="52.91" y3="54.76"/> + <curve x1="167.46" x2="169.01" x3="170.94" y1="56.6" y2="59.57" y3="62.7"/> + <curve x1="170.94" x2="170.95" x3="170.96" y1="62.71" y2="62.72" y3="62.74"/> + <curve x1="169.78" x2="168.68" x3="167.52" y1="64.75" y2="66.63" y3="68.07"/> + <curve x1="165.83" x2="164.27" x3="161.78" y1="70.16" y2="71.28" y3="71.28"/> + <curve x1="159.27" x2="157.71" x3="156.03" y1="71.28" y2="70.19" y3="68.13"/> + <curve x1="154.86" x2="153.76" x3="152.58" y1="66.71" y2="64.82" y3="62.77"/> + <curve x1="152.6" x2="152.63" x3="152.65" y1="62.73" y2="62.69" y3="62.65"/> + <curve x1="154.55" x2="156.1" x3="157.58" y1="59.46" y2="56.51" y3="54.7"/> + <curve x1="159.05" x2="159.93" x3="161.78" y1="52.89" y2="52.29" y3="52.29"/> + <close/> + <move x="212.03" y="52.29"/> + <curve x1="217.39" x2="220.59" x3="220.59" y1="52.29" y2="56.58" y3="60.59"/> + <line x="222.59" y="60.59"/> + <curve x1="222.59" x2="221.48" x3="219.49" y1="61.42" y2="64.59" y3="67.02"/> + <curve x1="217.49" x2="214.83" x3="212.03" y1="69.45" y2="71.28" y3="71.28"/> + <curve x1="209.03" x2="207.5" x3="205.91" y1="71.28" y2="70.05" y3="67.92"/> + <curve x1="204.84" x2="203.9" x3="202.84" y1="66.49" y2="64.66" y3="62.76"/> + <curve x1="202.88" x2="202.93" x3="202.97" y1="62.68" y2="62.6" y3="62.53"/> + <curve x1="204.75" x2="206.02" x3="207.32" y1="59.29" y2="56.35" y3="54.64"/> + <curve x1="208.63" x2="209.39" x3="212.03" y1="52.94" y2="52.29" y3="52.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="email security" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="99.23" y="82.17"/> + <line x="124.36" y="95.58"/> + <line x="147.46" y="83.26"/> + <curve x1="148.69" x2="149.37" x3="149.37" y1="86.3" y2="89.63" y3="93.12"/> + <curve x1="149.37" x2="137.66" x3="123.11" y1="107.67" y2="119.38" y3="119.38"/> + <curve x1="108.57" x2="96.86" x3="96.86" y1="119.38" y2="107.67" y3="93.12"/> + <curve x1="96.86" x2="97.71" x3="99.23" y1="89.21" y2="85.5" y3="82.17"/> + <close/> + <move x="123.11" y="66.87"/> + <curve x1="131.65" x2="139.21" x3="144" y1="66.87" y2="70.9" y3="77.18"/> + <line x="124.36" y="87.65"/> + <line x="102.98" y="76.24"/> + <curve x1="107.79" x2="115.01" x3="123.11" y1="70.5" y2="66.87" y3="66.87"/> + <close/> + <move x="54.85" y="58.49"/> + <line x="93.07" y="78.89"/> + <curve x1="91.01" x2="89.86" x3="89.86" y1="83.2" y2="88.03" y3="93.12"/> + <curve x1="89.86" x2="92.08" x3="95.87" y1="100.19" y2="106.76" y3="112.16"/> + <line x="77.89" y="130.3"/> + <line x="54.85" y="130.3"/> + <close/> + <move x="193.91" y="58.49"/> + <line x="193.91" y="130.3"/> + <line x="94.78" y="130.3"/> + <line x="104.4" y="120.59"/> + <curve x1="109.74" x2="116.18" x3="123.11" y1="124.24" y2="126.38" y3="126.38"/> + <curve x1="141.44" x2="156.37" x3="156.37" y1="126.38" y2="111.45" y3="93.12"/> + <curve x1="156.37" x2="155.4" x3="153.65" y1="88.45" y2="84" y3="79.96"/> + <close/> + <move x="65.34" y="56.16"/> + <line x="183.41" y="56.16"/> + <line x="150.2" y="73.87"/> + <curve x1="144.17" x2="134.27" x3="123.11" y1="65.4" y2="59.87" y3="59.87"/> + <curve x1="112.38" x2="102.82" x3="96.73" y1="59.87" y2="64.99" y3="72.91"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="47.85" y="49.16"/> + <line x="47.85" y="52.66"/> + <line x="47.85" y="137.3"/> + <line x="78.96" y="137.3"/> + <line x="83.45" y="141.74"/> + <line x="87.85" y="137.3"/> + <line x="200.91" y="137.3"/> + <line x="200.91" y="49.16"/> + <close/> + <move x="23.08" y="74.54"/> + <line x="23.08" y="85.83"/> + <line x="10.12" y="85.83"/> + <line x="10.12" y="96.84"/> + <line x="23.08" y="96.84"/> + <line x="23.08" y="108.13"/> + <line x="47.36" y="91.33"/> + <close/> + <move x="225.67" y="74.54"/> + <line x="225.67" y="85.83"/> + <line x="238.64" y="85.83"/> + <line x="238.64" y="96.84"/> + <line x="225.67" y="96.84"/> + <line x="225.67" y="108.13"/> + <line x="201.4" y="91.33"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="fabric interconnect" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="103.12" y="512.4"/> + <line x="103.12" y="528.85"/> + <line x="80.28" y="528.85"/> + <line x="80.28" y="532.63"/> + <line x="80.28" y="548.37"/> + <line x="65.13" y="548.37"/> + <line x="65.13" y="555.92"/> + <line x="80.28" y="555.92"/> + <line x="80.28" y="581.82"/> + <line x="65.13" y="581.82"/> + <line x="65.13" y="589.38"/> + <line x="80.28" y="589.38"/> + <line x="80.28" y="615.27"/> + <line x="65.13" y="615.27"/> + <line x="65.13" y="622.83"/> + <line x="80.28" y="622.83"/> + <line x="80.28" y="642.34"/> + <line x="103.12" y="642.34"/> + <line x="103.12" y="660"/> + <line x="110.68" y="660"/> + <line x="110.68" y="642.34"/> + <line x="136.58" y="642.34"/> + <line x="136.58" y="660"/> + <line x="144.13" y="660"/> + <line x="144.13" y="642.34"/> + <line x="170.03" y="642.34"/> + <line x="170.03" y="660"/> + <line x="177.59" y="660"/> + <line x="177.59" y="642.34"/> + <line x="200.43" y="642.34"/> + <line x="200.43" y="622.83"/> + <line x="214.83" y="622.83"/> + <line x="214.83" y="615.27"/> + <line x="200.43" y="615.27"/> + <line x="200.43" y="589.38"/> + <line x="214.83" y="589.38"/> + <line x="214.83" y="581.82"/> + <line x="200.43" y="581.82"/> + <line x="200.43" y="555.92"/> + <line x="214.83" y="555.92"/> + <line x="214.83" y="548.37"/> + <line x="200.43" y="548.37"/> + <line x="200.43" y="528.85"/> + <line x="177.59" y="528.85"/> + <line x="177.59" y="512.4"/> + <line x="170.03" y="512.4"/> + <line x="170.03" y="528.85"/> + <line x="144.13" y="528.85"/> + <line x="144.13" y="512.4"/> + <line x="136.58" y="512.4"/> + <line x="136.58" y="528.85"/> + <line x="110.68" y="528.85"/> + <line x="110.68" y="512.4"/> + <close/> + <move x="87.84" y="536.41"/> + <line x="103.12" y="536.41"/> + <line x="103.12" y="543.32"/> + <line x="110.68" y="543.32"/> + <line x="110.68" y="536.41"/> + <line x="136.58" y="536.41"/> + <line x="136.58" y="543.32"/> + <line x="144.13" y="543.32"/> + <line x="144.13" y="536.41"/> + <line x="170.03" y="536.41"/> + <line x="170.03" y="543.32"/> + <line x="177.59" y="543.32"/> + <line x="177.59" y="536.41"/> + <line x="192.87" y="536.41"/> + <line x="192.87" y="548.37"/> + <line x="183.91" y="548.37"/> + <line x="183.91" y="555.92"/> + <line x="192.87" y="555.92"/> + <line x="192.87" y="581.82"/> + <line x="183.91" y="581.82"/> + <line x="183.91" y="589.38"/> + <line x="192.87" y="589.38"/> + <line x="192.87" y="615.27"/> + <line x="183.91" y="615.27"/> + <line x="183.91" y="622.83"/> + <line x="192.87" y="622.83"/> + <line x="192.87" y="634.78"/> + <line x="177.59" y="634.78"/> + <line x="177.59" y="629.08"/> + <line x="170.03" y="629.08"/> + <line x="170.03" y="634.78"/> + <line x="144.13" y="634.78"/> + <line x="144.13" y="629.08"/> + <line x="136.58" y="629.08"/> + <line x="136.58" y="634.78"/> + <line x="110.68" y="634.78"/> + <line x="110.68" y="629.08"/> + <line x="103.12" y="629.08"/> + <line x="103.12" y="634.78"/> + <line x="87.84" y="634.78"/> + <line x="87.84" y="622.83"/> + <line x="96.05" y="622.83"/> + <line x="96.05" y="615.27"/> + <line x="87.84" y="615.27"/> + <line x="87.84" y="589.38"/> + <line x="96.05" y="589.38"/> + <line x="96.05" y="581.82"/> + <line x="87.84" y="581.82"/> + <line x="87.84" y="555.92"/> + <line x="96.05" y="555.92"/> + <line x="96.05" y="548.37"/> + <line x="87.84" y="548.37"/> + <close/> + <move x="111.16" y="556.33"/> + <line x="111.16" y="576.18"/> + <line x="131.01" y="576.18"/> + <line x="131.01" y="556.33"/> + <close/> + <move x="149.7" y="556.33"/> + <line x="149.7" y="576.18"/> + <line x="169.55" y="576.18"/> + <line x="169.55" y="556.33"/> + <close/> + <move x="111.16" y="595.02"/> + <line x="111.16" y="614.87"/> + <line x="131.01" y="614.87"/> + <line x="131.01" y="595.02"/> + <close/> + <move x="149.7" y="595.02"/> + <line x="149.7" y="614.87"/> + <line x="169.55" y="614.87"/> + <line x="169.55" y="595.02"/> + <close/> + <move x="314.17" y="438.84"/> + <line x="314.17" y="390.14"/> + <line x="185.21" y="390.14"/> + <line x="185.21" y="351.66"/> + <line x="75.41" y="416.82"/> + <line x="185.21" y="480.98"/> + <line x="185.21" y="438.84"/> + <close/> + <move x="387.99" y="248.4"/> + <line x="387.99" y="199.69"/> + <line x="259.03" y="199.69"/> + <line x="259.03" y="161.22"/> + <line x="149.23" y="226.37"/> + <line x="259.03" y="290.53"/> + <line x="259.03" y="248.4"/> + <close/> + <move x="340.3" y="341.45"/> + <line x="340.3" y="292.75"/> + <line x="469.26" y="292.75"/> + <line x="469.26" y="254.27"/> + <line x="579.06" y="319.43"/> + <line x="469.26" y="383.58"/> + <line x="469.26" y="341.45"/> + <close/> + <move x="412.07" y="150.75"/> + <line x="412.07" y="102.04"/> + <line x="541.02" y="102.04"/> + <line x="541.02" y="63.57"/> + <line x="650.82" y="128.72"/> + <line x="541.02" y="192.88"/> + <line x="541.02" y="150.75"/> + <close/> + <move x="526.13" y="567.46"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="550.72" x-axis-rotation="0" y="592.4"/> + <curve x1="537.64" x2="525.25" x3="514.68" y1="603.7" y2="613.05" y3="619.75"/> + <curve x1="506.34" x2="499.09" x3="493.87" y1="625.04" y2="628.67" y3="630.32"/> + <curve x1="491.26" x2="489.17" x3="487.92" y1="631.14" y2="631.44" y3="631.4"/> + <curve x1="486.67" x2="486.49" x3="486.47" y1="631.36" y2="631.11" y3="631.09"/> + <curve x1="486.45" x2="486.21" x3="486.18" y1="631.07" y2="630.88" y3="629.63"/> + <curve x1="486.16" x2="486.49" x3="487.36" y1="628.38" y2="626.3" y3="623.7"/> + <curve x1="489.08" x2="492.83" x3="498.24" y1="618.51" y2="611.32" y3="603.06"/> + <curve x1="505.1" x2="514.64" x3="526.13" y1="592.6" y2="580.36" y3="567.46"/> + <close/> + <move x="595.68" y="567.42"/> + <curve x1="607.19" x2="616.73" x3="623.6" y1="580.34" y2="592.59" y3="603.06"/> + <curve x1="629.02" x2="632.75" x3="634.48" y1="611.31" y2="618.51" y3="623.7"/> + <curve x1="635.35" x2="635.68" x3="635.66" y1="626.3" y2="628.38" y3="629.63"/> + <curve x1="635.64" x2="635.39" x3="635.37" y1="630.88" y2="631.07" y3="631.09"/> + <curve x1="635.35" x2="635.17" x3="633.92" y1="631.11" y2="631.36" y3="631.4"/> + <curve x1="632.67" x2="630.58" x3="627.97" y1="631.44" y2="631.14" y3="630.32"/> + <curve x1="622.75" x2="615.5" x3="607.16" y1="628.67" y2="625.04" y3="619.75"/> + <curve x1="596.58" x2="584.2" x3="571.11" y1="613.05" y2="603.69" y3="592.4"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="595.68" x-axis-rotation="0" y="567.42"/> + <close/> + <move x="487.92" y="484.15"/> + <curve x1="489.18" x2="491.26" x3="493.87" y1="484.11" y2="484.41" y3="485.23"/> + <curve x1="499.09" x2="506.34" x3="514.68" y1="486.88" y2="490.51" y3="495.8"/> + <curve x1="525.26" x2="537.64" x3="550.73" y1="502.5" y2="511.86" y3="523.15"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="526.16" x-axis-rotation="0" y="548.13"/> + <curve x1="514.65" x2="505.11" x3="498.24" y1="535.21" y2="522.97" y3="512.5"/> + <curve x1="492.82" x2="489.08" x3="487.36" y1="504.24" y2="497.04" y3="491.85"/> + <curve x1="486.49" x2="486.16" x3="486.18" y1="489.25" y2="487.17" y3="485.92"/> + <curve x1="486.21" x2="486.45" x3="486.47" y1="484.67" y2="484.48" y3="484.46"/> + <curve x1="486.49" x2="486.67" x3="487.92" y1="484.44" y2="484.19" y3="484.15"/> + <close/> + <move x="633.92" y="484.15"/> + <curve x1="635.17" x2="635.35" x3="635.37" y1="484.19" y2="484.44" y3="484.46"/> + <curve x1="635.39" x2="635.63" x3="635.66" y1="484.48" y2="484.67" y3="485.92"/> + <curve x1="635.68" x2="635.35" x3="634.48" y1="487.17" y2="489.25" y3="491.85"/> + <curve x1="632.75" x2="629.02" x3="623.6" y1="497.04" y2="504.24" y3="512.5"/> + <curve x1="616.74" x2="607.2" x3="595.71" y1="522.96" y2="535.19" y3="548.1"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="571.11" x-axis-rotation="0" y="523.15"/> + <curve x1="584.2" x2="596.59" x3="607.16" y1="511.85" y2="502.5" y3="495.8"/> + <curve x1="615.5" x2="622.75" x3="627.97" y1="490.51" y2="486.88" y3="485.23"/> + <curve x1="630.58" x2="632.66" x3="633.92" y1="484.41" y2="484.1" y3="484.15"/> + <close/> + <move x="561.29" y="457.96"/> + <line x="542.55" y="475.89"/> + <line x="555.81" y="475.89"/> + <line x="555.81" y="514"/> + <curve x1="543.03" x2="530.86" x3="520.17" y1="503.07" y2="493.93" y3="487.15"/> + <curve x1="511.38" x2="503.62" x3="496.96" y1="481.57" y2="477.56" y3="475.46"/> + <curve x1="493.63" x2="490.56" x3="487.57" y1="474.41" y2="473.81" y3="473.91"/> + <curve x1="484.58" x2="481.44" x3="479.17" y1="474.01" y2="474.96" y3="477.27"/> + <curve x1="476.89" x2="475.99" x3="475.93" y1="479.58" y2="482.73" y3="485.73"/> + <curve x1="475.88" x2="476.53" x3="477.63" y1="488.72" y2="491.77" y3="495.09"/> + <curve x1="479.83" x2="483.96" x3="489.67" y1="501.71" y2="509.41" y3="518.12"/> + <curve x1="496.49" x2="505.61" x3="516.48" y1="528.52" y2="540.3" y3="552.67"/> + <line x="479.03" y="552.67"/> + <line x="479.03" y="539.41"/> + <line x="461.1" y="558.14"/> + <line x="479.03" y="576.15"/> + <line x="479.03" y="563.84"/> + <line x="515.64" y="563.84"/> + <curve x1="505.14" x2="496.31" x3="489.67" y1="575.86" y2="587.31" y3="597.43"/> + <curve x1="483.96" x2="479.84" x3="477.63" y1="606.14" y2="613.84" y3="620.47"/> + <curve x1="476.53" x2="475.88" x3="475.93" y1="623.78" y2="626.84" y3="629.83"/> + <curve x1="475.99" x2="476.89" x3="479.16" y1="632.82" y2="635.98" y3="638.29"/> + <curve x1="481.44" x2="484.58" x3="487.57" y1="640.59" y2="641.54" y3="641.65"/> + <curve x1="490.56" x2="493.63" x3="496.96" y1="641.75" y2="641.15" y3="640.09"/> + <curve x1="503.62" x2="511.38" x3="520.17" y1="637.99" y2="633.99" y3="628.41"/> + <curve x1="530.86" x2="543.03" x3="555.81" y1="621.63" y2="612.49" y3="601.55"/> + <line x="555.81" y="639.67"/> + <line x="542.55" y="639.67"/> + <line x="561.29" y="657.6"/> + <line x="579.29" y="639.67"/> + <line x="566.99" y="639.67"/> + <line x="566.99" y="602.37"/> + <curve x1="579.42" x2="591.24" x3="601.67" y1="612.94" y2="621.8" y3="628.41"/> + <curve x1="610.46" x2="618.22" x3="624.88" y1="633.99" y2="637.99" y3="640.09"/> + <curve x1="628.21" x2="631.28" x3="634.27" y1="641.15" y2="641.75" y3="641.65"/> + <curve x1="637.26" x2="640.4" x3="642.68" y1="641.54" y2="640.59" y3="638.29"/> + <curve x1="644.95" x2="645.85" x3="645.9" y1="635.98" y2="632.82" y3="629.83"/> + <curve x1="645.96" x2="645.31" x3="644.21" y1="626.84" y2="623.78" y3="620.47"/> + <curve x1="642" x2="637.88" x3="632.17" y1="613.84" y2="606.14" y3="597.44"/> + <curve x1="625.53" x2="616.7" x3="606.2" y1="587.31" y2="575.86" y3="563.84"/> + <line x="642.81" y="563.84"/> + <line x="642.81" y="576.15"/> + <line x="660.74" y="558.14"/> + <line x="642.81" y="539.41"/> + <line x="642.81" y="552.67"/> + <line x="605.36" y="552.67"/> + <curve x1="616.22" x2="625.35" x3="632.17" y1="540.3" y2="528.52" y3="518.12"/> + <curve x1="637.88" x2="642" x3="644.21" y1="509.41" y2="501.71" y3="495.09"/> + <curve x1="645.31" x2="645.96" x3="645.9" y1="491.77" y2="488.72" y3="485.73"/> + <curve x1="645.85" x2="644.95" x3="642.67" y1="482.73" y2="479.57" y3="477.27"/> + <curve x1="640.4" x2="637.26" x3="634.27" y1="474.96" y2="474.01" y3="473.91"/> + <curve x1="631.27" x2="628.21" x3="624.88" y1="473.81" y2="474.41" y3="475.46"/> + <curve x1="618.22" x2="610.46" x3="601.67" y1="477.57" y2="481.57" y3="487.14"/> + <curve x1="591.24" x2="579.42" x3="566.99" y1="493.76" y2="502.61" y3="513.19"/> + <line x="566.99" y="475.89"/> + <line x="579.29" y="475.89"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="597.01" y="557.77"/> + <arc large-arc-flag="0" rx="36.06" ry="36.06" sweep-flag="1" x="560.95" x-axis-rotation="0" y="593.83"/> + <arc large-arc-flag="0" rx="36.06" ry="36.06" sweep-flag="1" x="524.89" x-axis-rotation="0" y="557.77"/> + <arc large-arc-flag="0" rx="36.06" ry="36.06" sweep-flag="1" x="560.95" x-axis-rotation="0" y="521.71"/> + <arc large-arc-flag="0" rx="36.06" ry="36.06" sweep-flag="1" x="597.01" x-axis-rotation="0" y="557.77"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="275.55" name="fibre channel director mds 9000" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="201.21"/> + <line x="179.27" y="201.21"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="201.21" y2="204.03" y3="207.64"/> + <line x="185.7" y="263.84"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="267.44" y2="270.26" y3="270.26"/> + <line x="11.72" y="270.26"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="270.26" y2="267.44" y3="263.84"/> + <line x="5.29" y="207.64"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="204.03" y2="201.21" y3="201.21"/> + <close/> + <move x="11.72" y="195.92"/> + <curve x1="5.27" x2="0" x3="0" y1="195.92" y2="201.19" y3="207.64"/> + <line x="0" y="263.84"/> + <curve x1="0" x2="5.27" x3="11.72" y1="270.28" y2="275.55" y3="275.55"/> + <line x="179.27" y="275.55"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="275.55" y2="270.28" y3="263.84"/> + <line x="190.99" y="207.64"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="201.19" y2="195.92" y3="195.92"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="71.74" y="103.28"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="88.53" x-axis-rotation="0" y="120.32"/> + <curve x1="79.6" x2="71.14" x3="63.92" y1="128.03" y2="134.42" y3="138.99"/> + <curve x1="58.22" x2="53.27" x3="49.71" y1="142.61" y2="145.09" y3="146.21"/> + <curve x1="47.92" x2="46.5" x3="45.64" y1="146.77" y2="146.98" y3="146.95"/> + <curve x1="44.79" x2="44.66" x3="44.65" y1="146.92" y2="146.75" y3="146.74"/> + <curve x1="44.64" x2="44.47" x3="44.46" y1="146.73" y2="146.6" y3="145.74"/> + <curve x1="44.44" x2="44.67" x3="45.26" y1="144.89" y2="143.47" y3="141.69"/> + <curve x1="46.44" x2="48.99" x3="52.69" y1="138.15" y2="133.23" y3="127.59"/> + <curve x1="57.38" x2="63.89" x3="71.74" y1="120.45" y2="112.09" y3="103.28"/> + <close/> + <move x="119.24" y="103.26"/> + <curve x1="127.09" x2="133.61" x3="138.3" y1="112.08" y2="120.44" y3="127.59"/> + <curve x1="142" x2="144.55" x3="145.73" y1="133.23" y2="138.15" y3="141.69"/> + <curve x1="146.32" x2="146.55" x3="146.54" y1="143.47" y2="144.89" y3="145.74"/> + <curve x1="146.52" x2="146.35" x3="146.34" y1="146.6" y2="146.73" y3="146.74"/> + <curve x1="146.33" x2="146.2" x3="145.35" y1="146.76" y2="146.92" y3="146.95"/> + <curve x1="144.49" x2="143.07" x3="141.28" y1="146.98" y2="146.77" y3="146.21"/> + <curve x1="137.72" x2="132.77" x3="127.07" y1="145.09" y2="142.61" y3="139"/> + <curve x1="119.85" x2="111.39" x3="102.46" y1="134.42" y2="128.03" y3="120.31"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="119.24" x-axis-rotation="0" y="103.26"/> + <close/> + <move x="45.65" y="46.39"/> + <curve x1="46.5" x2="47.92" x3="49.71" y1="46.36" y2="46.57" y3="47.13"/> + <curve x1="53.27" x2="58.22" x3="63.92" y1="48.26" y2="50.73" y3="54.35"/> + <curve x1="71.14" x2="79.6" x3="88.53" y1="58.92" y2="65.31" y3="73.03"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="71.75" x-axis-rotation="0" y="90.08"/> + <curve x1="63.9" x2="57.38" x3="52.69" y1="81.26" y2="72.9" y3="65.75"/> + <curve x1="48.99" x2="46.44" x3="45.26" y1="60.11" y2="55.19" y3="51.65"/> + <curve x1="44.67" x2="44.44" x3="44.46" y1="49.88" y2="48.45" y3="47.6"/> + <curve x1="44.47" x2="44.64" x3="44.65" y1="46.74" y2="46.62" y3="46.6"/> + <curve x1="44.66" x2="44.79" x3="45.65" y1="46.59" y2="46.42" y3="46.39"/> + <close/> + <move x="145.35" y="46.39"/> + <curve x1="146.2" x2="146.33" x3="146.34" y1="46.42" y2="46.59" y3="46.6"/> + <curve x1="146.35" x2="146.52" x3="146.54" y1="46.61" y2="46.74" y3="47.6"/> + <curve x1="146.55" x2="146.32" x3="145.73" y1="48.45" y2="49.87" y3="51.65"/> + <curve x1="144.55" x2="142" x3="138.3" y1="55.19" y2="60.11" y3="65.75"/> + <curve x1="133.61" x2="127.1" x3="119.25" y1="72.89" y2="81.25" y3="90.06"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="102.46" x-axis-rotation="0" y="73.03"/> + <curve x1="111.4" x2="119.86" x3="127.07" y1="65.32" y2="58.93" y3="54.35"/> + <curve x1="132.77" x2="137.72" x3="141.29" y1="50.74" y2="48.26" y3="47.13"/> + <curve x1="143.07" x2="144.49" x3="145.35" y1="46.57" y2="46.36" y3="46.39"/> + <close/> + <move x="95.75" y="28.5"/> + <line x="82.95" y="40.75"/> + <line x="92.01" y="40.75"/> + <line x="92.01" y="66.78"/> + <curve x1="83.28" x2="74.97" x3="67.67" y1="59.31" y2="53.07" y3="48.44"/> + <curve x1="61.66" x2="56.36" x3="51.82" y1="44.63" y2="41.89" y3="40.45"/> + <curve x1="49.54" x2="47.45" x3="45.41" y1="39.74" y2="39.32" y3="39.39"/> + <curve x1="43.36" x2="41.22" x3="39.66" y1="39.46" y2="40.11" y3="41.69"/> + <curve x1="38.11" x2="37.5" x3="37.46" y1="43.27" y2="45.42" y3="47.47"/> + <curve x1="37.42" x2="37.86" x3="38.61" y1="49.51" y2="51.6" y3="53.86"/> + <curve x1="40.12" x2="42.94" x3="46.84" y1="58.38" y2="63.64" y3="69.59"/> + <curve x1="51.5" x2="57.73" x3="65.15" y1="76.69" y2="84.74" y3="93.18"/> + <line x="39.57" y="93.18"/> + <line x="39.57" y="84.13"/> + <line x="27.33" y="96.92"/> + <line x="39.57" y="109.22"/> + <line x="39.57" y="100.81"/> + <line x="64.57" y="100.81"/> + <curve x1="57.4" x2="51.38" x3="46.84" y1="109.02" y2="116.84" y3="123.75"/> + <curve x1="42.94" x2="40.12" x3="38.62" y1="129.7" y2="134.96" y3="139.48"/> + <curve x1="37.86" x2="37.42" x3="37.46" y1="141.75" y2="143.83" y3="145.88"/> + <curve x1="37.49" x2="38.11" x3="39.66" y1="147.92" y2="150.08" y3="151.65"/> + <curve x1="41.21" x2="43.36" x3="45.4" y1="153.23" y2="153.88" y3="153.95"/> + <curve x1="47.45" x2="49.54" x3="51.81" y1="154.02" y2="153.6" y3="152.89"/> + <curve x1="56.36" x2="61.66" x3="67.67" y1="151.45" y2="148.72" y3="144.91"/> + <curve x1="74.97" x2="83.28" x3="92.01" y1="140.28" y2="134.03" y3="126.56"/> + <line x="92.01" y="152.6"/> + <line x="82.95" y="152.6"/> + <line x="95.75" y="164.84"/> + <line x="108.04" y="152.6"/> + <line x="99.64" y="152.6"/> + <line x="99.64" y="127.12"/> + <curve x1="108.13" x2="116.2" x3="123.32" y1="134.34" y2="140.39" y3="144.91"/> + <curve x1="129.33" x2="134.63" x3="139.18" y1="148.72" y2="151.45" y3="152.89"/> + <curve x1="141.45" x2="143.54" x3="145.59" y1="153.61" y2="154.02" y3="153.95"/> + <curve x1="147.63" x2="149.78" x3="151.33" y1="153.88" y2="153.23" y3="151.65"/> + <curve x1="152.88" x2="153.49" x3="153.53" y1="150.08" y2="147.92" y3="145.88"/> + <curve x1="153.57" x2="153.13" x3="152.38" y1="143.83" y2="141.75" y3="139.48"/> + <curve x1="150.87" x2="148.05" x3="144.15" y1="134.96" y2="129.7" y3="123.75"/> + <curve x1="139.62" x2="133.59" x3="126.42" y1="116.84" y2="109.02" y3="100.81"/> + <line x="151.42" y="100.81"/> + <line x="151.42" y="109.22"/> + <line x="163.66" y="96.92"/> + <line x="151.42" y="84.13"/> + <line x="151.42" y="93.18"/> + <line x="125.84" y="93.18"/> + <curve x1="133.26" x2="139.5" x3="144.15" y1="84.74" y2="76.69" y3="69.59"/> + <curve x1="148.05" x2="150.87" x3="152.37" y1="63.64" y2="58.38" y3="53.86"/> + <curve x1="153.13" x2="153.57" x3="153.53" y1="51.6" y2="49.51" y3="47.47"/> + <curve x1="153.49" x2="152.88" x3="151.33" y1="45.42" y2="43.26" y3="41.69"/> + <curve x1="149.78" x2="147.63" x3="145.58" y1="40.11" y2="39.46" y3="39.39"/> + <curve x1="143.54" x2="141.45" x3="139.18" y1="39.32" y2="39.74" y3="40.46"/> + <curve x1="134.63" x2="129.33" x3="123.32" y1="41.89" y2="44.63" y3="48.43"/> + <curve x1="116.2" x2="108.13" x3="99.64" y1="52.95" y2="59" y3="66.22"/> + <line x="99.64" y="40.75"/> + <line x="108.04" y="40.75"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="120.16" y="96.67"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="1" x="95.5" x-axis-rotation="0" y="121.33"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="1" x="70.83" x-axis-rotation="0" y="96.67"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="1" x="95.5" x-axis-rotation="0" y="72.01"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="1" x="120.16" x-axis-rotation="0" y="96.67"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="275.55" name="fibre channel fabric switch" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="201.21"/> + <line x="179.27" y="201.21"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="201.21" y2="204.03" y3="207.64"/> + <line x="185.7" y="263.84"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="267.44" y2="270.26" y3="270.26"/> + <line x="11.72" y="270.26"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="270.26" y2="267.44" y3="263.84"/> + <line x="5.29" y="207.64"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="204.03" y2="201.21" y3="201.21"/> + <close/> + <move x="11.72" y="195.92"/> + <curve x1="5.27" x2="0" x3="0" y1="195.92" y2="201.19" y3="207.64"/> + <line x="0" y="263.84"/> + <curve x1="0" x2="5.27" x3="11.72" y1="270.28" y2="275.55" y3="275.55"/> + <line x="179.27" y="275.55"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="275.55" y2="270.28" y3="263.84"/> + <line x="190.99" y="207.64"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="201.19" y2="195.92" y3="195.92"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="38.63" y="128.37"/> + <line x="33.53" y="135.71"/> + <line x="36.92" y="135.71"/> + <line x="36.92" y="143.5"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="32.79" x-axis-rotation="0" y="145.24"/> + <line x="27.26" y="139.74"/> + <line x="29.65" y="137.34"/> + <line x="20.89" y="135.74"/> + <line x="22.5" y="144.53"/> + <line x="24.89" y="142.12"/> + <line x="30.42" y="147.62"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="28.77" x-axis-rotation="0" y="151.66"/> + <line x="20.97" y="151.66"/> + <line x="20.97" y="148.27"/> + <line x="13.63" y="153.31"/> + <line x="20.97" y="158.4"/> + <line x="20.97" y="155.02"/> + <line x="28.76" y="155.02"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="30.45" x-axis-rotation="0" y="159.08"/> + <line x="24.93" y="164.6"/> + <line x="22.54" y="162.21"/> + <line x="20.95" y="171"/> + <line x="29.7" y="169.37"/> + <line x="27.31" y="166.98"/> + <line x="32.81" y="161.46"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="36.92" x-axis-rotation="0" y="163.17"/> + <line x="36.92" y="170.96"/> + <line x="33.53" y="170.96"/> + <line x="38.63" y="178.3"/> + <line x="43.66" y="170.96"/> + <line x="40.28" y="170.96"/> + <line x="40.28" y="163.18"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="44.35" x-axis-rotation="0" y="161.48"/> + <line x="49.89" y="166.98"/> + <line x="47.5" y="169.38"/> + <line x="56.3" y="170.94"/> + <line x="54.64" y="162.19"/> + <line x="52.26" y="164.59"/> + <line x="46.74" y="159.1"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="48.42" x-axis-rotation="0" y="155.02"/> + <line x="56.22" y="155.02"/> + <line x="56.22" y="158.4"/> + <line x="63.56" y="153.31"/> + <line x="56.22" y="148.27"/> + <line x="56.22" y="151.66"/> + <line x="48.43" y="151.66"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="46.71" x-axis-rotation="0" y="147.55"/> + <line x="52.22" y="142.03"/> + <line x="54.61" y="144.43"/> + <line x="56.24" y="135.67"/> + <line x="47.44" y="137.27"/> + <line x="49.84" y="139.66"/> + <line x="44.33" y="145.18"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="40.28" x-axis-rotation="0" y="143.51"/> + <line x="40.28" y="135.71"/> + <line x="43.66" y="135.71"/> + <close/> + <move x="142.81" y="16.9"/> + <line x="142.81" y="27.08"/> + <line x="108.69" y="27.08"/> + <line x="108.69" y="39.96"/> + <line x="142.81" y="39.96"/> + <line x="142.81" y="51.11"/> + <line x="171.86" y="34.14"/> + <close/> + <move x="68.2" y="42.73"/> + <line x="39.15" y="59.97"/> + <line x="68.2" y="76.95"/> + <line x="68.2" y="65.8"/> + <line x="102.32" y="65.8"/> + <line x="102.32" y="52.91"/> + <line x="68.2" y="52.91"/> + <close/> + <move x="123.83" y="67.35"/> + <line x="123.83" y="77.53"/> + <line x="89.71" y="77.53"/> + <line x="89.71" y="90.42"/> + <line x="123.83" y="90.42"/> + <line x="123.83" y="101.57"/> + <line x="152.88" y="84.59"/> + <close/> + <move x="48.67" y="93.12"/> + <line x="19.62" y="110.36"/> + <line x="48.67" y="127.34"/> + <line x="48.67" y="116.19"/> + <line x="82.79" y="116.19"/> + <line x="82.79" y="103.3"/> + <line x="48.67" y="103.3"/> + <close/> + <move x="147.78" y="122.06"/> + <line x="142.82" y="126.8"/> + <line x="146.33" y="126.8"/> + <line x="146.33" y="136.89"/> + <curve x1="142.95" x2="139.73" x3="136.9" y1="133.99" y2="131.57" y3="129.78"/> + <curve x1="134.58" x2="132.52" x3="130.76" y1="128.3" y2="127.25" y3="126.69"/> + <curve x1="129.88" x2="129.07" x3="128.28" y1="126.41" y2="126.25" y3="126.28"/> + <curve x1="127.49" x2="126.66" x3="126.05" y1="126.3" y2="126.56" y3="127.17"/> + <curve x1="125.45" x2="125.21" x3="125.2" y1="127.78" y2="128.61" y3="129.4"/> + <curve x1="125.18" x2="125.36" x3="125.65" y1="130.2" y2="131.01" y3="131.88"/> + <curve x1="126.23" x2="127.32" x3="128.83" y1="133.63" y2="135.67" y3="137.98"/> + <curve x1="130.64" x2="133.05" x3="135.93" y1="140.73" y2="143.84" y3="147.12"/> + <line x="126.02" y="147.12"/> + <line x="126.02" y="143.61"/> + <line x="121.27" y="148.57"/> + <line x="126.02" y="153.33"/> + <line x="126.02" y="150.07"/> + <line x="135.7" y="150.07"/> + <curve x1="132.93" x2="130.59" x3="128.83" y1="153.25" y2="156.28" y3="158.96"/> + <curve x1="127.32" x2="126.23" x3="125.65" y1="161.26" y2="163.3" y3="165.06"/> + <curve x1="125.36" x2="125.18" x3="125.2" y1="165.93" y2="166.74" y3="167.53"/> + <curve x1="125.21" x2="125.45" x3="126.05" y1="168.32" y2="169.16" y3="169.77"/> + <curve x1="126.65" x2="127.49" x3="128.28" y1="170.38" y2="170.63" y3="170.66"/> + <curve x1="129.07" x2="129.88" x3="130.76" y1="170.69" y2="170.53" y3="170.25"/> + <curve x1="132.52" x2="134.58" x3="136.9" y1="169.69" y2="168.63" y3="167.16"/> + <curve x1="139.73" x2="142.95" x3="146.33" y1="165.36" y2="162.94" y3="160.05"/> + <line x="146.33" y="170.14"/> + <line x="142.82" y="170.14"/> + <line x="147.78" y="174.88"/> + <line x="152.54" y="170.14"/> + <line x="149.29" y="170.14"/> + <line x="149.29" y="160.27"/> + <curve x1="152.58" x2="155.71" x3="158.47" y1="163.06" y2="165.41" y3="167.16"/> + <curve x1="160.79" x2="162.85" x3="164.61" y1="168.63" y2="169.69" y3="170.25"/> + <curve x1="165.49" x2="166.3" x3="167.09" y1="170.53" y2="170.69" y3="170.66"/> + <curve x1="167.88" x2="168.71" x3="169.32" y1="170.63" y2="170.38" y3="169.77"/> + <curve x1="169.92" x2="170.16" x3="170.17" y1="169.16" y2="168.32" y3="167.53"/> + <curve x1="170.19" x2="170.01" x3="169.72" y1="166.74" y2="165.93" y3="165.05"/> + <curve x1="169.14" x2="168.05" x3="166.54" y1="163.3" y2="161.27" y3="158.96"/> + <curve x1="164.78" x2="162.44" x3="159.66" y1="156.28" y2="153.25" y3="150.07"/> + <line x="169.35" y="150.07"/> + <line x="169.35" y="153.33"/> + <line x="174.1" y="148.57"/> + <line x="169.35" y="143.61"/> + <line x="169.35" y="147.12"/> + <line x="159.44" y="147.12"/> + <curve x1="162.32" x2="164.73" x3="166.54" y1="143.84" y2="140.73" y3="137.98"/> + <curve x1="168.05" x2="169.14" x3="169.72" y1="135.67" y2="133.63" y3="131.88"/> + <curve x1="170.01" x2="170.19" x3="170.17" y1="131.01" y2="130.2" y3="129.4"/> + <curve x1="170.16" x2="169.92" x3="169.32" y1="128.61" y2="127.78" y3="127.17"/> + <curve x1="168.71" x2="167.88" x3="167.09" y1="126.56" y2="126.3" y3="126.28"/> + <curve x1="166.3" x2="165.49" x3="164.61" y1="126.25" y2="126.41" y3="126.69"/> + <curve x1="162.85" x2="160.79" x3="158.47" y1="127.25" y2="128.3" y3="129.78"/> + <curve x1="155.71" x2="152.58" x3="149.29" y1="131.53" y2="133.87" y3="136.67"/> + <line x="149.29" y="126.8"/> + <line x="152.54" y="126.8"/> + <close/> + <move x="167" y="128.99"/> + <line x="167" y="128.99"/> + <curve x1="167.33" x2="167.38" x3="167.38" y1="129" y2="129.06" y3="129.07"/> + <curve x1="167.39" x2="167.45" x3="167.46" y1="129.07" y2="129.12" y3="129.46"/> + <curve x1="167.47" x2="167.38" x3="167.15" y1="129.79" y2="130.34" y3="131.03"/> + <curve x1="166.69" x2="165.7" x3="164.27" y1="132.4" y2="134.3" y3="136.49"/> + <curve x1="162.45" x2="159.93" x3="156.89" y1="139.26" y2="142.49" y3="145.91"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="150.38" x-axis-rotation="0" y="139.31"/> + <curve x1="153.84" x2="157.12" x3="159.92" y1="136.32" y2="133.84" y3="132.07"/> + <curve x1="162.13" x2="164.04" x3="165.42" y1="130.67" y2="129.71" y3="129.27"/> + <curve x1="166.11" x2="166.67" x3="167" y1="129.06" y2="128.98" y3="128.99"/> + <close/> + <move x="128.37" y="128.99"/> + <curve x1="128.7" x2="129.25" x3="129.94" y1="128.98" y2="129.06" y3="129.27"/> + <curve x1="131.33" x2="133.24" x3="135.45" y1="129.71" y2="130.67" y3="132.07"/> + <curve x1="138.25" x2="141.53" x3="144.99" y1="133.84" y2="136.32" y3="139.31"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="138.49" x-axis-rotation="0" y="145.91"/> + <curve x1="135.44" x2="132.92" x3="131.1" y1="142.5" y2="139.26" y3="136.49"/> + <curve x1="129.67" x2="128.68" x3="128.22" y1="134.3" y2="132.4" y3="131.02"/> + <curve x1="127.99" x2="127.9" x3="127.91" y1="130.34" y2="129.79" y3="129.46"/> + <curve x1="127.92" x2="127.98" x3="127.99" y1="129.12" y2="129.07" y3="129.07"/> + <curve x1="127.99" x2="128.04" x3="128.37" y1="129.06" y2="129" y3="128.99"/> + <close/> + <move x="156.88" y="151.02"/> + <curve x1="159.93" x2="162.45" x3="164.27" y1="154.44" y2="157.68" y3="160.45"/> + <curve x1="165.7" x2="166.69" x3="167.15" y1="162.63" y2="164.54" y3="165.91"/> + <curve x1="167.38" x2="167.47" x3="167.46" y1="166.6" y2="167.15" y3="167.48"/> + <curve x1="167.45" x2="167.39" x3="167.38" y1="167.81" y2="167.86" y3="167.87"/> + <curve x1="167.38" x2="167.33" x3="167" y1="167.87" y2="167.94" y3="167.95"/> + <curve x1="166.67" x2="166.11" x3="165.42" y1="167.96" y2="167.88" y3="167.66"/> + <curve x1="164.04" x2="162.13" x3="159.92" y1="167.23" y2="166.27" y3="164.87"/> + <curve x1="157.12" x2="153.84" x3="150.38" y1="163.09" y2="160.62" y3="157.63"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="156.88" x-axis-rotation="0" y="151.02"/> + <close/> + <move x="138.48" y="151.03"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="144.99" x-axis-rotation="0" y="157.63"/> + <curve x1="141.52" x2="138.25" x3="135.45" y1="160.62" y2="163.09" y3="164.87"/> + <curve x1="133.24" x2="131.32" x3="129.94" y1="166.27" y2="167.23" y3="167.66"/> + <curve x1="129.25" x2="128.7" x3="128.37" y1="167.88" y2="167.96" y3="167.95"/> + <curve x1="128.04" x2="127.99" x3="127.99" y1="167.94" y2="167.87" y3="167.87"/> + <curve x1="127.98" x2="127.92" x3="127.91" y1="167.86" y2="167.81" y3="167.48"/> + <curve x1="127.9" x2="127.99" x3="128.22" y1="167.15" y2="166.6" y3="165.91"/> + <curve x1="128.68" x2="129.67" x3="131.1" y1="164.54" y2="162.63" y3="160.45"/> + <curve x1="132.92" x2="135.44" x3="138.48" y1="157.68" y2="154.44" y3="151.03"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="157.24" y="148.47"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="147.68" x-axis-rotation="0" y="158.02"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="138.13" x-axis-rotation="0" y="148.47"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="147.68" x-axis-rotation="0" y="138.91"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="157.24" x-axis-rotation="0" y="148.47"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="firewall" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="42.47" y="45.77"/> + <line x="42.47" y="79.1"/> + <line x="290.48" y="79.1"/> + <line x="290.48" y="165.43"/> + <line x="42.47" y="165.43"/> + <line x="42.47" y="198.76"/> + <line x="124.44" y="198.76"/> + <line x="124.44" y="285.09"/> + <line x="42.47" y="285.09"/> + <line x="42.47" y="318.42"/> + <line x="290.48" y="318.42"/> + <line x="290.48" y="404.76"/> + <line x="42.47" y="404.76"/> + <line x="42.47" y="438.09"/> + <line x="124.44" y="438.09"/> + <line x="124.44" y="524.42"/> + <line x="42.47" y="524.42"/> + <line x="42.47" y="557.75"/> + <line x="290.48" y="557.75"/> + <line x="290.48" y="644.08"/> + <line x="42.47" y="644.08"/> + <line x="42.47" y="677.41"/> + <line x="898.28" y="677.41"/> + <line x="898.28" y="644.08"/> + <line x="655.9" y="644.08"/> + <line x="655.9" y="557.75"/> + <line x="898.28" y="557.75"/> + <line x="898.28" y="524.42"/> + <line x="821.94" y="524.42"/> + <line x="821.94" y="438.09"/> + <line x="898.28" y="438.09"/> + <line x="898.28" y="404.76"/> + <line x="655.9" y="404.76"/> + <line x="655.9" y="318.42"/> + <line x="898.28" y="318.42"/> + <line x="898.28" y="285.09"/> + <line x="821.94" y="285.09"/> + <line x="821.94" y="198.76"/> + <line x="898.28" y="198.76"/> + <line x="898.28" y="165.43"/> + <line x="655.9" y="165.43"/> + <line x="655.9" y="79.1"/> + <line x="898.28" y="79.1"/> + <line x="898.28" y="45.77"/> + <close/> + <move x="323.81" y="79.1"/> + <line x="622.57" y="79.1"/> + <line x="622.57" y="165.43"/> + <line x="323.81" y="165.43"/> + <close/> + <move x="157.77" y="198.76"/> + <line x="456.53" y="198.76"/> + <line x="456.53" y="285.09"/> + <line x="157.77" y="285.09"/> + <close/> + <move x="489.86" y="198.76"/> + <line x="788.61" y="198.76"/> + <line x="788.61" y="285.09"/> + <line x="489.86" y="285.09"/> + <close/> + <move x="323.81" y="318.42"/> + <line x="622.57" y="318.42"/> + <line x="622.57" y="404.76"/> + <line x="323.81" y="404.76"/> + <close/> + <move x="157.77" y="438.09"/> + <line x="456.53" y="438.09"/> + <line x="456.53" y="524.42"/> + <line x="157.77" y="524.42"/> + <close/> + <move x="489.86" y="438.09"/> + <line x="788.61" y="438.09"/> + <line x="788.61" y="524.42"/> + <line x="489.86" y="524.42"/> + <close/> + <move x="323.81" y="557.75"/> + <line x="622.57" y="557.75"/> + <line x="622.57" y="644.08"/> + <line x="323.81" y="644.08"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="flow analytics" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="471.19" y="254.44"/> + <line x="489.66" y="258.64"/> + <line x="489.44" y="271.23"/> + <line x="525.15" y="279.25"/> + <line x="525.31" y="266.75"/> + <line x="554.46" y="273.38"/> + <line x="554.46" y="338.88"/> + <curve x1="554.46" x2="517.41" x3="470.94" y1="395.35" y2="446.22" y3="465.69"/> + <curve x1="418.43" x2="386.49" x3="386.49" y1="444.04" y2="393.29" y3="341.46"/> + <line x="386.49" y="273.64"/> + <line x="415.64" y="267.03"/> + <line x="415.8" y="279.25"/> + <line x="451.51" y="271.23"/> + <line x="451.3" y="258.95"/> + <close/> + <move x="531.88" y="316.68"/> + <line x="439.23" y="411.59"/> + <curve x1="447.69" x2="458.54" x3="472.48" y1="420.98" y2="430.04" y3="438.15"/> + <curve x1="524.23" x2="531.67" x3="531.67" y1="406.72" y2="354.35" y3="332.17"/> + <close/> + <move x="470.71" y="290.7"/> + <line x="409.92" y="306.47"/> + <line x="409.92" y="333.94"/> + <curve x1="409.92" x2="412.51" x3="430.89" y1="348.83" y2="375.38" y3="401.2"/> + <line x="525.59" y="304.18"/> + <close/> + <move x="283.48" y="207.47"/> + <curve x1="276.09" x2="269.04" x3="262.57" y1="207.47" y2="208.88" y3="211.41"/> + <line x="369.48" y="289.98"/> + <line x="369.48" y="260.06"/> + <line x="471.19" y="237"/> + <line x="571.47" y="259.81"/> + <line x="571.47" y="291.28"/> + <line x="680.13" y="211.41"/> + <curve x1="673.66" x2="666.62" x3="659.23" y1="208.88" y2="207.47" y3="207.47"/> + <close/> + <move x="237.57" y="230.56"/> + <curve x1="230.55" x2="226.41" x3="226.41" y1="240.04" y2="251.79" y3="264.54"/> + <line x="226.41" y="454.06"/> + <curve x1="226.41" x2="227.9" x3="230.6" y1="461.69" y2="468.96" y3="475.6"/> + <line x="372.56" y="371.27"/> + <curve x1="370.53" x2="369.48" x3="369.48" y1="361.49" y2="351.5" y3="341.46"/> + <line x="369.48" y="327.51"/> + <close/> + <move x="705.14" y="230.56"/> + <line x="571.47" y="328.8"/> + <line x="571.47" y="338.88"/> + <curve x1="571.47" x2="570.34" x3="568.24" y1="349.45" y2="359.82" y3="369.88"/> + <line x="712.1" y="475.6"/> + <curve x1="714.8" x2="716.29" x3="716.29" y1="468.96" y2="461.69" y3="454.06"/> + <line x="716.29" y="264.54"/> + <curve x1="716.29" x2="712.15" x3="705.14" y1="251.79" y2="240.04" y3="230.56"/> + <close/> + <move x="558.53" y="400.26"/> + <curve x1="541.9" x2="510.75" x3="474.03" y1="438.39" y2="468.88" y3="483.03"/> + <line x="470.98" y="484.2"/> + <line x="467.92" y="483.03"/> + <curve x1="427.96" x2="398.15" x3="382.31" y1="467.71" y2="437.49" y3="401.63"/> + <line x="249.01" y="499.6"/> + <curve x1="258.57" x2="270.51" x3="283.48" y1="506.84" y2="511.13" y3="511.13"/> + <line x="659.23" y="511.13"/> + <curve x1="672.2" x2="684.13" x3="693.69" y1="511.13" y2="506.84" y3="499.6"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="flow analytics2" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="143.77" y="191.4"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="143.77" x-axis-rotation="0" y="202.74"/> + <line x="217.77" y="202.74"/> + <curve x1="221.48" x2="225.38" x3="229.48" y1="198.76" y2="194.97" y3="191.4"/> + <close/> + <move x="435.25" y="191.4"/> + <curve x1="439.35" x2="443.25" x3="446.96" y1="194.97" y2="198.76" y3="202.74"/> + <line x="591.36" y="202.74"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="591.36" x-axis-rotation="0" y="191.4"/> + <close/> + <move x="143.77" y="226.2"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="143.77" x-axis-rotation="0" y="237.54"/> + <line x="193.14" y="237.54"/> + <curve x1="195.16" x2="197.34" x3="199.66" y1="233.66" y2="229.88" y3="226.2"/> + <close/> + <move x="465.07" y="226.2"/> + <curve x1="467.39" x2="469.58" x3="471.6" y1="229.88" y2="233.66" y3="237.54"/> + <line x="591.36" y="237.54"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="591.36" x-axis-rotation="0" y="226.2"/> + <close/> + <move x="332.55" y="228.22"/> + <line x="332.95" y="237.54"/> + <line x="370.51" y="237.54"/> + <curve x1="359.22" x2="346.32" x3="332.55" y1="231.61" y2="228.25" y3="228.22"/> + <close/> + <move x="325.87" y="228.47"/> + <curve x1="314.46" x2="303.77" x3="294.22" y1="229.35" y2="232.53" y3="237.54"/> + <line x="322.81" y="237.54"/> + <close/> + <move x="327.45" y="241.54"/> + <line x="293.95" y="340.99"/> + <line x="281.6" y="287.27"/> + <line x="258.99" y="344.85"/> + <curve x1="261.06" x2="263.53" x3="266.32" y1="349.21" y2="353.34" y3="357.21"/> + <line x="278.76" y="325.54"/> + <line x="291.23" y="379.8"/> + <curve x1="291.68" x2="292.13" x3="292.58" y1="380.06" y2="380.32" y3="380.57"/> + <line x="318.76" y="302.86"/> + <line x="321.22" y="359.8"/> + <line x="347.26" y="291.38"/> + <line x="374.04" y="379.5"/> + <curve x1="374.66" x2="375.27" x3="375.88" y1="379.13" y2="378.75" y3="378.37"/> + <line x="390.81" y="322.81"/> + <line x="404.09" y="320.95"/> + <line x="412.34" y="294.74"/> + <curve x1="411.15" x2="409.14" x3="406.45" y1="288.06" y2="281.7" y3="275.72"/> + <line x="395.42" y="310.72"/> + <line x="381.81" y="312.62"/> + <line x="374.18" y="340.99"/> + <line x="348.47" y="256.33"/> + <line x="330.17" y="304.41"/> + <close/> + <move x="143.77" y="260.99"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="143.77" x-axis-rotation="0" y="272.33"/> + <line x="180" y="272.33"/> + <curve x1="180.95" x2="182.03" x3="183.25" y1="268.49" y2="264.71" y3="260.99"/> + <close/> + <move x="266.88" y="260.99"/> + <curve x1="264.26" x2="261.93" x3="259.91" y1="264.55" y2="268.34" y3="272.33"/> + <line x="281.38" y="272.33"/> + <line x="283.02" y="268.14"/> + <line x="283.98" y="272.33"/> + <line x="311.1" y="272.33"/> + <line x="314.92" y="260.99"/> + <close/> + <move x="333.97" y="260.99"/> + <line x="334.46" y="272.33"/> + <line x="336.32" y="272.33"/> + <line x="340.63" y="260.99"/> + <close/> + <move x="355.8" y="260.99"/> + <line x="359.25" y="272.33"/> + <line x="401.65" y="272.33"/> + <line x="402.82" y="268.62"/> + <curve x1="401.3" x2="399.65" x3="397.85" y1="265.98" y2="263.43" y3="260.99"/> + <close/> + <move x="481.48" y="260.99"/> + <curve x1="482.7" x2="483.79" x3="484.73" y1="264.71" y2="268.49" y3="272.33"/> + <line x="591.36" y="272.33"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="591.36" x-axis-rotation="0" y="260.99"/> + <close/> + <move x="143.77" y="295.79"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="143.77" x-axis-rotation="0" y="307.12"/> + <line x="175.53" y="307.12"/> + <curve x1="175.59" x2="175.78" x3="176.11" y1="303.31" y2="299.53" y3="295.79"/> + <close/> + <move x="252.21" y="295.79"/> + <curve x1="251.6" x2="251.23" x3="251.12" y1="299.48" y2="303.27" y3="307.12"/> + <line x="267.71" y="307.12"/> + <line x="272.17" y="295.79"/> + <close/> + <move x="289.38" y="295.79"/> + <line x="291.98" y="307.12"/> + <line x="299.38" y="307.12"/> + <line x="303.2" y="295.79"/> + <close/> + <move x="366.38" y="295.79"/> + <line x="369.82" y="307.12"/> + <line x="380.25" y="307.12"/> + <line x="391.1" y="305.6"/> + <line x="394.21" y="295.79"/> + <close/> + <move x="488.62" y="295.79"/> + <curve x1="488.95" x2="489.15" x3="489.21" y1="299.53" y2="303.31" y3="307.12"/> + <line x="591.36" y="307.12"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="591.36" x-axis-rotation="0" y="295.79"/> + <close/> + <move x="143.77" y="330.58"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="143.77" x-axis-rotation="0" y="341.92"/> + <line x="178.91" y="341.92"/> + <curve x1="178.11" x2="177.46" x3="176.94" y1="338.19" y2="334.41" y3="330.58"/> + <close/> + <move x="253.79" y="330.58"/> + <curve x1="254.39" x2="255.08" x3="255.86" y1="332.87" y2="335.11" y3="337.3"/> + <line x="258.5" y="330.58"/> + <close/> + <move x="338.41" y="330.58"/> + <line x="334.1" y="341.92"/> + <line x="356.7" y="341.92"/> + <line x="353.25" y="330.58"/> + <close/> + <move x="394.59" y="330.58"/> + <line x="391.54" y="341.92"/> + <line x="407.05" y="341.92"/> + <curve x1="408.61" x2="409.92" x3="410.94" y1="338.28" y2="334.49" y3="330.58"/> + <close/> + <move x="487.8" y="330.58"/> + <curve x1="487.28" x2="486.62" x3="485.83" y1="334.41" y2="338.19" y3="341.92"/> + <line x="591.36" y="341.92"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="591.36" x-axis-rotation="0" y="330.58"/> + <close/> + <move x="314.41" y="333.53"/> + <line x="311.59" y="341.92"/> + <line x="314.78" y="341.92"/> + <close/> + <move x="143.77" y="365.38"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="143.77" x-axis-rotation="0" y="376.71"/> + <line x="190.76" y="376.71"/> + <curve x1="188.99" x2="187.36" x3="185.88" y1="373.01" y2="369.23" y3="365.38"/> + <close/> + <move x="273.04" y="365.38"/> + <curve x1="276.5" x2="280.3" x3="284.39" y1="369.05" y2="372.4" y3="375.37"/> + <line x="282.1" y="365.38"/> + <close/> + <move x="303.69" y="365.38"/> + <line x="299.87" y="376.71"/> + <line x="316.28" y="376.71"/> + <line x="315.79" y="365.38"/> + <close/> + <move x="325.17" y="365.38"/> + <line x="320.86" y="376.71"/> + <line x="367.27" y="376.71"/> + <line x="363.82" y="365.38"/> + <close/> + <move x="385.24" y="365.38"/> + <line x="383.12" y="373.25"/> + <curve x1="386.17" x2="389.03" x3="391.69" y1="370.83" y2="368.2" y3="365.38"/> + <close/> + <move x="478.86" y="365.38"/> + <curve x1="477.37" x2="475.75" x3="473.97" y1="369.23" y2="373.01" y3="376.71"/> + <line x="591.36" y="376.71"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="591.36" x-axis-rotation="0" y="365.38"/> + <close/> + <move x="332.36" y="167.75"/> + <curve x1="254.34" x2="190.62" x3="190.62" y1="167.75" y2="231.48" y3="309.5"/> + <curve x1="190.62" x2="198.65" x3="212.51" y1="337.2" y2="363.09" y3="384.97"/> + <line x="103.46" y="494.06"/> + <arc large-arc-flag="0" rx="22.68" ry="22.68" sweep-flag="0" x="103.46" x-axis-rotation="0" y="526.13"/> + <line x="116.08" y="538.74"/> + <arc large-arc-flag="0" rx="22.68" ry="22.68" sweep-flag="0" x="148.15" x-axis-rotation="0" y="538.73"/> + <line x="257.25" y="429.58"/> + <curve x1="279.06" x2="304.82" x3="332.36" y1="443.3" y2="451.25" y3="451.25"/> + <curve x1="410.38" x2="474.12" x3="474.12" y1="451.25" y2="387.52" y3="309.5"/> + <curve x1="474.12" x2="410.38" x3="332.36" y1="231.48" y2="167.75" y3="167.75"/> + <close/> + <move x="332.36" y="213.1"/> + <curve x1="385.87" x2="428.76" x3="428.76" y1="213.1" y2="255.99" y3="309.5"/> + <curve x1="428.76" x2="385.87" x3="332.36" y1="363.01" y2="405.89" y3="405.89"/> + <curve x1="278.86" x2="235.97" x3="235.97" y1="405.89" y2="363.01" y3="309.5"/> + <curve x1="235.97" x2="278.86" x3="332.36" y1="255.99" y2="213.1" y3="213.1"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="flow collector" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="429.52" y="95.97"/> + <curve x1="357.47" x2="293.66" x3="254.93" y1="95.97" y2="131.77" y3="186.52"/> + <line x="277.6" y="200.05"/> + <curve x1="311.59" x2="366.91" x3="429.52" y1="153" y2="122.43" y3="122.43"/> + <curve x1="533.11" x2="616.8" x3="616.8" y1="122.43" y2="206.12" y3="309.71"/> + <curve x1="616.8" x2="533.11" x3="429.52" y1="413.31" y2="497" y3="497"/> + <curve x1="367.13" x2="311.97" x3="277.95" y1="497" y2="466.64" y3="419.86"/> + <line x="255.27" y="433.4"/> + <curve x1="294.04" x2="357.69" x3="429.52" y1="487.87" y2="523.46" y3="523.46"/> + <curve x1="473.3" x2="514.04" x3="547.96" y1="523.46" y2="510.22" y3="487.56"/> + <line x="686.56" y="630.36"/> + <line x="724.53" y="593.5"/> + <line x="588.08" y="452.92"/> + <curve x1="622.36" x2="643.26" x3="643.26" y1="414.99" y2="364.76" y3="309.71"/> + <curve x1="643.26" x2="547.41" x3="429.52" y1="191.83" y2="95.97" y3="95.97"/> + <close/> + <move x="255.27" y="433.4"/> + <curve x1="249.31" x2="243.94" x3="239.22" y1="425.03" y2="416.22" y3="407.02"/> + <line x="151.94" y="459.1"/> + <line x="167.75" y="485.61"/> + <close/> + <move x="239.22" y="407.02"/> + <line x="261.92" y="393.48"/> + <curve x1="251.5" x2="244.85" x3="242.86" y1="372.64" y2="349.56" y3="325.15"/> + <line x="216.34" y="325.15"/> + <curve x1="218.44" x2="226.46" x3="239.22" y1="354.46" y2="382.15" y3="407.02"/> + <close/> + <move x="216.34" y="325.15"/> + <curve x1="215.97" x2="215.77" x3="215.77" y1="320.05" y2="314.91" y3="309.71"/> + <curve x1="215.77" x2="215.97" x3="216.34" y1="304.52" y2="299.38" y3="294.28"/> + <line x="121.63" y="294.28"/> + <line x="121.63" y="325.15"/> + <close/> + <move x="216.34" y="294.28"/> + <line x="242.87" y="294.28"/> + <curve x1="244.83" x2="251.38" x3="261.65" y1="270.07" y2="247.19" y3="226.48"/> + <line x="238.96" y="212.94"/> + <curve x1="226.35" x2="218.42" x3="216.34" y1="237.68" y2="265.18" y3="294.28"/> + <close/> + <move x="238.96" y="212.94"/> + <curve x1="243.65" x2="248.99" x3="254.93" y1="203.73" y2="194.9" y3="186.52"/> + <line x="166.6" y="133.82"/> + <line x="150.78" y="160.33"/> + <close/> + <move x="261.65" y="226.48"/> + <line x="281.02" y="238.04"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="1" x="297.02" x-axis-rotation="0" y="211.64"/> + <line x="277.6" y="200.05"/> + <curve x1="271.59" x2="266.25" x3="261.65" y1="208.37" y2="217.21" y3="226.48"/> + <close/> + <move x="297.02" y="211.64"/> + <line x="317.98" y="224.14"/> + <line x="325.72" y="211.17"/> + <line x="356.26" y="264.96"/> + <line x="294.42" y="263.63"/> + <line x="302.16" y="250.65"/> + <line x="281.02" y="238.04"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="0" x="265.36" x-axis-rotation="0" y="294.28"/> + <line x="297.91" y="294.28"/> + <line x="297.91" y="279.17"/> + <line x="351.7" y="309.71"/> + <line x="297.91" y="340.26"/> + <line x="297.91" y="325.15"/> + <line x="265.26" y="325.15"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="0" x="281.34" x-axis-rotation="0" y="381.9"/> + <line x="303.32" y="368.78"/> + <line x="295.58" y="355.8"/> + <line x="357.42" y="354.47"/> + <line x="326.88" y="408.26"/> + <line x="319.14" y="395.29"/> + <line x="297.39" y="408.26"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="0" x="429.52" x-axis-rotation="0" y="474.75"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="0" x="594.55" x-axis-rotation="0" y="309.71"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="0" x="429.52" x-axis-rotation="0" y="144.68"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="0" x="297.02" x-axis-rotation="0" y="211.64"/> + <close/> + <move x="297.39" y="408.26"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="1" x="281.34" x-axis-rotation="0" y="381.9"/> + <line x="261.92" y="393.48"/> + <curve x1="266.54" x2="271.91" x3="277.95" y1="402.74" y2="411.56" y3="419.86"/> + <close/> + <move x="265.26" y="325.15"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="1" x="264.48" x-axis-rotation="0" y="309.71"/> + <arc large-arc-flag="0" rx="165.03" ry="165.03" sweep-flag="1" x="265.36" x-axis-rotation="0" y="294.28"/> + <line x="242.87" y="294.28"/> + <curve x1="242.45" x2="242.23" x3="242.23" y1="299.37" y2="304.52" y3="309.71"/> + <curve x1="242.23" x2="242.45" x3="242.86" y1="314.91" y2="320.06" y3="325.15"/> + <close/> + <move x="364.72" y="181.71"/> + <line x="499.1" y="283.77"/> + <line x="587.47" y="283.77"/> + <line x="587.47" y="329.01"/> + <line x="499.1" y="329.01"/> + <line x="364.72" y="437.72"/> + <close/> + <move x="763.85" y="275.41"/> + <line x="763.85" y="292.38"/> + <line x="658.25" y="292.38"/> + <line x="658.25" y="327.05"/> + <line x="763.85" y="327.05"/> + <line x="763.85" y="344.02"/> + <line x="817.64" y="309.71"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="h323" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="469.83" y="57.77"/> + <arc large-arc-flag="0" rx="31.93" ry="31.93" sweep-flag="0" x="437.9" x-axis-rotation="0" y="89.7"/> + <arc large-arc-flag="0" rx="31.93" ry="31.93" sweep-flag="0" x="469.83" x-axis-rotation="0" y="121.63"/> + <arc large-arc-flag="0" rx="31.93" ry="31.93" sweep-flag="0" x="501.76" x-axis-rotation="0" y="89.7"/> + <arc large-arc-flag="0" rx="31.93" ry="31.93" sweep-flag="0" x="469.83" x-axis-rotation="0" y="57.77"/> + <close/> + <move x="159.12" y="150.06"/> + <line x="159.12" y="529.58"/> + <line x="778.72" y="529.58"/> + <line x="778.72" y="150.06"/> + <close/> + <move x="455.07" y="572.86"/> + <curve x1="447.51" x2="441.2" x3="436.12" y1="572.86" y2="575.03" y3="579.37"/> + <curve x1="431.04" x2="427.79" x3="426.36" y1="583.67" y2="589.74" y3="597.6"/> + <line x="438.07" y="599.68"/> + <curve x1="438.94" x2="440.9" x3="443.93" y1="593.95" y2="589.66" y3="586.79"/> + <curve x1="446.97" x2="450.77" x3="455.33" y1="583.93" y2="582.49" y3="582.49"/> + <curve x1="459.93" x2="463.68" x3="466.59" y1="582.49" y2="583.91" y3="586.73"/> + <curve x1="469.5" x2="470.95" x3="470.95" y1="589.55" y2="593.11" y3="597.4"/> + <curve x1="470.95" x2="468.95" x3="464.96" y1="602.83" y2="606.84" y3="609.45"/> + <curve x1="460.97" x2="456.48" x3="451.48" y1="612.05" y2="613.35" y3="613.35"/> + <curve x1="451.01" x2="450.38" x3="449.6" y1="613.35" y2="613.31" y3="613.22"/> + <line x="448.29" y="623.51"/> + <curve x1="451.59" x2="454.35" x3="456.56" y1="622.64" y2="622.21" y3="622.21"/> + <curve x1="461.99" x2="466.46" x3="469.97" y1="622.21" y2="623.97" y3="627.48"/> + <curve x1="473.49" x2="475.25" x3="475.25" y1="630.95" y2="635.38" y3="640.76"/> + <curve x1="475.25" x2="473.34" x3="469.52" y1="646.41" y2="651.14" y3="654.96"/> + <curve x1="465.74" x2="461.1" x3="455.59" y1="658.77" y2="660.69" y3="660.69"/> + <curve x1="450.94" x2="446.99" x3="443.74" y1="660.69" y2="659.23" y3="656.32"/> + <curve x1="440.53" x2="438.25" x3="436.9" y1="653.37" y2="648.58" y3="641.94"/> + <line x="425.18" y="643.5"/> + <curve x1="425.96" x2="429.11" x3="434.62" y1="651.44" y2="657.91" y3="662.9"/> + <curve x1="440.18" x2="447.14" x3="455.52" y1="667.89" y2="670.38" y3="670.38"/> + <curve x1="464.81" x2="472.49" x3="478.57" y1="670.38" y2="667.5" y3="661.73"/> + <curve x1="484.64" x2="487.68" x3="487.68" y1="655.91" y2="648.84" y3="640.5"/> + <curve x1="487.68" x2="486.12" x3="483" y1="634.34" y2="629.22" y3="625.14"/> + <curve x1="479.87" x2="475.49" x3="469.84" y1="621.02" y2="618.3" y3="617"/> + <curve x1="474.18" x2="477.46" x3="479.68" y1="615" y2="612.31" y3="608.93"/> + <curve x1="481.89" x2="483" x3="483" y1="605.54" y2="601.79" y3="597.66"/> + <curve x1="483" x2="481.82" x3="479.48" y1="593.32" y2="589.22" y3="585.36"/> + <curve x1="477.18" x2="473.84" x3="469.45" y1="581.5" y2="578.46" y3="576.24"/> + <curve x1="465.07" x2="460.27" x3="455.07" y1="573.99" y2="572.86" y3="572.86"/> + <close/> + <move x="531.04" y="572.86"/> + <curve x1="521.97" x2="514.75" x3="509.36" y1="572.86" y2="575.22" y3="579.96"/> + <curve x1="503.98" x2="500.88" x3="500.05" y1="584.64" y2="591.48" y3="600.46"/> + <line x="512.1" y="601.7"/> + <curve x1="512.14" x2="513.85" x3="517.24" y1="595.71" y2="591.02" y3="587.64"/> + <curve x1="520.63" x2="525.14" x3="530.78" y1="584.25" y2="582.56" y3="582.56"/> + <curve x1="536.12" x2="540.44" x3="543.74" y1="582.56" y2="584.17" y3="587.38"/> + <curve x1="547.08" x2="548.75" x3="548.75" y1="590.55" y2="594.45" y3="599.1"/> + <curve x1="548.75" x2="546.93" x3="543.28" y1="603.52" y2="608.23" y3="613.22"/> + <curve x1="539.64" x2="532.63" x3="522.25" y1="618.17" y2="624.9" y3="633.41"/> + <curve x1="515.57" x2="510.45" x3="506.89" y1="638.88" y2="643.69" y3="647.86"/> + <curve x1="503.37" x2="500.81" x3="499.21" y1="652.03" y2="656.26" y3="660.55"/> + <curve x1="498.21" x2="497.75" x3="497.84" y1="663.16" y2="665.87" y3="668.69"/> + <line x="560.93" y="668.69"/> + <line x="560.93" y="657.43"/> + <line x="514.12" y="657.43"/> + <curve x1="515.42" x2="517.07" x3="519.06" y1="655.3" y2="653.2" y3="651.12"/> + <curve x1="521.06" x2="525.57" x3="532.61" y1="648.99" y2="644.97" y3="639.07"/> + <curve x1="541.03" x2="547.04" x3="550.64" y1="631.95" y2="626.35" y3="622.27"/> + <curve x1="554.28" x2="556.89" x3="558.45" y1="618.19" y2="614.31" y3="610.62"/> + <curve x1="560.01" x2="560.79" x3="560.79" y1="606.93" y2="603.18" y3="599.36"/> + <curve x1="560.79" x2="558.13" x3="552.79" y1="591.85" y2="585.55" y3="580.48"/> + <curve x1="547.45" x2="540.2" x3="531.04" y1="575.4" y2="572.86" y3="572.86"/> + <close/> + <move x="603.5" y="572.86"/> + <curve x1="595.95" x2="589.63" x3="584.56" y1="572.86" y2="575.03" y3="579.37"/> + <curve x1="579.48" x2="576.23" x3="574.79" y1="583.67" y2="589.74" y3="597.6"/> + <line x="586.51" y="599.68"/> + <curve x1="587.38" x2="589.33" x3="592.37" y1="593.95" y2="589.66" y3="586.79"/> + <curve x1="595.41" x2="599.21" x3="603.76" y1="583.93" y2="582.49" y3="582.49"/> + <curve x1="608.36" x2="612.12" x3="615.03" y1="582.49" y2="583.91" y3="586.73"/> + <curve x1="617.94" x2="619.39" x3="619.39" y1="589.55" y2="593.11" y3="597.4"/> + <curve x1="619.39" x2="617.39" x3="613.4" y1="602.83" y2="606.84" y3="609.45"/> + <curve x1="609.41" x2="604.91" x3="599.92" y1="612.05" y2="613.35" y3="613.35"/> + <curve x1="599.44" x2="598.82" x3="598.04" y1="613.35" y2="613.31" y3="613.22"/> + <line x="596.73" y="623.51"/> + <curve x1="600.03" x2="602.79" x3="605" y1="622.64" y2="622.21" y3="622.21"/> + <curve x1="610.43" x2="614.9" x3="618.41" y1="622.21" y2="623.97" y3="627.48"/> + <curve x1="621.93" x2="623.69" x3="623.69" y1="630.95" y2="635.38" y3="640.76"/> + <curve x1="623.69" x2="621.77" x3="617.96" y1="646.41" y2="651.14" y3="654.96"/> + <curve x1="614.18" x2="609.54" x3="604.02" y1="658.77" y2="660.69" y3="660.69"/> + <curve x1="599.38" x2="595.43" x3="592.18" y1="660.69" y2="659.23" y3="656.32"/> + <curve x1="588.96" x2="586.69" x3="585.34" y1="653.37" y2="648.58" y3="641.94"/> + <line x="573.62" y="643.5"/> + <curve x1="574.4" x2="577.55" x3="583.06" y1="651.44" y2="657.91" y3="662.9"/> + <curve x1="588.62" x2="595.58" x3="603.96" y1="667.89" y2="670.38" y3="670.38"/> + <curve x1="613.25" x2="620.93" x3="627.01" y1="670.38" y2="667.5" y3="661.73"/> + <curve x1="633.08" x2="636.12" x3="636.12" y1="655.91" y2="648.84" y3="640.5"/> + <curve x1="636.12" x2="634.56" x3="631.43" y1="634.34" y2="629.22" y3="625.14"/> + <curve x1="628.31" x2="623.92" x3="618.28" y1="621.02" y2="618.3" y3="617"/> + <curve x1="622.62" x2="625.9" x3="628.11" y1="615" y2="612.31" y3="608.93"/> + <curve x1="630.33" x2="631.43" x3="631.43" y1="605.54" y2="601.79" y3="597.66"/> + <curve x1="631.43" x2="630.26" x3="627.92" y1="593.32" y2="589.22" y3="585.36"/> + <curve x1="625.62" x2="622.27" x3="617.89" y1="581.5" y2="578.46" y3="576.24"/> + <curve x1="613.51" x2="608.71" x3="603.5" y1="573.99" y2="572.86" y3="572.86"/> + <close/> + <move x="296.93" y="573.25"/> + <line x="296.93" y="668.69"/> + <line x="309.56" y="668.69"/> + <line x="309.56" y="623.71"/> + <line x="359.17" y="623.71"/> + <line x="359.17" y="668.69"/> + <line x="371.8" y="668.69"/> + <line x="371.8" y="573.25"/> + <line x="359.17" y="573.25"/> + <line x="359.17" y="612.44"/> + <line x="309.56" y="612.44"/> + <line x="309.56" y="573.25"/> + <close/> + <move x="394.71" y="655.35"/> + <line x="394.71" y="668.69"/> + <line x="408.06" y="668.69"/> + <line x="408.06" y="655.35"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="151.05" name="handheld" strokewidth="inherit" w="116.6"> + <connections/> + <foreground> + <path> + <move x="63.69" y="135.2"/> + <arc large-arc-flag="0" rx="5.44" ry="5.44" sweep-flag="1" x="58.25" x-axis-rotation="0" y="140.63"/> + <arc large-arc-flag="0" rx="5.44" ry="5.44" sweep-flag="1" x="52.81" x-axis-rotation="0" y="135.2"/> + <arc large-arc-flag="0" rx="5.44" ry="5.44" sweep-flag="1" x="58.25" x-axis-rotation="0" y="129.76"/> + <arc large-arc-flag="0" rx="5.44" ry="5.44" sweep-flag="1" x="63.69" x-axis-rotation="0" y="135.2"/> + <close/> + <move x="61.09" y="12.16"/> + <arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="58.19" x-axis-rotation="0" y="15.06"/> + <arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="55.29" x-axis-rotation="0" y="12.16"/> + <arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="58.19" x-axis-rotation="0" y="9.26"/> + <arc large-arc-flag="0" rx="2.9" ry="2.9" sweep-flag="1" x="61.09" x-axis-rotation="0" y="12.16"/> + <close/> + <move x="11.16" y="19.61"/> + <line x="105.57" y="19.61"/> + <line x="105.57" y="124.47"/> + <line x="11.16" y="124.47"/> + <close/> + <move x="8.9" y="0"/> + <curve x1="4.01" x2="0" x3="0" y1="0" y2="4.01" y3="8.9"/> + <line x="0" y="142.15"/> + <curve x1="0" x2="4.01" x3="8.9" y1="147.03" y2="151.05" y3="151.05"/> + <line x="107.7" y="151.05"/> + <curve x1="112.59" x2="116.6" x3="116.6" y1="151.05" y2="147.03" y3="142.15"/> + <line x="116.6" y="8.9"/> + <curve x1="116.6" x2="112.59" x3="107.7" y1="4.01" y2="0" y3="0"/> + <close/> + <move x="8.9" y="5"/> + <line x="107.7" y="5"/> + <curve x1="109.9" x2="111.6" x3="111.6" y1="5" y2="6.7" y3="8.9"/> + <line x="111.6" y="142.15"/> + <curve x1="111.6" x2="109.9" x3="107.7" y1="144.35" y2="146.05" y3="146.05"/> + <line x="8.9" y="146.05"/> + <curve x1="6.7" x2="5" x3="5" y1="146.05" y2="144.35" y3="142.15"/> + <line x="5" y="8.9"/> + <curve x1="5" x2="6.7" x3="8.9" y1="6.7" y2="5" y3="5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="684.68" name="hdtv" strokewidth="inherit" w="838.26"> + <connections/> + <foreground> + <path> + <move x="838.26" y="0"/> + <line x="0" y="1.39"/> + <line x="0" y="548.89"/> + <line x="334.05" y="548.89"/> + <line x="334.05" y="633.27"/> + <line x="155.41" y="633.27"/> + <line x="155.41" y="684.68"/> + <line x="683.56" y="684.68"/> + <line x="683.56" y="633.27"/> + <line x="506.66" y="633.27"/> + <line x="506.66" y="548.89"/> + <line x="838.26" y="548.89"/> + <close/> + <move x="830.7" y="7.57"/> + <line x="830.7" y="541.33"/> + <line x="499.1" y="541.33"/> + <line x="499.1" y="640.82"/> + <line x="675.99" y="640.82"/> + <line x="675.99" y="677.12"/> + <line x="162.96" y="677.12"/> + <line x="162.96" y="640.82"/> + <line x="341.61" y="640.82"/> + <line x="341.61" y="541.33"/> + <line x="7.56" y="541.33"/> + <line x="7.56" y="8.94"/> + <close/> + <move x="84.41" y="40.53"/> + <line x="84.41" y="510.1"/> + <line x="753.87" y="510.1"/> + <line x="753.87" y="40.53"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="721.69" name="home office" strokewidth="inherit" w="691.66"> + <connections/> + <foreground> + <path> + <move x="234.87" y="0"/> + <line x="147.04" y="88.07"/> + <line x="147.04" y="34.6"/> + <line x="78.69" y="34.6"/> + <line x="78.69" y="157.78"/> + <line x="0" y="236.38"/> + <line x="44.63" y="236.38"/> + <line x="44.63" y="551.77"/> + <line x="245.6" y="551.77"/> + <line x="245.6" y="610.08"/> + <curve x1="245.6" x2="265.48" x3="289.73" y1="634.34" y2="654.21" y3="654.21"/> + <line x="426.86" y="654.21"/> + <line x="426.86" y="683.79"/> + <line x="366.57" y="683.79"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="366.57" x-axis-rotation="0" y="721.59"/> + <line x="570.68" y="721.59"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="570.68" x-axis-rotation="0" y="683.79"/> + <line x="510.4" y="683.79"/> + <line x="510.4" y="654.21"/> + <line x="647.53" y="654.21"/> + <curve x1="671.78" x2="691.66" x3="691.66" y1="654.21" y2="634.34" y3="610.08"/> + <line x="691.66" y="405.37"/> + <curve x1="691.66" x2="671.78" x3="647.53" y1="381.12" y2="361.24" y3="361.24"/> + <line x="426.15" y="361.24"/> + <line x="426.15" y="236.38"/> + <line x="469.73" y="236.38"/> + <close/> + <move x="67.31" y="236.38"/> + <line x="403.47" y="236.38"/> + <line x="403.47" y="361.24"/> + <line x="289.73" y="361.24"/> + <curve x1="265.48" x2="245.6" x3="245.6" y1="361.24" y2="381.12" y3="405.37"/> + <line x="245.6" y="529.1"/> + <line x="67.31" y="529.1"/> + <close/> + <move x="289.73" y="383.92"/> + <line x="647.53" y="383.92"/> + <curve x1="659.61" x2="668.98" x3="668.98" y1="383.92" y2="393.29" y3="405.37"/> + <line x="668.98" y="610.08"/> + <curve x1="668.98" x2="659.61" x3="647.53" y1="622.17" y2="631.54" y3="631.54"/> + <line x="289.73" y="631.54"/> + <curve x1="277.65" x2="268.28" x3="268.28" y1="631.54" y2="622.17" y3="610.08"/> + <line x="268.28" y="405.37"/> + <curve x1="268.28" x2="277.65" x3="289.73" y1="393.29" y2="383.92" y3="383.92"/> + <close/> + <move x="299.29" y="407.77"/> + <line x="299.29" y="606.86"/> + <line x="637.97" y="606.86"/> + <line x="637.97" y="407.77"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="host based security" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="106.5" y="124.51"/> + <line x="106.5" y="417.94"/> + <line x="261.65" y="417.94"/> + <line x="261.65" y="539.2"/> + <line x="245.14" y="539.2"/> + <curve x1="235.03" x2="226.89" x3="226.89" y1="539.2" y2="547.34" y3="557.45"/> + <line x="226.89" y="571.06"/> + <curve x1="226.89" x2="235.03" x3="245.14" y1="581.17" y2="589.31" y3="589.31"/> + <line x="606.3" y="589.31"/> + <curve x1="616.41" x2="624.55" x3="624.55" y1="589.31" y2="581.17" y3="571.06"/> + <line x="624.55" y="557.45"/> + <curve x1="624.55" x2="616.41" x3="606.3" y1="547.34" y2="539.2" y3="539.2"/> + <line x="589.5" y="539.2"/> + <line x="589.5" y="307.92"/> + <curve x1="589.5" x2="583.32" x3="575.94" y1="300.54" y2="294.35" y3="294.35"/> + <line x="330.68" y="294.35"/> + <line x="330.68" y="124.51"/> + <close/> + <move x="225.25" y="138.3"/> + <curve x1="234.18" x2="244.59" x3="248.2" y1="138.38" y2="139.82" y3="143.31"/> + <curve x1="251.72" x2="255.54" x3="259.03" y1="146.09" y2="150.41" y3="151.86"/> + <curve x1="264.15" x2="263.98" x3="263.62" y1="153.57" y2="158.55" y3="163.69"/> + <line x="263.7" y="201.61"/> + <curve x1="262.68" x2="255.73" x3="233.47" y1="222.27" y2="241.92" y3="258.94"/> + <curve x1="242.36" x2="261.64" x3="275.75" y1="267.95" y2="278.06" y3="279.81"/> + <curve x1="293.73" x2="318.16" x3="320.07" y1="282.3" y2="302.86" y3="337.39"/> + <line x="323.86" y="402.99"/> + <curve x1="292.09" x2="255.19" x3="218.33" y1="409.48" y2="414.55" y3="414.55"/> + <curve x1="186.38" x2="146.32" x3="108.81" y1="414.55" y2="412.88" y3="402.74"/> + <line x="112.59" y="342.85"/> + <curve x1="112.68" x2="133.73" x3="167.76" y1="307.13" y2="285.26" y3="277.13"/> + <curve x1="177.82" x2="189.37" x3="196.4" y1="274.01" y2="266.1" y3="257.5"/> + <curve x1="182.91" x2="170.59" x3="170.59" y1="246.21" y2="226.21" y3="201.64"/> + <curve x1="168.78" x2="167.21" x3="168.64" y1="187.71" y2="170.16" y3="160.46"/> + <curve x1="170.07" x2="179.76" x3="186.68" y1="151.63" y2="141.74" y3="141.98"/> + <curve x1="207.79" x2="206.77" x3="214.75" y1="142.77" y2="139.88" y3="138.94"/> + <curve x1="217.43" x2="221.18" x3="225.25" y1="138.5" y2="138.26" y3="138.3"/> + <close/> + <move x="330.68" y="309.47"/> + <line x="574.39" y="309.47"/> + <line x="574.39" y="539.2"/> + <line x="276.76" y="539.2"/> + <line x="276.76" y="417.94"/> + <line x="330.68" y="417.94"/> + <close/> + <move x="486.66" y="351.98"/> + <arc large-arc-flag="0" rx="45.96" ry="45.96" sweep-flag="0" x="440.7" x-axis-rotation="0" y="397.94"/> + <arc large-arc-flag="0" rx="45.96" ry="45.96" sweep-flag="0" x="441.46" x-axis-rotation="0" y="406.18"/> + <line x="331.48" y="444.43"/> + <arc large-arc-flag="1" rx="7.56" ry="7.56" sweep-flag="0" x="336.45" x-axis-rotation="0" y="458.7"/> + <line x="346.65" y="455.16"/> + <curve x1="350.46" x2="354.31" x3="358.02" y1="465.05" y2="474.98" y3="486.05"/> + <arc large-arc-flag="1" rx="7.56" ry="7.56" sweep-flag="0" x="372.35" x-axis-rotation="0" y="481.25"/> + <curve x1="371.35" x2="370.34" x3="369.33" y1="478.26" y2="475.37" y3="472.54"/> + <line x="382.28" y="468.05"/> + <curve x1="383.37" x2="384.44" x3="385.51" y1="471.07" y2="474.16" y3="477.34"/> + <arc large-arc-flag="1" rx="7.56" ry="7.56" sweep-flag="0" x="399.84" x-axis-rotation="0" y="472.54"/> + <curve x1="395.96" x2="391.97" x3="388.14" y1="460.94" y2="450.69" y3="440.73"/> + <line x="446.62" y="420.39"/> + <arc large-arc-flag="0" rx="45.96" ry="45.96" sweep-flag="0" x="486.66" x-axis-rotation="0" y="443.91"/> + <arc large-arc-flag="0" rx="45.96" ry="45.96" sweep-flag="0" x="532.62" x-axis-rotation="0" y="397.94"/> + <arc large-arc-flag="0" rx="45.96" ry="45.96" sweep-flag="0" x="486.66" x-axis-rotation="0" y="351.98"/> + <close/> + <move x="503.38" y="376.27"/> + <arc large-arc-flag="0" rx="16.26" ry="16.26" sweep-flag="1" x="519.64" x-axis-rotation="0" y="392.54"/> + <arc large-arc-flag="0" rx="16.26" ry="16.26" sweep-flag="1" x="503.38" x-axis-rotation="0" y="408.8"/> + <arc large-arc-flag="0" rx="16.26" ry="16.26" sweep-flag="1" x="487.12" x-axis-rotation="0" y="392.54"/> + <arc large-arc-flag="0" rx="16.26" ry="16.26" sweep-flag="1" x="503.38" x-axis-rotation="0" y="376.27"/> + <close/> + <move x="516.28" y="552.72"/> + <line x="590.08" y="552.72"/> + <line x="590.08" y="572.26"/> + <line x="516.28" y="572.26"/> + <close/> + <move x="397.52" y="554.97"/> + <curve x1="402.21" x2="406.01" x3="406.01" y1="554.97" y2="558.77" y3="563.46"/> + <curve x1="406.01" x2="402.21" x3="397.52" y1="568.15" y2="571.95" y3="571.95"/> + <curve x1="392.83" x2="389.03" x3="389.03" y1="571.95" y2="568.15" y3="563.46"/> + <curve x1="389.03" x2="392.83" x3="397.52" y1="558.77" y2="554.97" y3="554.97"/> + <close/> + <move x="424.42" y="554.97"/> + <curve x1="429.1" x2="432.9" x3="432.9" y1="554.97" y2="558.77" y3="563.46"/> + <curve x1="432.9" x2="429.1" x3="424.42" y1="568.15" y2="571.95" y3="571.95"/> + <curve x1="419.73" x2="415.93" x3="415.93" y1="571.95" y2="568.15" y3="563.46"/> + <curve x1="415.93" x2="419.73" x3="424.42" y1="558.77" y2="554.97" y3="554.97"/> + <close/> + <move x="451.31" y="554.97"/> + <curve x1="456" x2="459.8" x3="459.8" y1="554.97" y2="558.77" y3="563.46"/> + <curve x1="459.8" x2="456" x3="451.31" y1="568.15" y2="571.95" y3="571.95"/> + <curve x1="446.62" x2="442.82" x3="442.82" y1="571.95" y2="568.15" y3="563.46"/> + <curve x1="442.82" x2="446.62" x3="451.31" y1="558.77" y2="554.97" y3="554.97"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="258.04" name="hypervisor" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="30.49" y="21.61"/> + <line x="162.03" y="21.61"/> + <curve x1="167.68" x2="172.23" x3="172.23" y1="21.61" y2="26.16" y3="31.82"/> + <line x="172.23" y="110.25"/> + <curve x1="172.23" x2="167.68" x3="162.03" y1="115.9" y2="120.45" y3="120.45"/> + <line x="30.49" y="120.45"/> + <curve x1="24.84" x2="20.28" x3="20.28" y1="120.45" y2="115.9" y3="110.25"/> + <line x="20.28" y="31.82"/> + <curve x1="20.28" x2="24.84" x3="30.49" y1="26.16" y2="21.61" y3="21.61"/> + <close/> + <move x="30.49" y="137.99"/> + <line x="162.03" y="137.99"/> + <curve x1="167.68" x2="172.23" x3="172.23" y1="137.99" y2="142.54" y3="148.2"/> + <line x="172.23" y="226.63"/> + <curve x1="172.23" x2="167.68" x3="162.03" y1="232.28" y2="236.83" y3="236.83"/> + <line x="30.49" y="236.83"/> + <curve x1="24.84" x2="20.28" x3="20.28" y1="236.83" y2="232.28" y3="226.63"/> + <line x="20.28" y="148.2"/> + <curve x1="20.28" x2="24.84" x3="30.49" y1="142.54" y2="137.99" y3="137.99"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="246.32"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="249.92" y2="252.74" y3="252.74"/> + <line x="11.72" y="252.74"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="252.74" y2="249.92" y3="246.32"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="246.32"/> + <curve x1="0" x2="5.27" x3="11.72" y1="252.76" y2="258.04" y3="258.04"/> + <line x="179.27" y="258.04"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="258.04" y2="252.76" y3="246.32"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="102.19" y="195.04"/> + <curve x1="103.16" x2="110.63" x3="123.1" y1="205.93" y2="212.24" y3="212.24"/> + <curve x1="132.28" x2="143.31" x3="143.31" y1="212.24" y2="208.95" y3="197.25"/> + <curve x1="143.31" x2="136.69" x3="127.13" y1="186.25" y2="183.19" y3="181.31"/> + <curve x1="120.85" x2="113.89" x3="113.89" y1="180.17" y2="178.24" y3="173.89"/> + <curve x1="113.89" x2="119.19" x3="123.09" y1="171.06" y2="168.88" y3="168.88"/> + <curve x1="127.31" x2="131.49" x3="131.63" y1="168.88" y2="171.99" y3="176.16"/> + <line x="142.24" y="176.23"/> + <curve x1="141.77" x2="136.15" x3="122.94" y1="168.14" y2="160.89" y3="160.89"/> + <curve x1="115.26" x2="104.24" x3="104.24" y1="160.89" y2="164.06" y3="175.1"/> + <curve x1="104.24" x2="114.88" x3="120.11" y1="185.19" y2="188.79" y3="189.56"/> + <curve x1="128.96" x2="133.25" x3="133.25" y1="191.13" y2="192.82" y3="197.03"/> + <curve x1="133.25" x2="128.81" x3="123.65" y1="201.69" y2="204.06" y3="204.06"/> + <curve x1="117.54" x2="112.95" x3="112.3" y1="204.06" y2="200.95" y3="194.75"/> + <close/> + <move x="72.7" y="203.99"/> + <curve x1="63.54" x2="58.29" x3="58.29" y1="203.99" y2="196.55" y3="186.65"/> + <curve x1="58.29" x2="65" x3="72.93" y1="174.16" y2="169.68" y3="169.68"/> + <curve x1="79.77" x2="86.16" x3="86.16" y1="169.68" y2="173.97" y3="186.98"/> + <curve x1="86.16" x2="78.93" x3="72.7" y1="199.27" y2="203.99" y3="203.99"/> + <close/> + <move x="71.7" y="212.35"/> + <curve x1="86.9" x2="96.93" x3="96.93" y1="212.35" y2="202.18" y3="187.07"/> + <curve x1="96.93" x2="82.99" x3="73.22" y1="167.44" y2="160.9" y3="160.9"/> + <curve x1="58.37" x2="47.75" x3="47.75" y1="160.9" y2="167.89" y3="186.79"/> + <curve x1="47.75" x2="61.11" x3="71.7" y1="206" y2="212.35" y3="212.35"/> + <close/> + <move x="30.72" y="141.39"/> + <line x="161.79" y="141.39"/> + <curve x1="165.38" x2="168.26" x3="168.26" y1="141.39" y2="144.28" y3="147.86"/> + <line x="168.26" y="227.72"/> + <curve x1="168.26" x2="165.38" x3="161.79" y1="231.3" y2="234.19" y3="234.19"/> + <line x="30.72" y="234.19"/> + <curve x1="27.14" x2="24.25" x3="24.25" y1="234.19" y2="231.3" y3="227.72"/> + <line x="24.25" y="147.86"/> + <curve x1="24.25" x2="27.14" x3="30.72" y1="144.28" y2="141.39" y3="141.39"/> + <close/> + <move x="97.5" y="94.79"/> + <line x="107.09" y="94.79"/> + <line x="107.09" y="55.07"/> + <line x="116.92" y="94.79"/> + <line x="126.9" y="94.79"/> + <line x="137.32" y="55.84"/> + <line x="137.32" y="94.79"/> + <line x="146.4" y="94.79"/> + <line x="146.4" y="44.94"/> + <line x="131.08" y="44.94"/> + <line x="121.93" y="78.77"/> + <line x="112.77" y="44.94"/> + <line x="97.5" y="44.94"/> + <close/> + <move x="63.42" y="94.79"/> + <line x="74.19" y="94.79"/> + <line x="92.31" y="44.94"/> + <line x="81.41" y="44.94"/> + <line x="69.07" y="82.27"/> + <line x="55.98" y="44.94"/> + <line x="45.15" y="44.94"/> + <close/> + <move x="30.72" y="25.01"/> + <line x="161.79" y="25.01"/> + <curve x1="165.38" x2="168.26" x3="168.26" y1="25.01" y2="27.9" y3="31.48"/> + <line x="168.26" y="111.34"/> + <curve x1="168.26" x2="165.38" x3="161.79" y1="114.92" y2="117.81" y3="117.81"/> + <line x="30.72" y="117.81"/> + <curve x1="27.14" x2="24.25" x3="24.25" y1="117.81" y2="114.92" y3="111.34"/> + <line x="24.25" y="31.48"/> + <curve x1="24.25" x2="27.14" x3="30.72" y1="27.9" y2="25.01" y3="25.01"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="immersive telepresence endpoint" strokewidth="inherit" w="385.37"> + <connections/> + <foreground> + <path> + <move x="313.44" y="120.74"/> + <curve x1="313.44" x2="322.87" x3="329.36" y1="93.99" y2="86.23" y3="86.23"/> + <curve x1="335.8" x2="345.42" x3="345.42" y1="86.23" y2="93.51" y3="120.74"/> + <close/> + <move x="344.24" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="329.46" x-axis-rotation="0" y="84.63"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="314.67" x-axis-rotation="0" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="329.46" x-axis-rotation="0" y="55.06"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="344.24" x-axis-rotation="0" y="69.84"/> + <close/> + <move x="271.05" y="120.74"/> + <curve x1="271.05" x2="280.48" x3="286.97" y1="93.99" y2="86.23" y3="86.23"/> + <curve x1="293.41" x2="303.03" x3="303.03" y1="86.23" y2="93.51" y3="120.74"/> + <close/> + <move x="301.85" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="287.07" x-axis-rotation="0" y="84.63"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="272.28" x-axis-rotation="0" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="287.07" x-axis-rotation="0" y="55.06"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="301.85" x-axis-rotation="0" y="69.84"/> + <close/> + <move x="262.98" y="44.26"/> + <curve x1="257.74" x2="253.53" x3="253.53" y1="44.26" y2="48.48" y3="53.72"/> + <line x="253.53" y="119.4"/> + <curve x1="253.53" x2="257.74" x3="262.98" y1="124.64" y2="128.86" y3="128.86"/> + <line x="296.43" y="128.86"/> + <line x="296.43" y="137.43"/> + <line x="283.94" y="137.43"/> + <arc large-arc-flag="1" rx="5.75" ry="5.75" sweep-flag="0" x="283.94" x-axis-rotation="0" y="148.93"/> + <line x="328.94" y="148.93"/> + <arc large-arc-flag="1" rx="5.75" ry="5.75" sweep-flag="0" x="328.94" x-axis-rotation="0" y="137.43"/> + <line x="316.45" y="137.43"/> + <line x="316.45" y="128.86"/> + <line x="349.89" y="128.86"/> + <curve x1="355.13" x2="359.35" x3="359.35" y1="128.86" y2="124.64" y3="119.4"/> + <line x="359.35" y="53.72"/> + <curve x1="359.35" x2="355.13" x3="349.89" y1="48.48" y2="44.26" y3="44.26"/> + <close/> + <move x="200.17" y="120.74"/> + <curve x1="200.17" x2="209.61" x3="216.1" y1="93.99" y2="86.23" y3="86.23"/> + <curve x1="222.54" x2="232.16" x3="232.16" y1="86.23" y2="93.51" y3="120.74"/> + <close/> + <move x="230.98" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="216.19" x-axis-rotation="0" y="84.63"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="201.41" x-axis-rotation="0" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="216.19" x-axis-rotation="0" y="55.06"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="230.98" x-axis-rotation="0" y="69.84"/> + <close/> + <move x="157.79" y="120.74"/> + <curve x1="157.79" x2="167.22" x3="173.71" y1="93.99" y2="86.23" y3="86.23"/> + <curve x1="180.15" x2="189.77" x3="189.77" y1="86.23" y2="93.51" y3="120.74"/> + <close/> + <move x="188.59" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="173.81" x-axis-rotation="0" y="84.63"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="159.02" x-axis-rotation="0" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="173.81" x-axis-rotation="0" y="55.06"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="188.59" x-axis-rotation="0" y="69.84"/> + <close/> + <move x="149.72" y="44.26"/> + <curve x1="144.48" x2="140.26" x3="140.26" y1="44.26" y2="48.48" y3="53.72"/> + <line x="140.26" y="119.4"/> + <curve x1="140.26" x2="144.48" x3="149.72" y1="124.64" y2="128.86" y3="128.86"/> + <line x="183.17" y="128.86"/> + <line x="183.17" y="137.43"/> + <line x="170.67" y="137.43"/> + <arc large-arc-flag="1" rx="5.75" ry="5.75" sweep-flag="0" x="170.67" x-axis-rotation="0" y="148.93"/> + <line x="215.68" y="148.93"/> + <arc large-arc-flag="1" rx="5.75" ry="5.75" sweep-flag="0" x="215.68" x-axis-rotation="0" y="137.43"/> + <line x="203.18" y="137.43"/> + <line x="203.18" y="128.86"/> + <line x="236.63" y="128.86"/> + <curve x1="241.87" x2="246.09" x3="246.09" y1="128.86" y2="124.64" y3="119.4"/> + <line x="246.09" y="53.72"/> + <curve x1="246.09" x2="241.87" x3="236.63" y1="48.48" y2="44.26" y3="44.26"/> + <close/> + <move x="86.91" y="120.74"/> + <curve x1="86.91" x2="96.35" x3="102.84" y1="93.99" y2="86.23" y3="86.23"/> + <curve x1="109.27" x2="118.9" x3="118.9" y1="86.23" y2="93.51" y3="120.74"/> + <close/> + <move x="117.72" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="102.93" x-axis-rotation="0" y="84.63"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="88.15" x-axis-rotation="0" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="102.93" x-axis-rotation="0" y="55.06"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="117.72" x-axis-rotation="0" y="69.84"/> + <close/> + <move x="44.52" y="120.74"/> + <curve x1="44.52" x2="53.96" x3="60.45" y1="93.99" y2="86.23" y3="86.23"/> + <curve x1="66.89" x2="76.51" x3="76.51" y1="86.23" y2="93.51" y3="120.74"/> + <close/> + <move x="75.33" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="60.55" x-axis-rotation="0" y="84.63"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="45.76" x-axis-rotation="0" y="69.84"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="60.55" x-axis-rotation="0" y="55.06"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="75.33" x-axis-rotation="0" y="69.84"/> + <close/> + <move x="36.46" y="44.26"/> + <curve x1="31.22" x2="27" x3="27" y1="44.26" y2="48.48" y3="53.72"/> + <line x="27" y="119.4"/> + <curve x1="27" x2="31.22" x3="36.46" y1="124.64" y2="128.86" y3="128.86"/> + <line x="69.91" y="128.86"/> + <line x="69.91" y="137.43"/> + <line x="57.41" y="137.43"/> + <arc large-arc-flag="1" rx="5.75" ry="5.75" sweep-flag="0" x="57.41" x-axis-rotation="0" y="148.93"/> + <line x="102.42" y="148.93"/> + <arc large-arc-flag="1" rx="5.75" ry="5.75" sweep-flag="0" x="102.42" x-axis-rotation="0" y="137.43"/> + <line x="89.92" y="137.43"/> + <line x="89.92" y="128.86"/> + <line x="123.37" y="128.86"/> + <curve x1="128.61" x2="132.83" x3="132.83" y1="128.86" y2="124.64" y3="119.4"/> + <line x="132.83" y="53.72"/> + <curve x1="132.83" x2="128.61" x3="123.37" y1="48.48" y2="44.26" y3="44.26"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="373.65" y="191.89"/> + <curve x1="380.1" x2="385.37" x3="385.37" y1="191.89" y2="186.62" y3="180.17"/> + <line x="385.37" y="11.72"/> + <curve x1="385.37" x2="380.1" x3="373.65" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="373.65" y="5.29"/> + <curve x1="377.26" x2="380.08" x3="380.08" y1="5.29" y2="8.11" y3="11.72"/> + <line x="380.08" y="180.17"/> + <curve x1="380.08" x2="377.26" x3="373.65" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="ips ids" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="471.98" y="131.42"/> + <curve x1="389.06" x2="317.75" x3="287.8" y1="131.42" y2="182.45" y3="254.72"/> + <line x="107.2" y="254.72"/> + <line x="107.2" y="306.31"/> + <line x="274.22" y="306.31"/> + <curve x1="273.24" x2="272.72" x3="272.72" y1="314.3" y2="322.43" y3="330.68"/> + <curve x1="272.72" x2="362.18" x3="471.98" y1="440.48" y2="529.94" y3="529.94"/> + <curve x1="513.05" x2="551.28" x3="583.04" y1="529.94" y2="517.42" y3="496.01"/> + <line x="704.19" y="618.68"/> + <line x="752.59" y="570.87"/> + <line x="632.19" y="448.97"/> + <curve x1="641.33" x2="649.07" x3="655.2" y1="436.63" y2="423.21" y3="408.94"/> + <line x="834.93" y="408.94"/> + <line x="834.93" y="357.36"/> + <line x="669.46" y="357.36"/> + <curve x1="670.63" x2="671.25" x3="671.25" y1="348.63" y2="339.72" y3="330.68"/> + <curve x1="671.25" x2="581.79" x3="471.98" y1="220.88" y2="131.42" y3="131.42"/> + <close/> + <move x="471.98" y="172.99"/> + <curve x1="559.32" x2="629.68" x3="629.68" y1="172.99" y2="243.35" y3="330.68"/> + <curve x1="629.68" x2="628.9" x3="627.44" y1="339.78" y2="348.69" y3="357.36"/> + <line x="442.27" y="357.36"/> + <line x="442.27" y="330.69"/> + <line x="360.17" y="381.63"/> + <line x="442.27" y="432.56"/> + <line x="442.27" y="408.94"/> + <line x="609.02" y="408.94"/> + <curve x1="581.91" x2="530.8" x3="471.98" y1="456.45" y2="488.36" y3="488.36"/> + <curve x1="384.65" x2="314.3" x3="314.3" y1="488.36" y2="418.01" y3="330.68"/> + <curve x1="314.3" x2="314.94" x3="316.16" y1="322.39" y2="314.25" y3="306.31"/> + <line x="499.86" y="306.31"/> + <line x="499.86" y="329.93"/> + <line x="581.96" y="279"/> + <line x="499.86" y="228.06"/> + <line x="499.86" y="254.72"/> + <line x="333.66" y="254.72"/> + <curve x1="360.42" x2="412.22" x3="471.98" y1="205.94" y2="172.99" y3="172.99"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="ip ip gateway" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <save/> + <fillcolor color="#00bceb"/> + <path> + <move x="372.38" y="104.74"/> + <line x="563.62" y="104.74"/> + <line x="563.62" y="635.46"/> + <line x="372.38" y="635.46"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <path> + <move x="418.18" y="104.74"/> + <line x="418.18" y="166.43"/> + <line x="372.38" y="166.43"/> + <line x="372.38" y="181.55"/> + <line x="480.69" y="181.55"/> + <line x="480.69" y="263.26"/> + <line x="372.38" y="263.26"/> + <line x="372.38" y="278.38"/> + <line x="403.16" y="278.38"/> + <line x="403.16" y="362.47"/> + <line x="372.38" y="362.47"/> + <line x="372.38" y="377.59"/> + <line x="458.08" y="377.59"/> + <line x="458.08" y="460.55"/> + <line x="372.38" y="460.55"/> + <line x="372.38" y="475.67"/> + <line x="501.99" y="475.67"/> + <line x="501.99" y="559.75"/> + <line x="372.38" y="559.75"/> + <line x="372.38" y="574.87"/> + <line x="412.29" y="574.87"/> + <line x="412.29" y="635.46"/> + <line x="427.4" y="635.46"/> + <line x="427.4" y="574.87"/> + <line x="563.62" y="574.87"/> + <line x="563.62" y="559.75"/> + <line x="517.11" y="559.75"/> + <line x="517.11" y="475.67"/> + <line x="563.62" y="475.67"/> + <line x="563.62" y="460.55"/> + <line x="473.2" y="460.55"/> + <line x="473.2" y="377.59"/> + <line x="563.62" y="377.59"/> + <line x="563.62" y="362.47"/> + <line x="418.28" y="362.47"/> + <line x="418.28" y="278.38"/> + <line x="563.62" y="278.38"/> + <line x="563.62" y="263.26"/> + <line x="495.81" y="263.26"/> + <line x="495.81" y="181.55"/> + <line x="563.62" y="181.55"/> + <line x="563.62" y="166.43"/> + <line x="433.29" y="166.43"/> + <line x="433.29" y="104.74"/> + <close/> + <move x="128.48" y="399.64"/> + <curve x1="96.35" x2="70.3" x3="70.3" y1="399.64" y2="425.69" y3="457.82"/> + <curve x1="70.33" x2="80.76" x3="97.88" y1="477.94" y2="496.63" y3="507.21"/> + <curve x1="76.41" x2="64.29" x3="64.29" y1="532.62" y2="566.09" y3="599.19"/> + <line x="64.29" y="655.71"/> + <line x="192.67" y="655.71"/> + <line x="192.67" y="599.19"/> + <curve x1="192.67" x2="177.51" x3="157.4" y1="565.71" y2="533.58" y3="508.21"/> + <curve x1="175.47" x2="186.62" x3="186.65" y1="497.86" y2="478.64" y3="457.82"/> + <curve x1="186.66" x2="160.61" x3="128.48" y1="425.69" y2="399.64" y3="399.64"/> + <close/> + <move x="810.75" y="399.64"/> + <curve x1="778.62" x2="752.58" x3="752.58" y1="399.64" y2="425.69" y3="457.82"/> + <curve x1="752.61" x2="763.04" x3="780.15" y1="477.94" y2="496.63" y3="507.21"/> + <curve x1="758.69" x2="746.56" x3="746.56" y1="532.62" y2="566.09" y3="599.19"/> + <line x="746.56" y="655.71"/> + <line x="874.94" y="655.71"/> + <line x="874.94" y="599.19"/> + <curve x1="874.94" x2="859.78" x3="839.67" y1="565.71" y2="533.58" y3="508.21"/> + <curve x1="857.74" x2="868.9" x3="868.93" y1="497.86" y2="478.64" y3="457.82"/> + <curve x1="868.93" x2="842.88" x3="810.75" y1="425.69" y2="399.64" y3="399.64"/> + <close/> + <move x="186.15" y="241.48"/> + <line x="275.86" y="305.31"/> + <line x="186.15" y="369.13"/> + <line x="186.15" y="325.7"/> + <line x="83.24" y="325.7"/> + <line x="83.24" y="284.91"/> + <line x="186.15" y="284.91"/> + <close/> + <move x="172.95" y="70.75"/> + <line x="172.95" y="114.18"/> + <line x="275.86" y="114.18"/> + <line x="275.86" y="154.97"/> + <line x="172.95" y="154.97"/> + <line x="172.95" y="198.4"/> + <line x="83.24" y="134.58"/> + <close/> + <move x="247.26" y="477.66"/> + <line x="192.68" y="516.49"/> + <line x="247.26" y="555.32"/> + <line x="247.26" y="528.9"/> + <line x="312.28" y="528.9"/> + <line x="312.28" y="555.32"/> + <line x="366.85" y="516.49"/> + <line x="312.28" y="477.66"/> + <line x="312.28" y="504.08"/> + <line x="247.26" y="504.08"/> + <close/> + <move x="625.86" y="477.66"/> + <line x="571.28" y="516.49"/> + <line x="625.86" y="555.32"/> + <line x="625.86" y="528.9"/> + <line x="690.88" y="528.9"/> + <line x="690.88" y="555.32"/> + <line x="745.46" y="516.49"/> + <line x="690.88" y="477.66"/> + <line x="690.88" y="504.08"/> + <line x="625.86" y="504.08"/> + <close/> + <move x="763.99" y="241.29"/> + <line x="674.28" y="305.11"/> + <line x="763.99" y="368.94"/> + <line x="763.99" y="325.51"/> + <line x="866.9" y="325.51"/> + <line x="866.9" y="284.71"/> + <line x="763.99" y="284.71"/> + <close/> + <move x="777.19" y="70.56"/> + <line x="777.19" y="113.98"/> + <line x="674.28" y="113.98"/> + <line x="674.28" y="154.78"/> + <line x="777.19" y="154.78"/> + <line x="777.19" y="198.21"/> + <line x="866.9" y="134.38"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="722.3" name="ip phone" strokewidth="inherit" w="806.19"> + <connections/> + <foreground> + <path> + <move x="266.45" y="0"/> + <curve x1="247.74" x2="232.47" x3="232.47" y1="0" y2="15.27" y3="33.98"/> + <line x="232.47" y="336.66"/> + <curve x1="232.47" x2="247.74" x3="266.45" y1="355.37" y2="370.64" y3="370.64"/> + <line x="675.73" y="370.64"/> + <curve x1="694.45" x2="709.71" x3="709.71" y1="370.64" y2="355.37" y3="336.66"/> + <line x="709.71" y="33.98"/> + <curve x1="709.71" x2="694.45" x3="675.73" y1="15.27" y2="0" y3="0"/> + <close/> + <move x="266.45" y="13.23"/> + <line x="675.73" y="13.23"/> + <curve x1="687.35" x2="696.48" x3="696.48" y1="13.23" y2="22.37" y3="33.98"/> + <line x="696.48" y="336.66"/> + <curve x1="696.48" x2="687.35" x3="675.73" y1="348.27" y2="357.42" y3="357.42"/> + <line x="266.45" y="357.42"/> + <curve x1="254.84" x2="245.7" x3="245.7" y1="357.42" y2="348.27" y3="336.66"/> + <line x="245.7" y="33.98"/> + <curve x1="245.7" x2="254.84" x3="266.45" y1="22.37" y2="13.23" y3="13.23"/> + <close/> + <move x="469.97" y="31.47"/> + <arc large-arc-flag="0" rx="18.95" ry="18.95" sweep-flag="0" x="451.02" x-axis-rotation="0" y="50.42"/> + <arc large-arc-flag="0" rx="18.95" ry="18.95" sweep-flag="0" x="469.97" x-axis-rotation="0" y="69.37"/> + <arc large-arc-flag="0" rx="18.95" ry="18.95" sweep-flag="0" x="488.92" x-axis-rotation="0" y="50.42"/> + <arc large-arc-flag="0" rx="18.95" ry="18.95" sweep-flag="0" x="469.97" x-axis-rotation="0" y="31.47"/> + <close/> + <move x="316.42" y="83.23"/> + <curve x1="300.73" x2="288.1" x3="288.1" y1="83.23" y2="95.86" y3="111.54"/> + <line x="288.1" y="295.46"/> + <curve x1="288.1" x2="300.73" x3="316.42" y1="311.15" y2="323.78" y3="323.78"/> + <line x="625.77" y="323.78"/> + <curve x1="641.46" x2="654.09" x3="654.09" y1="323.78" y2="311.15" y3="295.46"/> + <line x="654.09" y="111.54"/> + <curve x1="654.09" x2="641.46" x3="625.77" y1="95.86" y2="83.23" y3="83.23"/> + <close/> + <move x="138.05" y="83.86"/> + <curve x1="95.47" x2="61.18" x3="61.18" y1="83.86" y2="118.15" y3="160.73"/> + <line x="61.18" y="426.77"/> + <curve x1="52.1" x2="44.97" x3="40.18" y1="440.29" y2="457.64" y3="479.61"/> + <arc large-arc-flag="0" rx="6.61" ry="6.61" sweep-flag="0" x="40.13" x-axis-rotation="0" y="479.8"/> + <line x="15.96" y="609.29"/> + <curve x1="12.73" x2="11.51" x3="17.14" y1="625.69" y2="642.24" y3="655.98"/> + <curve x1="22.76" x2="36.52" x3="57.38" y1="669.71" y2="679.27" y3="679.27"/> + <line x="746.82" y="679.27"/> + <curve x1="758.74" x2="768.21" x3="776.01" y1="679.27" y2="678.33" y3="675.74"/> + <curve x1="783.81" x2="790.05" x3="793.71" y1="673.16" y2="668.54" y3="662.09"/> + <curve x1="801.01" x2="798.93" x3="794.74" y1="649.19" y2="632.15" y3="607.88"/> + <line x="794.73" y="607.85"/> + <line x="775.86" y="493.2"/> + <line x="775.85" y="493.13"/> + <curve x1="770.12" x2="757.05" x3="736.39" y1="456.05" y2="428.11" y3="409.59"/> + <curve x1="715.73" x2="687.89" x3="654.4" y1="391.07" y2="382.48" y3="382.67"/> + <line x="214.93" y="382.67"/> + <line x="214.93" y="160.73"/> + <curve x1="214.93" x2="180.64" x3="138.05" y1="118.15" y2="83.86" y3="83.86"/> + <close/> + <move x="214.93" y="395.9"/> + <line x="654.4" y="395.9"/> + <arc large-arc-flag="0" rx="6.61" ry="6.61" sweep-flag="0" x="654.45" x-axis-rotation="0" y="395.9"/> + <curve x1="685.69" x2="709.74" x3="727.56" y1="395.71" y2="403.47" y3="419.45"/> + <curve x1="745.38" x2="757.38" x3="762.79" y1="435.42" y2="460.1" y3="495.21"/> + <arc large-arc-flag="0" rx="6.61" ry="6.61" sweep-flag="0" x="762.8" x-axis-rotation="0" y="495.28"/> + <line x="781.69" y="610.03"/> + <arc large-arc-flag="0" rx="6.61" ry="6.61" sweep-flag="0" x="781.69" x-axis-rotation="0" y="610.08"/> + <curve x1="785.8" x2="786.11" x3="782.19" y1="633.84" y2="648.64" y3="655.57"/> + <curve x1="780.23" x2="777.44" x3="771.85" y1="659.03" y2="661.34" y3="663.19"/> + <curve x1="766.27" x2="757.99" x3="746.82" y1="665.04" y2="666.04" y3="666.04"/> + <line x="57.38" y="666.04"/> + <curve x1="40.04" x2="33.23" x3="29.38" y1="666.04" y2="660.37" y3="650.96"/> + <curve x1="25.53" x2="25.94" x3="28.93" y1="641.56" y2="627.06" y3="611.85"/> + <arc large-arc-flag="0" rx="6.61" ry="6.61" sweep-flag="0" x="28.95" x-axis-rotation="0" y="611.78"/> + <line x="53.12" y="482.36"/> + <curve x1="55.36" x2="58.07" x3="61.18" y1="472.09" y2="463.08" y3="455.17"/> + <line x="61.18" y="507.5"/> + <curve x1="61.18" x2="95.47" x3="138.05" y1="550.09" y2="584.37" y3="584.37"/> + <curve x1="180.64" x2="214.93" x3="214.93" y1="584.37" y2="550.09" y3="507.5"/> + <close/> + <move x="333.5" y="438.18"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="333.5" x-axis-rotation="0" y="466.53"/> + <line x="618.36" y="466.53"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="618.36" x-axis-rotation="0" y="438.18"/> + <close/> + <move x="373.31" y="498.46"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="373.31" x-axis-rotation="0" y="526.81"/> + <line x="402.15" y="526.81"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="402.15" x-axis-rotation="0" y="498.46"/> + <close/> + <move x="459.7" y="498.46"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="459.7" x-axis-rotation="0" y="526.81"/> + <line x="488.54" y="526.81"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="488.54" x-axis-rotation="0" y="498.46"/> + <close/> + <move x="545.79" y="498.46"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="545.79" x-axis-rotation="0" y="526.81"/> + <line x="574.63" y="526.81"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="574.63" x-axis-rotation="0" y="498.46"/> + <close/> + <move x="363.72" y="551.87"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="363.72" x-axis-rotation="0" y="580.21"/> + <line x="392.56" y="580.21"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="392.56" x-axis-rotation="0" y="551.87"/> + <close/> + <move x="459.7" y="551.87"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="459.7" x-axis-rotation="0" y="580.21"/> + <line x="488.54" y="580.21"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="488.54" x-axis-rotation="0" y="551.87"/> + <close/> + <move x="556.44" y="551.87"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="556.44" x-axis-rotation="0" y="580.21"/> + <line x="585.28" y="580.21"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="585.28" x-axis-rotation="0" y="551.87"/> + <close/> + <move x="353.07" y="605.18"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="353.07" x-axis-rotation="0" y="633.53"/> + <line x="381.91" y="633.53"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="381.91" x-axis-rotation="0" y="605.18"/> + <close/> + <move x="459.88" y="605.18"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="459.88" x-axis-rotation="0" y="633.53"/> + <line x="488.73" y="633.53"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="488.73" x-axis-rotation="0" y="605.18"/> + <close/> + <move x="566.89" y="605.18"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="566.89" x-axis-rotation="0" y="633.53"/> + <line x="595.73" y="633.53"/> + <arc large-arc-flag="1" rx="14.17" ry="14.17" sweep-flag="0" x="595.73" x-axis-rotation="0" y="605.18"/> + <close/> + <move x="0" y="664.06"/> + <line x="0" y="694.43"/> + <curve x1="0" x2="14.81" x3="43.41" y1="711.94" y2="722.12" y3="722.12"/> + <line x="786.19" y="722.3"/> + <curve x1="797.64" x2="806.19" x3="806.19" y1="719.23" y2="708.89" y3="695.99"/> + <line x="805.97" y="666.61"/> + <curve x1="802.33" x2="782.24" x3="771.61" y1="677.84" y2="694.26" y3="694.26"/> + <line x="51.47" y="696.31"/> + <curve x1="25.99" x2="9.02" x3="0" y1="696.31" y2="681.84" y3="664.06"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="ip telephone router" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="113.9" y="129.51"/> + <line x="113.9" y="99.88"/> + <line x="85.94" y="99.88"/> + <line x="85.94" y="129.51"/> + <close/> + <move x="118.49" y="131.88"/> + <curve x1="118.49" x2="117.12" x3="114.37" y1="134.9" y2="136.36" y3="136.36"/> + <line x="84.86" y="136.36"/> + <curve x1="82.28" x2="80.68" x3="80.68" y1="136.36" y2="134.78" y3="132.26"/> + <line x="80.68" y="97.22"/> + <curve x1="80.68" x2="82.54" x3="84.71" y1="94.82" y2="93.75" y3="93.75"/> + <line x="114.34" y="93.75"/> + <curve x1="116.74" x2="118.49" x3="118.49" y1="93.75" y2="94.59" y3="96.89"/> + <close/> + <move x="79.5" y="90.11"/> + <curve x1="79.5" x2="77.78" x3="74.81" y1="93.05" y2="95.27" y3="95.27"/> + <line x="63.82" y="95.27"/> + <curve x1="61.39" x2="58.76" x3="58.76" y1="95.27" y2="92.83" y3="89.79"/> + <line x="58.76" y="80.6"/> + <curve x1="58.76" x2="61.13" x3="64.14" y1="77.69" y2="75.5" y3="75.5"/> + <line x="134.94" y="75.5"/> + <curve x1="138.87" x2="140.64" x3="140.64" y1="75.5" y2="78.63" y3="81.2"/> + <line x="140.64" y="89.91"/> + <curve x1="140.64" x2="138.37" x3="135.32" y1="92.6" y2="95.27" y3="95.27"/> + <line x="123.88" y="95.27"/> + <curve x1="121.48" x2="118.97" x3="118.97" y1="95.27" y2="92.31" y3="90.11"/> + <close/> + <move x="76.16" y="134.4"/> + <line x="65.42" y="145.52"/> + <line x="73.49" y="153.43"/> + <line x="44.41" y="159.48"/> + <line x="49.8" y="130.2"/> + <line x="57.79" y="138.04"/> + <line x="68.54" y="126.92"/> + <close/> + <move x="146.95" y="159.27"/> + <line x="135.83" y="148.53"/> + <line x="127.92" y="156.59"/> + <line x="121.87" y="127.51"/> + <line x="151.15" y="132.91"/> + <line x="143.31" y="140.9"/> + <line x="154.43" y="151.64"/> + <close/> + <move x="53.28" y="37.93"/> + <line x="64.4" y="48.67"/> + <line x="72.31" y="40.61"/> + <line x="78.36" y="69.69"/> + <line x="49.08" y="64.3"/> + <line x="56.92" y="56.3"/> + <line x="45.8" y="45.56"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="116.59" y="63.61"/> + <line x="127.33" y="52.49"/> + <line x="119.27" y="44.58"/> + <line x="148.35" y="38.53"/> + <line x="142.95" y="67.81"/> + <line x="134.96" y="59.97"/> + <line x="124.22" y="71.09"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="ironport" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="148.41" y="94.65"/> + <line x="162.16" y="94.65"/> + <line x="162.16" y="132.94"/> + <line x="148.41" y="132.94"/> + <close/> + <move x="127.06" y="102.19"/> + <line x="140.8" y="102.19"/> + <line x="140.8" y="132.94"/> + <line x="127.06" y="132.94"/> + <close/> + <move x="105.71" y="111.95"/> + <line x="119.45" y="111.95"/> + <line x="119.45" y="132.94"/> + <line x="105.71" y="132.94"/> + <close/> + <move x="84.35" y="108.43"/> + <line x="98.1" y="108.43"/> + <line x="98.1" y="132.94"/> + <line x="84.35" y="132.94"/> + <close/> + <move x="207.5" y="81.34"/> + <line x="207.5" y="91.3"/> + <line x="229.44" y="91.3"/> + <line x="229.44" y="101.11"/> + <line x="207.5" y="101.11"/> + <line x="207.5" y="111.07"/> + <line x="186.2" y="96.21"/> + <close/> + <move x="41" y="81.41"/> + <line x="41" y="91.37"/> + <line x="19.06" y="91.37"/> + <line x="19.06" y="101.18"/> + <line x="41" y="101.18"/> + <line x="41" y="111.14"/> + <line x="62.3" y="96.28"/> + <close/> + <move x="124.45" y="43.68"/> + <curve x1="109.38" x2="95.72" x3="85.64" y1="43.68" y2="46.17" y3="50.33"/> + <curve x1="80.6" x2="76.45" x3="73.46" y1="52.4" y2="54.89" y3="57.79"/> + <curve x1="70.47" x2="68.62" x3="68.62" y1="60.7" y2="64.14" y3="67.86"/> + <line x="68.62" y="124.76"/> + <curve x1="68.62" x2="71.07" x3="74.81" y1="129.65" y2="133.83" y3="137.09"/> + <curve x1="78.55" x2="83.58" x3="89.25" y1="140.34" y2="142.82" y3="144.75"/> + <curve x1="100.59" x2="114.54" x3="125.88" y1="148.6" y2="150.22" y3="150.22"/> + <curve x1="137.59" x2="150.87" x3="161.44" y1="150.22" y2="148.15" y3="144.09"/> + <curve x1="166.72" x2="171.33" x3="174.73" y1="142.06" y2="139.54" y3="136.41"/> + <curve x1="178.13" x2="180.35" x3="180.35" y1="133.28" y2="129.4" y3="125"/> + <line x="180.35" y="67.86"/> + <curve x1="180.35" x2="178.49" x3="175.5" y1="64.14" y2="60.7" y3="57.79"/> + <curve x1="172.5" x2="168.34" x3="163.3" y1="54.88" y2="52.4" y3="50.32"/> + <curve x1="153.2" x2="139.52" x3="124.45" y1="46.17" y2="43.68" y3="43.68"/> + <close/> + <move x="124.45" y="47.68"/> + <curve x1="139.08" x2="152.34" x3="161.78" y1="47.68" y2="50.15" y3="54.03"/> + <curve x1="166.49" x2="170.24" x3="172.71" y1="55.97" y2="58.26" y3="60.66"/> + <curve x1="175.18" x2="176.35" x3="176.35" y1="63.06" y2="65.46" y3="67.86"/> + <curve x1="176.35" x2="175.18" x3="172.71" y1="70.27" y2="72.67" y3="75.07"/> + <curve x1="170.24" x2="166.49" x3="161.78" y1="77.47" y2="79.76" y3="81.7"/> + <curve x1="152.34" x2="139.08" x3="124.45" y1="85.58" y2="88.05" y3="88.05"/> + <curve x1="109.83" x2="96.58" x3="87.16" y1="88.05" y2="85.58" y3="81.71"/> + <curve x1="82.45" x2="78.72" x3="76.25" y1="79.77" y2="77.47" y3="75.07"/> + <curve x1="73.78" x2="72.62" x3="72.62" y1="72.67" y2="70.27" y3="67.86"/> + <curve x1="72.62" x2="73.78" x3="76.25" y1="65.46" y2="63.06" y3="60.66"/> + <curve x1="78.72" x2="82.45" x3="87.16" y1="58.26" y2="55.96" y3="54.02"/> + <curve x1="96.58" x2="109.83" x3="124.45" y1="50.14" y2="47.68" y3="47.68"/> + <close/> + <move x="176.35" y="76.98"/> + <line x="176.35" y="125"/> + <curve x1="176.35" x2="174.87" x3="172.02" y1="128.08" y2="130.84" y3="133.47"/> + <curve x1="169.17" x2="164.97" x3="160" y1="136.09" y2="138.45" y3="140.36"/> + <curve x1="150.07" x2="137.11" x3="125.88" y1="144.17" y2="146.22" y3="146.22"/> + <curve x1="114.93" x2="101.25" x3="90.54" y1="146.22" y2="144.6" y3="140.96"/> + <curve x1="85.18" x2="80.58" x3="77.43" y1="139.14" y2="136.81" y3="134.07"/> + <curve x1="74.29" x2="72.62" x3="72.62" y1="131.34" y2="128.35" y3="124.76"/> + <line x="72.62" y="76.98"/> + <curve x1="72.9" x2="73.15" x3="73.46" y1="77.3" y2="77.63" y3="77.93"/> + <curve x1="76.45" x2="80.6" x3="85.64" y1="80.84" y2="83.33" y3="85.4"/> + <curve x1="95.72" x2="109.38" x3="124.45" y1="89.55" y2="92.05" y3="92.05"/> + <curve x1="139.52" x2="153.2" x3="163.3" y1="92.05" y2="89.56" y3="85.4"/> + <curve x1="168.34" x2="172.5" x3="175.5" y1="83.33" y2="80.84" y3="77.94"/> + <curve x1="175.81" x2="176.06" x3="176.35" y1="77.63" y2="77.29" y3="76.98"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="ise" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="75.48" y="32.13"/> + <curve x1="69.61" x2="63.99" x3="59.1" y1="31.88" y2="33.3" y3="36.38"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="58.97" x-axis-rotation="0" y="36.47"/> + <curve x1="49.64" x2="43.71" x3="40.16" y1="43.24" y2="49.82" y3="59.72"/> + <curve x1="37.16" x2="38.48" x3="42.16" y1="67.92" y2="77.6" y3="87.48"/> + <curve x1="45.84" x2="51.94" x3="59.06" y1="97.36" y2="107.53" y3="116.81"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="59.1" x-axis-rotation="0" y="116.85"/> + <curve x1="74.2" x2="90.84" x3="111.67" y1="135.72" y2="151.52" y3="157.39"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="113.03" x-axis-rotation="0" y="152.58"/> + <curve x1="93.8" x2="77.84" x3="63.02" y1="147.15" y2="132.26" y3="113.75"/> + <curve x1="57.27" x2="52.33" x3="48.82" y1="106.26" y2="98.18" y3="90.34"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="52.29" x-axis-rotation="0" y="87.32"/> + <curve x1="50.1" x2="48.04" x3="54.47" y1="80.29" y2="73.1" y3="63.19"/> + <curve x1="58.92" x2="65.48" x3="74.13" y1="56.39" y2="51.83" y3="48.87"/> + <curve x1="79.53" x2="88.53" x3="95.48" y1="47.51" y2="49.8" y3="52.82"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="97.48" x-axis-rotation="0" y="48.24"/> + <curve x1="90" x2="80.53" x3="72.82" y1="44.98" y2="42.05" y3="44.04"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="72.64" x-axis-rotation="0" y="44.09"/> + <curve x1="63.15" x2="55.44" x3="50.28" y1="47.31" y2="52.58" y3="60.45"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="50.28" x-axis-rotation="0" y="60.46"/> + <curve x1="44.78" x2="44.7" x3="45.96" y1="68.94" y2="76.55" y3="82.87"/> + <curve x1="43.36" x2="42.72" x3="44.86" y1="74.76" y2="67.27" y3="61.44"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="44.87" x-axis-rotation="0" y="61.42"/> + <curve x1="48.05" x2="52.95" x3="61.82" y1="52.5" y2="47.03" y3="40.59"/> + <curve x1="69.87" x2="80.23" x3="90.79" y1="35.54" y2="35.71" y3="42.21"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="90.9" x-axis-rotation="0" y="42.28"/> + <curve x1="105.11" x2="118.16" x3="128.44" y1="50.01" y2="61.94" y3="73.45"/> + <curve x1="137.64" x2="143.22" x3="147.04" y1="84.06" y2="94.9" y3="105.5"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="143.06" x-axis-rotation="0" y="105"/> + <curve x1="137.71" x2="131.37" x3="124.79" y1="110.43" y2="114.04" y3="117.82"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="123.9" x-axis-rotation="0" y="118.7"/> + <curve x1="124.3" x2="124.87" x3="125.2" y1="117.45" y2="115.96" y3="114.81"/> + <curve x1="131.33" x2="136.05" x3="140.58" y1="111.68" y2="107.88" y3="103.87"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="137.27" x-axis-rotation="0" y="100.13"/> + <curve x1="132.59" x2="128.1" x3="122.05" y1="104.27" y2="107.91" y3="110.83"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="120.73" x-axis-rotation="0" y="112.42"/> + <curve x1="118.28" x2="113.46" x3="108.42" y1="121.27" y2="134.29" y3="144.66"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="112.91" x-axis-rotation="0" y="146.85"/> + <curve x1="113.8" x2="114.55" x3="115.41" y1="145.02" y2="142.95" y3="141.01"/> + <curve x1="114.64" x2="113.95" x3="113.13" y1="142.9" y2="144.78" y3="146.68"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="117.72" x-axis-rotation="0" y="148.66"/> + <curve x1="121.65" x2="124.92" x3="128.09" y1="139.54" y2="130.58" y3="121.67"/> + <curve x1="134.39" x2="140.91" x3="146.62" y1="118.05" y2="114.31" y3="108.52"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="147.33" x-axis-rotation="0" y="106.32"/> + <curve x1="147.86" x2="148.48" x3="148.94" y1="107.84" y2="109.36" y3="110.86"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="153.72" x-axis-rotation="0" y="109.39"/> + <curve x1="149.79" x2="143.48" x3="132.2" y1="96.62" y2="83.16" y3="70.16"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="132.18" x-axis-rotation="0" y="70.14"/> + <curve x1="121.66" x2="108.3" x3="93.35" y1="58.34" y2="46.07" y3="37.92"/> + <curve x1="87.45" x2="81.34" x3="75.48" y1="34.3" y2="32.38" y3="32.13"/> + <close/> + <move x="85.12" y="52.5"/> + <curve x1="78.43" x2="72.69" x3="68.01" y1="52.27" y2="53.67" y3="57.29"/> + <curve x1="63.32" x2="59.81" x3="56.8" y1="60.91" y2="66.52" y3="74.34"/> + <curve x1="52.43" x2="53.56" x3="58.15" y1="85.54" y2="95.28" y3="104.88"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="58.16" x-axis-rotation="0" y="104.89"/> + <curve x1="60.61" x2="64.82" x3="68.66" y1="109.92" y2="114.07" y3="117.66"/> + <curve x1="72.5" x2="76" x3="76.89" y1="121.24" y2="124.48" y3="126.15"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="81.31" x-axis-rotation="0" y="123.81"/> + <curve x1="79.49" x2="75.82" x3="72.08" y1="120.37" y2="117.49" y3="114"/> + <curve x1="68.34" x2="64.57" x3="62.66" y1="110.51" y2="106.63" y3="102.71"/> + <curve x1="58.47" x2="57.53" x3="61.46" y1="93.95" y2="86.22" y3="76.16"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="61.47" x-axis-rotation="0" y="76.14"/> + <curve x1="64.29" x2="67.41" x3="71.07" y1="68.8" y2="64.07" y3="61.25"/> + <curve x1="74.72" x2="79.04" x3="84.99" y1="58.42" y2="57.29" y3="57.5"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="85.07" x-axis-rotation="0" y="57.5"/> + <curve x1="93.83" x2="99.34" x3="104.26" y1="57.52" y2="60.11" y3="63.14"/> + <curve x1="109.17" x2="113.45" x3="119.38" y1="66.17" y2="69.87" y3="71.24"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="120.52" x-axis-rotation="0" y="66.37"/> + <curve x1="116.06" x2="112.17" x3="106.88" y1="65.34" y2="62.15" y3="58.89"/> + <curve x1="101.6" x2="94.88" x3="85.12" y1="55.63" y2="52.53" y3="52.5"/> + <close/> + <move x="89.01" y="62.22"/> + <curve x1="84.73" x2="80.89" x3="77.64" y1="62.15" y2="63.03" y3="64.65"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="77.54" x-axis-rotation="0" y="64.7"/> + <curve x1="71.39" x2="66.3" x3="63.44" y1="68.13" y2="73.43" y3="81.31"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="63.42" x-axis-rotation="0" y="81.37"/> + <curve x1="62.02" x2="61.11" x3="61.15" y1="85.53" y2="89.12" y3="92.52"/> + <curve x1="61.19" x2="62.35" x3="64.76" y1="95.91" y2="99.11" y3="101.7"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="64.9" x-axis-rotation="0" y="101.84"/> + <curve x1="69.77" x2="73.51" x3="78.15" y1="106.3" y2="111.41" y3="115.73"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="78.17" x-axis-rotation="0" y="115.75"/> + <curve x1="86.06" x2="86.97" x3="85.79" y1="122.94" y2="128.87" y3="134.25"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="90.68" x-axis-rotation="0" y="135.32"/> + <curve x1="92.17" x2="90.38" x3="81.53" y1="128.46" y2="120.11" y3="112.05"/> + <line x="81.55" y="112.07"/> + <curve x1="77.4" x2="73.6" x3="68.28" y1="108.21" y2="103.02" y3="98.15"/> + <line x="68.42" y="98.29"/> + <curve x1="66.78" x2="66.18" x3="66.15" y1="96.54" y2="94.87" y3="92.46"/> + <curve x1="66.12" x2="66.83" x3="68.15" y1="90.05" y2="86.91" y3="83"/> + <curve x1="70.61" x2="74.65" x3="79.92" y1="76.23" y2="72.06" y3="69.11"/> + <curve x1="84.89" x2="92.09" x3="101" y1="66.64" y2="66.21" y3="70.03"/> + <curve x1="102.7" x2="103.96" x3="105.45" y1="70.78" y2="72.04" y3="73.67"/> + <curve x1="106.94" x2="108.63" x3="111.22" y1="75.31" y2="77.29" y3="78.74"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="111.3" x-axis-rotation="0" y="78.79"/> + <curve x1="113.52" x2="115.96" x3="118.25" y1="79.93" y2="80.05" y3="80"/> + <curve x1="120.55" x2="122.73" x3="124.13" y1="79.96" y2="79.66" y3="79.52"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="123.61" x-axis-rotation="0" y="74.54"/> + <curve x1="122.08" x2="120.08" x3="118.16" y1="74.71" y2="74.97" y3="75"/> + <curve x1="116.25" x2="114.47" x3="113.61" y1="75.04" y2="74.77" y3="74.34"/> + <curve x1="111.96" x2="110.67" x3="109.14" y1="73.4" y2="71.97" y3="70.3"/> + <curve x1="107.59" x2="105.77" x3="103.01" y1="68.61" y2="66.66" y3="65.45"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="102.98" x-axis-rotation="0" y="65.44"/> + <curve x1="97.99" x2="93.29" x3="89.01" y1="63.3" y2="62.29" y3="62.22"/> + <close/> + <move x="91.52" y="71.79"/> + <curve x1="86.73" x2="82.28" x3="78.22" y1="71.41" y2="73.04" y3="76.39"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="78.16" x-axis-rotation="0" y="76.44"/> + <curve x1="74.61" x2="72.2" x3="71.48" y1="79.57" y2="82.95" y3="86.77"/> + <curve x1="70.75" x2="71.85" x3="74.44" y1="90.58" y2="94.57" y3="98.44"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="74.49" x-axis-rotation="0" y="98.51"/> + <curve x1="80.1" x2="83.51" x3="89.47" y1="106.29" y2="107.59" y3="113.84"/> + <curve x1="94.32" x2="98.34" x3="99.49" y1="119.37" y2="124.51" y3="130.66"/> + <curve x1="98.77" x2="97.92" x3="96.81" y1="134.75" y2="138.54" y3="141.61"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="101.51" x-axis-rotation="0" y="143.31"/> + <curve x1="102.61" x2="103.48" x3="104.21" y1="140.27" y2="136.76" y3="132.98"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="104.73" x-axis-rotation="0" y="131.08"/> + <curve x1="104.7" x2="104.61" x3="104.58" y1="130.88" y2="130.72" y3="130.52"/> + <curve x1="106.11" x2="106.73" x3="106.33" y1="121.36" y2="110.5" y3="97.91"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="106.32" x-axis-rotation="0" y="97.79"/> + <curve x1="106.03" x2="105.91" x3="104.8" y1="94.2" y2="89.35" y3="84.72"/> + <curve x1="103.69" x2="101.46" x3="96.75" y1="80.08" y2="75.4" y3="72.98"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="96.43" x-axis-rotation="0" y="72.84"/> + <curve x1="94.76" x2="93.12" x3="91.52" y1="72.26" y2="71.91" y3="71.79"/> + <close/> + <move x="91.05" y="76.66"/> + <curve x1="92.15" x2="93.32" x3="94.59" y1="76.78" y2="77.09" y3="77.52"/> + <curve x1="97.46" x2="99.01" x3="99.94" y1="79.06" y2="82.02" y3="85.88"/> + <curve x1="100.87" x2="101.03" x3="101.33" y1="89.78" y2="94.32" y3="98.12"/> + <curve x1="101.59" x2="101.36" x3="100.79" y1="106.34" y2="113.73" y3="120.41"/> + <curve x1="98.64" x2="95.93" x3="93.19" y1="116.85" y2="113.62" y3="110.49"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="93.12" x-axis-rotation="0" y="110.41"/> + <curve x1="86.76" x2="83.77" x3="78.59" y1="103.73" y2="102.81" y3="95.64"/> + <curve x1="76.5" x2="75.95" x3="76.39" y1="92.51" y2="90.03" y3="87.7"/> + <curve x1="76.83" x2="78.41" x3="81.44" y1="85.36" y2="82.89" y3="80.22"/> + <curve x1="84.83" x2="87.61" x3="91.05" y1="77.43" y2="76.28" y3="76.66"/> + <close/> + <move x="89.42" y="80.14"/> + <curve x1="87.78" x2="86.03" x3="84.36" y1="80.13" y2="80.57" y3="81.58"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="84.04" x-axis-rotation="0" y="81.81"/> + <curve x1="82.07" x2="80.59" x3="80.17" y1="83.48" y2="85.61" y3="88.08"/> + <curve x1="79.75" x2="80.67" x3="82.83" y1="90.56" y2="93.34" y3="95.29"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="82.91" x-axis-rotation="0" y="95.37"/> + <curve x1="89.08" x2="91.51" x3="95.56" y1="100.47" y2="104.2" y3="109.56"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="100.05" x-axis-rotation="0" y="108.24"/> + <curve x1="100.55" x2="101.4" x3="98.94" y1="101.7" y2="93.68" y3="88.16"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="98.93" x-axis-rotation="0" y="88.14"/> + <curve x1="97.8" x2="96.3" x3="93.83" y1="85.68" y2="83.12" y3="81.46"/> + <curve x1="92.59" x2="91.06" x3="89.42" y1="80.62" y2="80.15" y3="80.14"/> + <close/> + <move x="109.17" y="81.79"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="108.06" x-axis-rotation="0" y="86.46"/> + <curve x1="115.86" x2="125.68" x3="132.65" y1="91.05" y2="88.81" y3="86.82"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="131.28" x-axis-rotation="0" y="82.01"/> + <curve x1="124.65" x2="116.05" x3="110.6" y1="83.9" y2="85.36" y3="82.15"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="109.17" x-axis-rotation="0" y="81.79"/> + <close/> + <move x="89.36" y="84.96"/> + <curve x1="89.97" x2="90.47" x3="91.04" y1="84.96" y2="85.22" y3="85.61"/> + <curve x1="92.18" x2="93.44" x3="94.38" y1="86.37" y2="88.18" y3="90.21"/> + <curve x1="95.29" x2="95.4" x3="95.31" y1="92.26" y2="96.54" y3="101.04"/> + <curve x1="92.9" x2="90.26" x3="86.1" y1="97.99" y2="94.95" y3="91.52"/> + <line x="86.19" y="91.59"/> + <curve x1="85.08" x2="84.94" x3="85.1" y1="90.59" y2="89.87" y3="88.92"/> + <curve x1="85.26" x2="85.96" x3="87.12" y1="88.01" y2="86.84" y3="85.8"/> + <curve x1="88.06" x2="88.79" x3="89.36" y1="85.26" y2="84.97" y3="84.96"/> + <close/> + <move x="135.81" y="88.46"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="134.25" x-axis-rotation="0" y="88.96"/> + <curve x1="130.59" x2="126.29" x3="122.29" y1="91.66" y2="94.59" y3="96.6"/> + <curve x1="118.29" x2="114.61" x3="112.61" y1="98.61" y2="99.5" y3="99"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="109.59" x-axis-rotation="0" y="102.09"/> + <curve x1="113.03" x2="107.84" x3="104.12" y1="114.41" y2="130.26" y3="140.93"/> + <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="0" x="108.85" x-axis-rotation="0" y="142.57"/> + <curve x1="112.29" x2="117.48" x3="115.06" y1="132.68" y2="117.8" y3="104.11"/> + <curve x1="118.16" x2="121.35" x3="124.53" y1="103.9" y2="102.67" y3="101.07"/> + <curve x1="128.99" x2="133.45" x3="137.21" y1="98.84" y2="95.76" y3="92.99"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="135.81" x-axis-rotation="0" y="88.46"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="190.11" name="joystick keyboard" strokewidth="inherit" w="378.35"> + <connections/> + <foreground> + <path> + <move x="248.46" y="8.35"/> + <arc large-arc-flag="0" rx="15.71" ry="8.35" sweep-flag="1" x="232.76" x-axis-rotation="0" y="16.7"/> + <arc large-arc-flag="0" rx="15.71" ry="8.35" sweep-flag="1" x="217.05" x-axis-rotation="0" y="8.35"/> + <arc large-arc-flag="0" rx="15.71" ry="8.35" sweep-flag="1" x="232.76" x-axis-rotation="0" y="0"/> + <arc large-arc-flag="0" rx="15.71" ry="8.35" sweep-flag="1" x="248.46" x-axis-rotation="0" y="8.35"/> + <close/> + <move x="247.92" y="14.73"/> + <line x="247.55" y="81.65"/> + <line x="247.55" y="81.66"/> + <curve x1="247.55" x2="246.83" x3="245.87" y1="83.48" y2="84.85" y3="85.84"/> + <curve x1="244.9" x2="243.63" x3="243.21" y1="86.82" y2="87.25" y3="87.25"/> + <line x="236.77" y="87.25"/> + <curve x1="234.21" x2="229.64" x3="228.37" y1="87.25" y2="85.2" y3="79.15"/> + <line x="218.78" y="15.5"/> + <curve x1="223.97" x2="229.01" x3="233.97" y1="18.1" y2="19.52" y3="19.42"/> + <curve x1="238.81" x2="243.49" x3="247.92" y1="19.32" y2="17.74" y3="14.73"/> + <close/> + <move x="71.33" y="38.21"/> + <curve x1="50.55" x2="32.41" x3="26.88" y1="38.21" y2="56.58" y3="76.23"/> + <line x="11.34" y="130.43"/> + <curve x1="6.4" x2="22.66" x3="44.23" y1="147.81" y2="168.25" y3="168.25"/> + <line x="332.84" y="168.31"/> + <curve x1="355.77" x2="371.87" x3="366.51" y1="168.31" y2="146.07" y3="130.64"/> + <line x="351.73" y="78.54"/> + <curve x1="347.12" x2="330.91" x3="307.17" y1="62.2" y2="38.31" y3="38.31"/> + <line x="252.79" y="38.29"/> + <line x="252.55" y="81.66"/> + <curve x1="252.55" x2="251.21" x3="249.44" y1="84.85" y2="87.52" y3="89.33"/> + <curve x1="247.66" x2="245.52" x3="243.21" y1="91.15" y2="92.25" y3="92.25"/> + <line x="236.77" y="92.25"/> + <curve x1="231.63" x2="225.18" x3="223.46" y1="92.25" y2="88.36" y3="80.16"/> + <line x="223.45" y="80.09"/> + <line x="217.15" y="38.27"/> + <close/> + <move x="82" y="63.71"/> + <line x="87.85" y="63.71"/> + <curve x1="90.91" x2="93.41" x3="93.41" y1="63.68" y2="66.15" y3="69.21"/> + <curve x1="93.41" x2="90.91" x3="87.85" y1="72.28" y2="74.75" y3="74.71"/> + <line x="82" y="74.71"/> + <curve x1="78.94" x2="76.43" x3="76.43" y1="74.75" y2="72.28" y3="69.21"/> + <curve x1="76.43" x2="78.94" x3="82" y1="66.15" y2="63.68" y3="63.71"/> + <close/> + <move x="108.04" y="63.71"/> + <line x="113.89" y="63.71"/> + <curve x1="116.95" x2="119.46" x3="119.46" y1="63.68" y2="66.15" y3="69.21"/> + <curve x1="119.46" x2="116.95" x3="113.89" y1="72.28" y2="74.75" y3="74.71"/> + <line x="108.04" y="74.71"/> + <curve x1="104.98" x2="102.48" x3="102.48" y1="74.75" y2="72.28" y3="69.21"/> + <curve x1="102.48" x2="104.98" x3="108.04" y1="66.15" y2="63.68" y3="63.71"/> + <close/> + <move x="134.09" y="63.71"/> + <line x="139.94" y="63.71"/> + <curve x1="143" x2="145.5" x3="145.5" y1="63.68" y2="66.15" y3="69.21"/> + <curve x1="145.5" x2="143" x3="139.94" y1="72.28" y2="74.75" y3="74.71"/> + <line x="134.09" y="74.71"/> + <curve x1="131.02" x2="128.52" x3="128.52" y1="74.75" y2="72.28" y3="69.21"/> + <curve x1="128.52" x2="131.02" x3="134.09" y1="66.15" y2="63.68" y3="63.71"/> + <close/> + <move x="160.13" y="63.71"/> + <line x="165.98" y="63.71"/> + <curve x1="169.04" x2="171.54" x3="171.54" y1="63.68" y2="66.15" y3="69.21"/> + <curve x1="171.54" x2="169.04" x3="165.98" y1="72.28" y2="74.75" y3="74.71"/> + <line x="160.13" y="74.71"/> + <curve x1="157.07" x2="154.56" x3="154.56" y1="74.75" y2="72.28" y3="69.21"/> + <curve x1="154.56" x2="157.07" x3="160.13" y1="66.15" y2="63.68" y3="63.71"/> + <close/> + <move x="259.96" y="66.57"/> + <line x="324.34" y="66.57"/> + <line x="347.08" y="138.79"/> + <line x="273.34" y="138.79"/> + <close/> + <move x="265.97" y="71.57"/> + <line x="277.5" y="133.79"/> + <line x="340.26" y="133.79"/> + <line x="320.67" y="71.57"/> + <close/> + <move x="279.97" y="78.69"/> + <line x="285.82" y="78.69"/> + <curve x1="288.89" x2="291.41" x3="291.41" y1="78.64" y2="81.12" y3="84.19"/> + <curve x1="291.41" x2="288.89" x3="285.82" y1="87.26" y2="89.73" y3="89.69"/> + <line x="279.97" y="89.69"/> + <curve x1="276.9" x2="274.39" x3="274.39" y1="89.73" y2="87.26" y3="84.19"/> + <curve x1="274.39" x2="276.9" x3="279.97" y1="81.12" y2="78.64" y3="78.69"/> + <close/> + <move x="305.88" y="78.69"/> + <line x="311.73" y="78.69"/> + <curve x1="314.8" x2="317.31" x3="317.31" y1="78.64" y2="81.12" y3="84.19"/> + <curve x1="317.31" x2="314.8" x3="311.73" y1="87.26" y2="89.73" y3="89.69"/> + <line x="305.88" y="89.69"/> + <curve x1="302.81" x2="300.3" x3="300.3" y1="89.73" y2="87.26" y3="84.19"/> + <curve x1="300.3" x2="302.81" x3="305.88" y1="81.12" y2="78.64" y3="78.69"/> + <close/> + <move x="284.94" y="95.94"/> + <line x="290.79" y="95.94"/> + <curve x1="293.86" x2="296.38" x3="296.38" y1="95.9" y2="98.37" y3="101.44"/> + <curve x1="296.38" x2="293.86" x3="290.79" y1="104.51" y2="106.99" y3="106.94"/> + <line x="284.94" y="106.94"/> + <curve x1="281.87" x2="279.36" x3="279.36" y1="106.99" y2="104.51" y3="101.44"/> + <curve x1="279.36" x2="281.87" x3="284.94" y1="98.37" y2="95.9" y3="95.94"/> + <close/> + <move x="310.85" y="95.94"/> + <line x="316.7" y="95.94"/> + <curve x1="319.77" x2="322.28" x3="322.28" y1="95.9" y2="98.37" y3="101.44"/> + <curve x1="322.28" x2="319.77" x3="316.7" y1="104.51" y2="106.99" y3="106.94"/> + <line x="310.85" y="106.94"/> + <curve x1="307.78" x2="305.26" x3="305.26" y1="106.99" y2="104.51" y3="101.44"/> + <curve x1="305.26" x2="307.78" x3="310.85" y1="98.37" y2="95.9" y3="95.94"/> + <close/> + <move x="36.47" y="101.51"/> + <line x="222.93" y="101.51"/> + <line x="222.93" y="105.51"/> + <line x="36.47" y="105.51"/> + <close/> + <move x="289.91" y="113.2"/> + <line x="295.76" y="113.2"/> + <curve x1="298.83" x2="301.34" x3="301.34" y1="113.16" y2="115.63" y3="118.7"/> + <curve x1="301.34" x2="298.83" x3="295.76" y1="121.77" y2="124.25" y3="124.2"/> + <line x="289.91" y="124.2"/> + <curve x1="286.84" x2="284.33" x3="284.33" y1="124.25" y2="121.77" y3="118.7"/> + <curve x1="284.33" x2="286.84" x3="289.91" y1="115.63" y2="113.16" y3="113.2"/> + <close/> + <move x="315.81" y="113.2"/> + <line x="321.66" y="113.2"/> + <curve x1="324.73" x2="327.25" x3="327.25" y1="113.16" y2="115.63" y3="118.7"/> + <curve x1="327.25" x2="324.73" x3="321.66" y1="121.77" y2="124.25" y3="124.2"/> + <line x="315.81" y="124.2"/> + <curve x1="312.74" x2="310.23" x3="310.23" y1="124.25" y2="121.77" y3="118.7"/> + <curve x1="310.23" x2="312.74" x3="315.81" y1="115.63" y2="113.16" y3="113.2"/> + <close/> + <move x="30.29" y="118.44"/> + <line x="229.11" y="118.44"/> + <line x="229.11" y="122.44"/> + <line x="30.29" y="122.44"/> + <close/> + <move x="24.17" y="135.93"/> + <line x="236.08" y="135.93"/> + <line x="236.08" y="139.93"/> + <line x="24.17" y="139.93"/> + <close/> + <move x="375.04" y="145.32"/> + <curve x1="378.34" x2="376.02" x3="365.65" y1="151.99" y2="166.47" y3="177.83"/> + <curve x1="359.29" x2="348.9" x3="338.69" y1="184.69" y2="190.11" y3="190.11"/> + <line x="38.72" y="190.07"/> + <curve x1="29.29" x2="15.64" x3="7.29" y1="190.07" y2="184.47" y3="172.16"/> + <curve x1="0.59" x2="0" x3="2.93" y1="161.13" y2="151.42" y3="145.02"/> + <curve x1="7.43" x2="24.72" x3="44.7" y1="163.98" y2="177.3" y3="177.3"/> + <line x="333.87" y="177.24"/> + <curve x1="352.6" x2="370.92" x3="375.04" y1="177.24" y2="163.77" y3="145.32"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="386.28" name="key" strokewidth="inherit" w="825.57"> + <connections/> + <foreground> + <path> + <move x="193.14" y="0"/> + <arc large-arc-flag="0" rx="193.14" ry="193.14" sweep-flag="0" x="0" x-axis-rotation="0" y="193.14"/> + <arc large-arc-flag="0" rx="193.14" ry="193.14" sweep-flag="0" x="193.14" x-axis-rotation="0" y="386.28"/> + <arc large-arc-flag="0" rx="193.14" ry="193.14" sweep-flag="0" x="365.86" x-axis-rotation="0" y="279.08"/> + <line x="438.86" y="279.08"/> + <line x="500.22" y="224.77"/> + <line x="547.87" y="266.91"/> + <line x="594.06" y="224.77"/> + <line x="639.1" y="266.91"/> + <line x="687.15" y="224.77"/> + <line x="734.95" y="266.91"/> + <line x="814.91" y="196.02"/> + <curve x1="825.1" x2="825.57" x3="814.91" y1="186.21" y2="178.45" y3="167.7"/> + <line x="747.11" y="108.45"/> + <line x="366.58" y="108.45"/> + <arc large-arc-flag="0" rx="193.14" ry="193.14" sweep-flag="0" x="193.14" x-axis-rotation="0" y="0"/> + <close/> + <move x="108.36" y="144.14"/> + <arc large-arc-flag="0" rx="49.04" ry="49.04" sweep-flag="1" x="157.39" x-axis-rotation="0" y="193.17"/> + <arc large-arc-flag="0" rx="49.04" ry="49.04" sweep-flag="1" x="108.36" x-axis-rotation="0" y="242.21"/> + <arc large-arc-flag="0" rx="49.04" ry="49.04" sweep-flag="1" x="59.32" x-axis-rotation="0" y="193.17"/> + <arc large-arc-flag="0" rx="49.04" ry="49.04" sweep-flag="1" x="108.36" x-axis-rotation="0" y="144.14"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="279.26" name="l2 modular" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="36.12" y="15.11"/> + <line x="36.12" y="29.19"/> + <line x="63.68" y="29.19"/> + <line x="91.68" y="40.13"/> + <line x="64.57" y="50.73"/> + <line x="64.57" y="50.48"/> + <line x="36.12" y="50.48"/> + <line x="36.12" y="64.56"/> + <line x="64.57" y="64.56"/> + <line x="64.57" y="58.93"/> + <line x="126.42" y="58.93"/> + <line x="126.42" y="64.56"/> + <line x="154.87" y="64.56"/> + <line x="154.87" y="50.48"/> + <line x="126.42" y="50.48"/> + <line x="126.42" y="50.49"/> + <line x="99.92" y="40.13"/> + <line x="127.93" y="29.19"/> + <line x="154.87" y="29.19"/> + <line x="154.87" y="15.11"/> + <line x="126.42" y="15.11"/> + <line x="126.42" y="20.65"/> + <line x="64.57" y="20.65"/> + <line x="64.57" y="15.11"/> + <close/> + <move x="64.57" y="23.65"/> + <line x="126.42" y="23.65"/> + <line x="126.42" y="26.55"/> + <line x="95.8" y="38.52"/> + <line x="64.57" y="26.31"/> + <close/> + <move x="95.8" y="41.74"/> + <line x="126.42" y="53.71"/> + <line x="126.42" y="55.93"/> + <line x="64.57" y="55.93"/> + <line x="64.57" y="53.95"/> + <close/> + <move x="88.66" y="242.87"/> + <line x="88.66" y="227.58"/> + <line x="48.17" y="227.58"/> + <line x="48.17" y="215.5"/> + <line x="13.71" y="235.96"/> + <line x="48.17" y="256.1"/> + <line x="48.17" y="242.87"/> + <close/> + <move x="107.56" y="169.73"/> + <line x="107.56" y="154.44"/> + <line x="67.07" y="154.44"/> + <line x="67.07" y="142.36"/> + <line x="32.6" y="162.82"/> + <line x="67.07" y="182.96"/> + <line x="67.07" y="169.73"/> + <close/> + <move x="84.85" y="206.59"/> + <line x="84.85" y="191.3"/> + <line x="125.33" y="191.3"/> + <line x="125.33" y="179.22"/> + <line x="159.8" y="199.67"/> + <line x="125.33" y="219.81"/> + <line x="125.33" y="206.59"/> + <close/> + <move x="102.33" y="134.68"/> + <line x="102.33" y="119.39"/> + <line x="142.82" y="119.39"/> + <line x="142.82" y="107.31"/> + <line x="177.28" y="127.77"/> + <line x="142.82" y="147.9"/> + <line x="142.82" y="134.68"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="87.37"/> + <curve x1="5.27" x2="0" x3="0" y1="87.37" y2="92.64" y3="99.09"/> + <line x="0" y="267.55"/> + <curve x1="0" x2="5.27" x3="11.72" y1="273.99" y2="279.26" y3="279.26"/> + <line x="179.27" y="279.26"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="279.26" y2="273.99" y3="267.55"/> + <line x="190.99" y="99.09"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="92.64" y2="87.37" y3="87.37"/> + <close/> + <move x="11.72" y="92.66"/> + <line x="179.27" y="92.66"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="92.66" y2="95.48" y3="99.09"/> + <line x="185.7" y="267.55"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="271.15" y2="273.97" y3="273.97"/> + <line x="11.72" y="273.97"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="273.97" y2="271.15" y3="267.55"/> + <line x="5.29" y="99.09"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="95.48" y2="92.66" y3="92.66"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="1484.06" name="l2 modular2" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="364.27" y="107.72"/> + <line x="315.91" y="154"/> + <line x="350.14" y="154"/> + <line x="350.14" y="252.38"/> + <curve x1="317.14" x2="285.75" x3="258.15" y1="224.16" y2="200.57" y3="183.07"/> + <curve x1="235.45" x2="215.42" x3="198.23" y1="168.67" y2="158.33" y3="152.9"/> + <curve x1="189.64" x2="181.72" x3="174" y1="150.19" y2="148.63" y3="148.89"/> + <curve x1="166.28" x2="158.17" x3="152.3" y1="149.16" y2="151.62" y3="157.57"/> + <curve x1="146.44" x2="144.11" x3="143.96" y1="163.52" y2="171.68" y3="179.4"/> + <curve x1="143.82" x2="145.49" x3="148.34" y1="187.12" y2="195.01" y3="203.56"/> + <curve x1="154.03" x2="164.68" x3="179.42" y1="220.66" y2="240.53" y3="263.01"/> + <curve x1="197.02" x2="220.57" x3="248.62" y1="289.85" y2="320.26" y3="352.19"/> + <line x="151.95" y="352.19"/> + <line x="151.95" y="317.96"/> + <line x="105.67" y="366.32"/> + <line x="151.95" y="412.78"/> + <line x="151.95" y="381.03"/> + <line x="246.45" y="381.03"/> + <curve x1="219.35" x2="196.57" x3="179.42" y1="412.05" y2="441.59" y3="467.73"/> + <curve x1="164.67" x2="154.04" x3="148.34" y1="490.21" y2="510.08" y3="527.18"/> + <curve x1="145.5" x2="143.81" x3="143.96" y1="535.74" y2="543.62" y3="551.34"/> + <curve x1="144.11" x2="146.44" x3="152.3" y1="559.06" y2="567.22" y3="573.17"/> + <curve x1="158.17" x2="166.28" x3="174" y1="579.12" y2="581.58" y3="581.85"/> + <curve x1="181.72" x2="189.63" x3="198.23" y1="582.11" y2="580.56" y3="577.84"/> + <curve x1="215.41" x2="235.45" x3="258.15" y1="572.41" y2="562.07" y3="547.67"/> + <curve x1="285.74" x2="317.14" x3="350.14" y1="530.17" y2="506.58" y3="478.35"/> + <line x="350.14" y="576.74"/> + <line x="315.91" y="576.74"/> + <line x="364.27" y="623.02"/> + <line x="410.73" y="576.74"/> + <line x="378.98" y="576.74"/> + <line x="378.98" y="480.46"/> + <curve x1="411.07" x2="441.59" x3="468.5" y1="507.75" y2="530.62" y3="547.68"/> + <curve x1="491.2" x2="511.22" x3="528.41" y1="562.08" y2="572.41" y3="577.84"/> + <curve x1="537" x2="544.92" x3="552.64" y1="580.56" y2="582.11" y3="581.85"/> + <curve x1="560.36" x2="568.48" x3="574.34" y1="581.58" y2="579.13" y3="573.18"/> + <curve x1="580.2" x2="582.53" x3="582.68" y1="567.22" y2="559.06" y3="551.34"/> + <curve x1="582.82" x2="581.15" x3="578.3" y1="543.62" y2="535.73" y3="527.18"/> + <curve x1="572.61" x2="561.97" x3="547.22" y1="510.08" y2="490.21" y3="467.73"/> + <curve x1="530.08" x2="507.29" x3="480.19" y1="441.59" y2="412.05" y3="381.03"/> + <line x="574.69" y="381.03"/> + <line x="574.69" y="412.78"/> + <line x="620.97" y="366.32"/> + <line x="574.69" y="317.96"/> + <line x="574.69" y="352.19"/> + <line x="478.02" y="352.19"/> + <curve x1="506.07" x2="529.62" x3="547.22" y1="320.26" y2="289.84" y3="263.01"/> + <curve x1="561.97" x2="572.61" x3="578.3" y1="240.53" y2="220.66" y3="203.56"/> + <curve x1="581.14" x2="582.82" x3="582.68" y1="195.01" y2="187.12" y3="179.4"/> + <curve x1="582.53" x2="580.2" x3="574.34" y1="171.68" y2="163.52" y3="157.56"/> + <curve x1="568.48" x2="560.35" x3="552.63" y1="151.61" y2="149.16" y3="148.89"/> + <curve x1="544.91" x2="537.01" x3="528.41" y1="148.63" y2="150.19" y3="152.91"/> + <curve x1="511.23" x2="491.2" x3="468.49" y1="158.33" y2="168.66" y3="183.06"/> + <curve x1="441.59" x2="411.07" x3="378.98" y1="200.12" y2="222.99" y3="250.28"/> + <line x="378.98" y="154"/> + <line x="410.73" y="154"/> + <close/> + <move x="551.73" y="175.33"/> + <curve x1="554.96" x2="555.44" x3="555.49" y1="175.44" y2="176.08" y3="176.13"/> + <curve x1="555.54" x2="556.17" x3="556.23" y1="176.18" y2="176.67" y3="179.9"/> + <curve x1="556.29" x2="555.42" x3="553.19" y1="183.13" y2="188.5" y3="195.2"/> + <curve x1="548.73" x2="539.08" x3="525.1" y1="208.6" y2="227.18" y3="248.5"/> + <curve x1="507.39" x2="482.78" x3="453.12" y1="275.5" y2="307.07" y3="340.38"/> + <arc large-arc-flag="0" rx="93.21" ry="93.21" sweep-flag="0" x="389.63" x-axis-rotation="0" y="276.01"/> + <curve x1="423.41" x2="455.38" x3="482.67" y1="246.85" y2="222.71" y3="205.41"/> + <curve x1="504.2" x2="522.91" x3="536.38" y1="191.75" y2="182.39" y3="178.13"/> + <curve x1="543.11" x2="548.5" x3="551.73" y1="176.01" y2="175.22" y3="175.33"/> + <close/> + <move x="174.91" y="175.34"/> + <curve x1="178.14" x2="183.53" x3="190.26" y1="175.23" y2="176.01" y3="178.13"/> + <curve x1="203.73" x2="222.45" x3="243.98" y1="182.39" y2="191.75" y3="205.41"/> + <curve x1="271.27" x2="303.23" x3="337.01" y1="222.71" y2="246.85" y3="276.01"/> + <arc large-arc-flag="0" rx="93.21" ry="93.21" sweep-flag="0" x="273.59" x-axis-rotation="0" y="340.47"/> + <curve x1="243.91" x2="219.27" x3="201.54" y1="307.13" y2="275.53" y3="248.5"/> + <curve x1="187.56" x2="177.91" x3="173.45" y1="227.18" y2="208.6" y3="195.2"/> + <curve x1="171.22" x2="170.35" x3="170.42" y1="188.5" y2="183.13" y3="179.9"/> + <curve x1="170.48" x2="171.1" x3="171.15" y1="176.67" y2="176.18" y3="176.13"/> + <curve x1="171.21" x2="171.68" x3="174.91" y1="176.08" y2="175.45" y3="175.34"/> + <close/> + <move x="453.05" y="390.27"/> + <curve x1="482.74" x2="507.38" x3="525.1" y1="423.61" y2="455.22" y3="482.24"/> + <curve x1="539.09" x2="548.73" x3="553.19" y1="503.56" y2="522.14" y3="535.54"/> + <curve x1="555.42" x2="556.29" x3="556.23" y1="542.24" y2="547.61" y3="550.85"/> + <curve x1="556.17" x2="555.54" x3="555.49" y1="554.08" y2="554.56" y3="554.61"/> + <curve x1="555.44" x2="554.96" x3="551.73" y1="554.67" y2="555.3" y3="555.41"/> + <curve x1="548.51" x2="543.12" x3="536.38" y1="555.52" y2="554.74" y3="552.61"/> + <curve x1="522.92" x2="504.19" x3="482.66" y1="548.36" y2="539" y3="525.34"/> + <curve x1="455.38" x2="423.41" x3="389.63" y1="508.04" y2="483.89" y3="454.73"/> + <arc large-arc-flag="0" rx="93.21" ry="93.21" sweep-flag="0" x="453.05" x-axis-rotation="0" y="390.27"/> + <close/> + <move x="273.52" y="390.35"/> + <arc large-arc-flag="0" rx="93.21" ry="93.21" sweep-flag="0" x="337.01" x-axis-rotation="0" y="454.74"/> + <curve x1="303.23" x2="271.26" x3="243.98" y1="483.89" y2="508.03" y3="525.34"/> + <curve x1="222.45" x2="203.72" x3="190.26" y1="538.99" y2="548.36" y3="552.61"/> + <curve x1="183.52" x2="178.14" x3="174.91" y1="554.74" y2="555.51" y3="555.4"/> + <curve x1="171.68" x2="171.2" x3="171.15" y1="555.29" y2="554.66" y3="554.61"/> + <curve x1="171.1" x2="170.47" x3="170.41" y1="554.56" y2="554.07" y3="550.84"/> + <curve x1="170.35" x2="171.21" x3="173.44" y1="547.61" y2="542.24" y3="535.54"/> + <curve x1="177.9" x2="187.56" x3="201.54" y1="522.14" y2="503.56" y3="482.24"/> + <curve x1="219.26" x2="243.86" x3="273.52" y1="455.24" y2="423.66" y3="390.35"/> + <close/> + <move x="386.77" y="937.59"/> + <line x="386.77" y="879.81"/> + <line x="539.78" y="879.81"/> + <line x="539.78" y="834.15"/> + <line x="670.05" y="911.46"/> + <line x="539.78" y="987.58"/> + <line x="539.78" y="937.59"/> + <close/> + <move x="320.68" y="1209.36"/> + <line x="320.68" y="1151.58"/> + <line x="473.69" y="1151.58"/> + <line x="473.69" y="1105.93"/> + <line x="603.96" y="1183.23"/> + <line x="473.69" y="1259.35"/> + <line x="473.69" y="1209.36"/> + <close/> + <move x="406.51" y="1070.08"/> + <line x="406.51" y="1012.29"/> + <line x="253.5" y="1012.29"/> + <line x="253.5" y="966.64"/> + <line x="123.23" y="1043.95"/> + <line x="253.5" y="1120.07"/> + <line x="253.5" y="1070.08"/> + <close/> + <move x="335.08" y="1346.51"/> + <line x="335.08" y="1288.72"/> + <line x="182.07" y="1288.72"/> + <line x="182.07" y="1243.07"/> + <line x="51.8" y="1320.38"/> + <line x="182.07" y="1396.49"/> + <line x="182.07" y="1346.51"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="778.8"/> + <line x="677.57" y="778.8"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="778.8" y2="789.46" y3="803.08"/> + <line x="701.86" y="1439.77"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="1453.39" y2="1464.05" y3="1464.05"/> + <line x="44.28" y="1464.05"/> + <curve x1="30.66" x2="20" x3="20" y1="1464.05" y2="1453.39" y3="1439.77"/> + <line x="20" y="803.08"/> + <curve x1="20" x2="30.66" x3="44.28" y1="789.46" y2="778.8" y3="778.8"/> + <close/> + <move x="44.28" y="758.8"/> + <curve x1="19.92" x2="0" x3="0" y1="758.8" y2="778.72" y3="803.08"/> + <line x="0" y="1439.77"/> + <curve x1="0" x2="19.92" x3="44.28" y1="1464.13" y2="1484.06" y3="1484.06"/> + <line x="677.57" y="1484.06"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="1484.06" y2="1464.13" y3="1439.77"/> + <line x="721.85" y="803.08"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="778.72" y2="758.8" y3="758.8"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="456.45" y="365.22"/> + <arc large-arc-flag="0" rx="93.17" ry="93.17" sweep-flag="1" x="363.28" x-axis-rotation="0" y="458.39"/> + <arc large-arc-flag="0" rx="93.17" ry="93.17" sweep-flag="1" x="270.1" x-axis-rotation="0" y="365.22"/> + <arc large-arc-flag="0" rx="93.17" ry="93.17" sweep-flag="1" x="363.28" x-axis-rotation="0" y="272.05"/> + <arc large-arc-flag="0" rx="93.17" ry="93.17" sweep-flag="1" x="456.45" x-axis-rotation="0" y="365.22"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="l2 switch" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="89.29" y="155.5"/> + <line x="89.29" y="140.21"/> + <line x="48.81" y="140.21"/> + <line x="48.81" y="128.13"/> + <line x="14.34" y="148.58"/> + <line x="48.81" y="168.72"/> + <line x="48.81" y="155.5"/> + <close/> + <move x="108.19" y="82.36"/> + <line x="108.19" y="67.07"/> + <line x="67.71" y="67.07"/> + <line x="67.71" y="54.99"/> + <line x="33.24" y="75.45"/> + <line x="67.71" y="95.58"/> + <line x="67.71" y="82.36"/> + <close/> + <move x="85.48" y="119.21"/> + <line x="85.48" y="103.92"/> + <line x="125.97" y="103.92"/> + <line x="125.97" y="91.84"/> + <line x="160.43" y="112.3"/> + <line x="125.97" y="132.44"/> + <line x="125.97" y="119.21"/> + <close/> + <move x="102.97" y="47.3"/> + <line x="102.97" y="32.02"/> + <line x="143.45" y="32.02"/> + <line x="143.45" y="19.94"/> + <line x="177.92" y="40.39"/> + <line x="143.45" y="60.53"/> + <line x="143.45" y="47.3"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="362.61" name="l2 switch with dual supervisor" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="36.12" y="98.45"/> + <line x="36.12" y="112.53"/> + <line x="63.68" y="112.53"/> + <line x="91.68" y="123.48"/> + <line x="64.57" y="134.07"/> + <line x="64.57" y="133.82"/> + <line x="36.12" y="133.82"/> + <line x="36.12" y="147.9"/> + <line x="64.57" y="147.9"/> + <line x="64.57" y="142.27"/> + <line x="126.42" y="142.27"/> + <line x="126.42" y="147.9"/> + <line x="154.87" y="147.9"/> + <line x="154.87" y="133.82"/> + <line x="126.42" y="133.82"/> + <line x="126.42" y="133.83"/> + <line x="99.92" y="123.48"/> + <line x="127.93" y="112.53"/> + <line x="154.87" y="112.53"/> + <line x="154.87" y="98.45"/> + <line x="126.42" y="98.45"/> + <line x="126.42" y="103.99"/> + <line x="64.57" y="103.99"/> + <line x="64.57" y="98.45"/> + <close/> + <move x="64.57" y="106.99"/> + <line x="126.42" y="106.99"/> + <line x="126.42" y="109.9"/> + <line x="95.8" y="121.87"/> + <line x="64.57" y="109.66"/> + <close/> + <move x="95.8" y="125.09"/> + <line x="126.42" y="137.05"/> + <line x="126.42" y="139.27"/> + <line x="64.57" y="139.27"/> + <line x="64.57" y="137.3"/> + <close/> + <move x="88.66" y="326.21"/> + <line x="88.66" y="310.92"/> + <line x="48.17" y="310.92"/> + <line x="48.17" y="298.85"/> + <line x="13.71" y="319.3"/> + <line x="48.17" y="339.44"/> + <line x="48.17" y="326.21"/> + <close/> + <move x="107.56" y="253.08"/> + <line x="107.56" y="237.79"/> + <line x="67.07" y="237.79"/> + <line x="67.07" y="225.71"/> + <line x="32.6" y="246.16"/> + <line x="67.07" y="266.3"/> + <line x="67.07" y="253.08"/> + <close/> + <move x="84.85" y="289.93"/> + <line x="84.85" y="274.64"/> + <line x="125.33" y="274.64"/> + <line x="125.33" y="262.56"/> + <line x="159.8" y="283.01"/> + <line x="125.33" y="303.15"/> + <line x="125.33" y="289.93"/> + <close/> + <move x="102.33" y="218.02"/> + <line x="102.33" y="202.73"/> + <line x="142.82" y="202.73"/> + <line x="142.82" y="190.65"/> + <line x="177.28" y="211.11"/> + <line x="142.82" y="231.25"/> + <line x="142.82" y="218.02"/> + <close/> + <move x="36.12" y="15.11"/> + <line x="36.12" y="29.19"/> + <line x="63.68" y="29.19"/> + <line x="91.68" y="40.13"/> + <line x="64.57" y="50.73"/> + <line x="64.57" y="50.48"/> + <line x="36.12" y="50.48"/> + <line x="36.12" y="64.56"/> + <line x="64.57" y="64.56"/> + <line x="64.57" y="58.93"/> + <line x="126.42" y="58.93"/> + <line x="126.42" y="64.56"/> + <line x="154.87" y="64.56"/> + <line x="154.87" y="50.48"/> + <line x="126.42" y="50.48"/> + <line x="126.42" y="50.49"/> + <line x="99.92" y="40.13"/> + <line x="127.93" y="29.19"/> + <line x="154.87" y="29.19"/> + <line x="154.87" y="15.11"/> + <line x="126.42" y="15.11"/> + <line x="126.42" y="20.65"/> + <line x="64.57" y="20.65"/> + <line x="64.57" y="15.11"/> + <close/> + <move x="64.57" y="23.65"/> + <line x="126.42" y="23.65"/> + <line x="126.42" y="26.55"/> + <line x="95.8" y="38.52"/> + <line x="64.57" y="26.31"/> + <close/> + <move x="95.8" y="41.74"/> + <line x="126.42" y="53.71"/> + <line x="126.42" y="55.93"/> + <line x="64.57" y="55.93"/> + <line x="64.57" y="53.95"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="176.01"/> + <line x="179.27" y="176.01"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="176.01" y2="178.83" y3="182.43"/> + <line x="185.7" y="350.89"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="354.49" y2="357.31" y3="357.31"/> + <line x="11.72" y="357.31"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="357.31" y2="354.49" y3="350.89"/> + <line x="5.29" y="182.43"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="178.83" y2="176.01" y3="176.01"/> + <close/> + <move x="11.72" y="170.72"/> + <curve x1="5.27" x2="0" x3="0" y1="170.72" y2="175.99" y3="182.43"/> + <line x="0" y="350.89"/> + <curve x1="0" x2="5.27" x3="11.72" y1="357.33" y2="362.61" y3="362.61"/> + <line x="179.27" y="362.61"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="362.61" y2="357.33" y3="350.89"/> + <line x="190.99" y="182.43"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="175.99" y2="170.72" y3="170.72"/> + <close/> + <move x="11.72" y="88.63"/> + <line x="179.27" y="88.63"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="88.63" y2="91.45" y3="95.06"/> + <line x="185.7" y="151.26"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="154.86" y2="157.68" y3="157.68"/> + <line x="11.72" y="157.68"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="157.68" y2="154.86" y3="151.26"/> + <line x="5.29" y="95.06"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="91.45" y2="88.63" y3="88.63"/> + <close/> + <move x="11.72" y="83.34"/> + <curve x1="5.27" x2="0" x3="0" y1="83.34" y2="88.61" y3="95.06"/> + <line x="0" y="151.26"/> + <curve x1="0" x2="5.27" x3="11.72" y1="157.7" y2="162.97" y3="162.97"/> + <line x="179.27" y="162.97"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="162.97" y2="157.7" y3="151.26"/> + <line x="190.99" y="95.06"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="88.61" y2="83.34" y3="83.34"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="279.26" name="l3 modular" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="96.21" y="106.54"/> + <line x="80.22" y="129.56"/> + <line x="90.85" y="129.56"/> + <line x="90.85" y="153.98"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="77.89" x-axis-rotation="0" y="159.43"/> + <line x="60.56" y="142.19"/> + <line x="68.04" y="134.67"/> + <line x="40.58" y="129.63"/> + <line x="45.63" y="157.2"/> + <line x="53.12" y="149.67"/> + <line x="70.46" y="166.91"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="65.28" x-axis-rotation="0" y="179.57"/> + <line x="40.83" y="179.57"/> + <line x="40.83" y="168.95"/> + <line x="17.8" y="184.75"/> + <line x="40.83" y="200.73"/> + <line x="40.83" y="190.11"/> + <line x="65.25" y="190.11"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="70.54" x-axis-rotation="0" y="202.85"/> + <line x="53.25" y="220.17"/> + <line x="45.73" y="212.66"/> + <line x="40.77" y="240.25"/> + <line x="68.22" y="235.12"/> + <line x="60.71" y="227.62"/> + <line x="77.97" y="210.34"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="90.85" x-axis-rotation="0" y="215.68"/> + <line x="90.85" y="240.13"/> + <line x="80.22" y="240.13"/> + <line x="96.21" y="263.15"/> + <line x="112.01" y="240.13"/> + <line x="101.39" y="240.13"/> + <line x="101.39" y="215.71"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="114.17" x-axis-rotation="0" y="210.37"/> + <line x="131.53" y="227.63"/> + <line x="124.04" y="235.16"/> + <line x="151.64" y="240.06"/> + <line x="146.45" y="212.63"/> + <line x="138.97" y="220.15"/> + <line x="121.64" y="202.93"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="126.94" x-axis-rotation="0" y="190.11"/> + <line x="151.4" y="190.11"/> + <line x="151.4" y="200.73"/> + <line x="174.42" y="184.75"/> + <line x="151.4" y="168.95"/> + <line x="151.4" y="179.57"/> + <line x="126.97" y="179.57"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="121.57" x-axis-rotation="0" y="166.69"/> + <line x="138.84" y="149.39"/> + <line x="146.35" y="156.89"/> + <line x="151.45" y="129.44"/> + <line x="123.87" y="134.43"/> + <line x="131.38" y="141.94"/> + <line x="114.1" y="159.24"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="101.39" x-axis-rotation="0" y="154.02"/> + <line x="101.39" y="129.56"/> + <line x="112.01" y="129.56"/> + <close/> + <move x="96.42" y="41.74"/> + <line x="127.04" y="53.71"/> + <line x="127.04" y="55.93"/> + <line x="65.18" y="55.93"/> + <line x="65.18" y="53.95"/> + <close/> + <move x="65.18" y="23.65"/> + <line x="127.04" y="23.65"/> + <line x="127.04" y="26.55"/> + <line x="96.42" y="38.52"/> + <line x="65.18" y="26.31"/> + <close/> + <move x="36.74" y="15.11"/> + <line x="36.74" y="29.19"/> + <line x="64.3" y="29.19"/> + <line x="92.3" y="40.13"/> + <line x="65.18" y="50.73"/> + <line x="65.18" y="50.48"/> + <line x="36.74" y="50.48"/> + <line x="36.74" y="64.56"/> + <line x="65.18" y="64.56"/> + <line x="65.18" y="58.93"/> + <line x="127.04" y="58.93"/> + <line x="127.04" y="64.56"/> + <line x="155.48" y="64.56"/> + <line x="155.48" y="50.48"/> + <line x="127.04" y="50.48"/> + <line x="127.04" y="50.49"/> + <line x="100.54" y="40.13"/> + <line x="128.54" y="29.19"/> + <line x="155.48" y="29.19"/> + <line x="155.48" y="15.11"/> + <line x="127.04" y="15.11"/> + <line x="127.04" y="20.65"/> + <line x="65.18" y="20.65"/> + <line x="65.18" y="15.11"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="87.37"/> + <curve x1="5.27" x2="0" x3="0" y1="87.37" y2="92.64" y3="99.09"/> + <line x="0" y="267.55"/> + <curve x1="0" x2="5.27" x3="11.72" y1="273.99" y2="279.26" y3="279.26"/> + <line x="179.27" y="279.26"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="279.26" y2="273.99" y3="267.55"/> + <line x="190.99" y="99.09"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="92.64" y2="87.37" y3="87.37"/> + <close/> + <move x="11.72" y="92.66"/> + <line x="179.27" y="92.66"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="92.66" y2="95.48" y3="99.09"/> + <line x="185.7" y="267.55"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="271.15" y2="273.97" y3="273.97"/> + <line x="11.72" y="273.97"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="273.97" y2="271.15" y3="267.55"/> + <line x="5.29" y="99.09"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="95.48" y2="92.66" y3="92.66"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="258.41" name="l3 modular2" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="158.65" y="206.9"/> + <line x="167.26" y="218.58"/> + <line x="171.37" y="215.56"/> + <line x="172.87" y="228.94"/> + <line x="160.34" y="223.69"/> + <line x="164.45" y="220.66"/> + <line x="155.84" y="208.98"/> + <close/> + <move x="131.02" y="206.9"/> + <line x="122.41" y="218.58"/> + <line x="118.3" y="215.56"/> + <line x="116.8" y="228.94"/> + <line x="129.33" y="223.69"/> + <line x="125.22" y="220.66"/> + <line x="133.83" y="208.98"/> + <close/> + <move x="142.36" y="209.18"/> + <line x="142.36" y="223.69"/> + <line x="137.26" y="223.69"/> + <line x="143.99" y="235.35"/> + <line x="150.96" y="223.69"/> + <line x="145.86" y="223.69"/> + <line x="145.86" y="209.18"/> + <close/> + <move x="142.34" y="178.63"/> + <line x="142.34" y="193.14"/> + <line x="137.23" y="193.14"/> + <line x="143.97" y="204.8"/> + <line x="150.94" y="193.14"/> + <line x="145.84" y="193.14"/> + <line x="145.84" y="178.63"/> + <close/> + <move x="51.61" y="177.76"/> + <line x="45.66" y="186.33"/> + <line x="49.61" y="186.33"/> + <line x="49.61" y="195.43"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="44.79" x-axis-rotation="0" y="197.46"/> + <line x="38.33" y="191.04"/> + <line x="41.12" y="188.23"/> + <line x="30.89" y="186.36"/> + <line x="32.78" y="196.63"/> + <line x="35.57" y="193.82"/> + <line x="42.02" y="200.24"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="40.09" x-axis-rotation="0" y="204.96"/> + <line x="30.99" y="204.96"/> + <line x="30.99" y="201"/> + <line x="22.41" y="206.89"/> + <line x="30.99" y="212.84"/> + <line x="30.99" y="208.88"/> + <line x="40.08" y="208.88"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="42.05" x-axis-rotation="0" y="213.63"/> + <line x="35.61" y="220.08"/> + <line x="32.81" y="217.28"/> + <line x="30.97" y="227.56"/> + <line x="41.19" y="225.65"/> + <line x="38.39" y="222.85"/> + <line x="44.82" y="216.42"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="49.61" x-axis-rotation="0" y="218.4"/> + <line x="49.61" y="227.51"/> + <line x="45.66" y="227.51"/> + <line x="51.61" y="236.08"/> + <line x="57.49" y="227.51"/> + <line x="53.54" y="227.51"/> + <line x="53.54" y="218.41"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="58.3" x-axis-rotation="0" y="216.43"/> + <line x="64.76" y="222.86"/> + <line x="61.97" y="225.66"/> + <line x="72.25" y="227.48"/> + <line x="70.32" y="217.27"/> + <line x="67.53" y="220.07"/> + <line x="61.08" y="213.66"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="63.05" x-axis-rotation="0" y="208.88"/> + <line x="72.16" y="208.88"/> + <line x="72.16" y="212.84"/> + <line x="80.74" y="206.89"/> + <line x="72.16" y="201"/> + <line x="72.16" y="204.96"/> + <line x="63.07" y="204.96"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="61.05" x-axis-rotation="0" y="200.16"/> + <line x="67.49" y="193.72"/> + <line x="70.28" y="196.51"/> + <line x="72.18" y="186.29"/> + <line x="61.91" y="188.15"/> + <line x="64.71" y="190.94"/> + <line x="58.27" y="197.39"/> + <arc large-arc-flag="0" rx="11.66" ry="11.66" sweep-flag="0" x="53.54" x-axis-rotation="0" y="195.44"/> + <line x="53.54" y="186.33"/> + <line x="57.49" y="186.33"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="246.7"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="250.3" y2="253.12" y3="253.12"/> + <line x="11.72" y="253.12"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="253.12" y2="250.3" y3="246.7"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="246.7"/> + <curve x1="0" x2="5.27" x3="11.72" y1="253.14" y2="258.41" y3="258.41"/> + <line x="179.27" y="258.41"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="258.41" y2="253.14" y3="246.7"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="98.27" y="24.13"/> + <line x="82.28" y="47.15"/> + <line x="92.91" y="47.15"/> + <line x="92.91" y="71.58"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="79.95" x-axis-rotation="0" y="77.02"/> + <line x="62.62" y="59.78"/> + <line x="70.1" y="52.26"/> + <line x="42.64" y="47.22"/> + <line x="47.69" y="74.79"/> + <line x="55.18" y="67.26"/> + <line x="72.52" y="84.5"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="67.34" x-axis-rotation="0" y="97.16"/> + <line x="42.89" y="97.16"/> + <line x="42.89" y="86.54"/> + <line x="19.86" y="102.34"/> + <line x="42.89" y="118.33"/> + <line x="42.89" y="107.7"/> + <line x="67.31" y="107.7"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="72.6" x-axis-rotation="0" y="120.44"/> + <line x="55.31" y="137.76"/> + <line x="47.79" y="130.26"/> + <line x="42.83" y="157.84"/> + <line x="70.28" y="152.72"/> + <line x="62.77" y="145.21"/> + <line x="80.03" y="127.93"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="92.91" x-axis-rotation="0" y="133.27"/> + <line x="92.91" y="157.72"/> + <line x="82.28" y="157.72"/> + <line x="98.27" y="180.75"/> + <line x="114.07" y="157.72"/> + <line x="103.45" y="157.72"/> + <line x="103.45" y="133.3"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="116.23" x-axis-rotation="0" y="127.96"/> + <line x="133.59" y="145.22"/> + <line x="126.1" y="152.76"/> + <line x="153.7" y="157.65"/> + <line x="148.51" y="130.22"/> + <line x="141.03" y="137.75"/> + <line x="123.7" y="120.52"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="129" x-axis-rotation="0" y="107.7"/> + <line x="153.46" y="107.7"/> + <line x="153.46" y="118.33"/> + <line x="176.48" y="102.34"/> + <line x="153.46" y="86.54"/> + <line x="153.46" y="97.16"/> + <line x="129.03" y="97.16"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="123.63" x-axis-rotation="0" y="84.28"/> + <line x="140.9" y="66.98"/> + <line x="148.41" y="74.48"/> + <line x="153.51" y="47.03"/> + <line x="125.93" y="52.02"/> + <line x="133.44" y="59.53"/> + <line x="116.16" y="76.83"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="103.45" x-axis-rotation="0" y="71.61"/> + <line x="103.45" y="47.15"/> + <line x="114.07" y="47.15"/> + <close/> + </path> + <fill/> + <fillcolor color="#e6a9ab"/> + <path> + <move x="63.25" y="206.94"/> + <arc large-arc-flag="0" rx="11.67" ry="11.67" sweep-flag="1" x="51.58" x-axis-rotation="0" y="218.61"/> + <arc large-arc-flag="0" rx="11.67" ry="11.67" sweep-flag="1" x="39.91" x-axis-rotation="0" y="206.94"/> + <arc large-arc-flag="0" rx="11.67" ry="11.67" sweep-flag="1" x="51.58" x-axis-rotation="0" y="195.28"/> + <arc large-arc-flag="0" rx="11.67" ry="11.67" sweep-flag="1" x="63.25" x-axis-rotation="0" y="206.94"/> + <close/> + <move x="129.52" y="102.5"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="98.19" x-axis-rotation="0" y="133.83"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="66.86" x-axis-rotation="0" y="102.5"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="98.19" x-axis-rotation="0" y="71.17"/> + <arc large-arc-flag="0" rx="31.33" ry="31.33" sweep-flag="1" x="129.52" x-axis-rotation="0" y="102.5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="744.45" name="l3 modular3" strokewidth="inherit" w="744.45"> + <connections/> + <foreground> + <path> + <move x="292.65" y="521.53"/> + <line x="292.65" y="527.2"/> + <line x="292.65" y="571.21"/> + <line x="257.08" y="571.21"/> + <line x="257.08" y="543.81"/> + <line x="195.97" y="585.86"/> + <line x="257.08" y="624.87"/> + <line x="257.08" y="600.5"/> + <line x="292.65" y="600.5"/> + <line x="292.65" y="648.84"/> + <line x="477.85" y="648.84"/> + <line x="477.85" y="600.33"/> + <line x="513.58" y="600.33"/> + <line x="513.58" y="624.7"/> + <line x="574.7" y="585.68"/> + <line x="513.58" y="543.63"/> + <line x="513.58" y="571.03"/> + <line x="477.85" y="571.03"/> + <line x="477.85" y="521.53"/> + <close/> + <move x="303.99" y="532.87"/> + <line x="466.51" y="532.87"/> + <line x="466.51" y="637.5"/> + <line x="303.99" y="637.5"/> + <close/> + <move x="328.31" y="547.1"/> + <line x="328.31" y="558.44"/> + <line x="440.44" y="558.44"/> + <line x="440.44" y="547.1"/> + <close/> + <move x="328.31" y="579.37"/> + <line x="328.31" y="590.71"/> + <line x="440.44" y="590.71"/> + <line x="440.44" y="579.37"/> + <close/> + <move x="328.31" y="611.63"/> + <line x="328.31" y="622.97"/> + <line x="440.44" y="622.97"/> + <line x="440.44" y="611.63"/> + <close/> + <move x="372.22" y="9.45"/> + <curve x1="572.64" x2="735" x3="735" y1="9.45" y2="171.81" y3="372.22"/> + <curve x1="735" x2="572.64" x3="372.22" y1="572.64" y2="735" y3="735"/> + <curve x1="171.81" x2="9.45" x3="9.45" y1="735" y2="572.64" y3="372.22"/> + <curve x1="9.45" x2="171.81" x3="372.22" y1="171.81" y2="9.45" y3="9.45"/> + <close/> + <move x="372.22" y="0"/> + <curve x1="166.71" x2="0" x3="0" y1="0" y2="166.71" y3="372.22"/> + <curve x1="0" x2="166.71" x3="372.22" y1="577.74" y2="744.45" y3="744.45"/> + <curve x1="577.74" x2="744.45" x3="744.45" y1="744.45" y2="577.74" y3="372.22"/> + <curve x1="744.45" x2="577.74" x3="372.22" y1="166.71" y2="0" y3="0"/> + <close/> + <move x="385.89" y="249.81"/> + <line x="467.7" y="166.4"/> + <line x="433.08" y="132.45"/> + <line x="557.91" y="106.49"/> + <line x="534.75" y="232.15"/> + <line x="500.44" y="198.51"/> + <line x="418.64" y="281.92"/> + <close/> + <move x="202.14" y="92.02"/> + <line x="285.56" y="173.83"/> + <line x="319.51" y="139.21"/> + <line x="345.47" y="264.03"/> + <line x="219.81" y="240.88"/> + <line x="253.45" y="206.57"/> + <line x="170.03" y="124.76"/> + <close/> + <move x="359.62" y="340.64"/> + <line x="277.81" y="424.06"/> + <line x="312.43" y="458.01"/> + <line x="187.6" y="483.96"/> + <line x="210.76" y="358.3"/> + <line x="245.07" y="391.95"/> + <line x="326.87" y="308.53"/> + <close/> + <move x="546.8" y="499.38"/> + <line x="463.38" y="417.57"/> + <line x="429.43" y="452.19"/> + <line x="403.48" y="327.37"/> + <line x="529.14" y="350.52"/> + <line x="495.49" y="384.83"/> + <line x="578.91" y="466.63"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="l3 switch" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="361.29" y="66.66"/> + <line x="300.88" y="153.68"/> + <line x="341.03" y="153.68"/> + <line x="341.03" y="245.99"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="292.08" x-axis-rotation="0" y="266.56"/> + <line x="226.56" y="201.42"/> + <line x="254.85" y="172.97"/> + <line x="151.05" y="153.95"/> + <line x="170.15" y="258.15"/> + <line x="198.46" y="229.68"/> + <line x="264" y="294.84"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="244.41" x-axis-rotation="0" y="342.68"/> + <line x="151.98" y="342.68"/> + <line x="151.98" y="302.55"/> + <line x="64.96" y="362.26"/> + <line x="151.98" y="422.68"/> + <line x="151.98" y="382.53"/> + <line x="244.29" y="382.53"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="264.3" x-axis-rotation="0" y="430.69"/> + <line x="198.92" y="496.14"/> + <line x="170.52" y="467.77"/> + <line x="151.77" y="572.04"/> + <line x="255.51" y="552.66"/> + <line x="227.12" y="524.3"/> + <line x="292.37" y="458.97"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="341.03" x-axis-rotation="0" y="479.15"/> + <line x="341.03" y="571.58"/> + <line x="300.88" y="571.58"/> + <line x="361.29" y="658.6"/> + <line x="421" y="571.58"/> + <line x="380.88" y="571.58"/> + <line x="380.88" y="479.26"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="429.19" x-axis-rotation="0" y="459.11"/> + <line x="494.79" y="524.34"/> + <line x="466.49" y="552.81"/> + <line x="570.79" y="571.32"/> + <line x="551.19" y="467.62"/> + <line x="522.89" y="496.08"/> + <line x="457.43" y="430.98"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="477.45" x-axis-rotation="0" y="382.53"/> + <line x="569.88" y="382.53"/> + <line x="569.88" y="422.68"/> + <line x="656.89" y="362.26"/> + <line x="569.88" y="302.55"/> + <line x="569.88" y="342.68"/> + <line x="477.56" y="342.68"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="457.14" x-axis-rotation="0" y="293.99"/> + <line x="522.43" y="228.62"/> + <line x="550.82" y="256.97"/> + <line x="570.07" y="153.21"/> + <line x="465.82" y="172.08"/> + <line x="494.23" y="200.46"/> + <line x="428.92" y="265.85"/> + <arc large-arc-flag="0" rx="118.34" ry="118.34" sweep-flag="0" x="380.88" x-axis-rotation="0" y="246.11"/> + <line x="380.88" y="153.68"/> + <line x="421.01" y="153.68"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="362.61" name="l3 switch with dual supervisor" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <strokewidth width="0.26461682"/> + <path> + <move x="95.6" y="188.36"/> + <line x="79.62" y="211.38"/> + <line x="90.24" y="211.38"/> + <line x="90.24" y="235.81"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="77.29" x-axis-rotation="0" y="241.25"/> + <line x="59.95" y="224.02"/> + <line x="67.44" y="216.49"/> + <line x="39.97" y="211.45"/> + <line x="45.02" y="239.03"/> + <line x="52.51" y="231.49"/> + <line x="69.86" y="248.74"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="64.67" x-axis-rotation="0" y="261.4"/> + <line x="40.21" y="261.4"/> + <line x="40.21" y="250.78"/> + <line x="17.19" y="266.58"/> + <line x="40.21" y="282.56"/> + <line x="40.21" y="271.94"/> + <line x="64.64" y="271.94"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="69.94" x-axis-rotation="0" y="284.68"/> + <line x="52.64" y="302"/> + <line x="45.12" y="294.5"/> + <line x="40.16" y="322.09"/> + <line x="67.61" y="316.96"/> + <line x="60.1" y="309.46"/> + <line x="77.36" y="292.17"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="90.24" x-axis-rotation="0" y="297.51"/> + <line x="90.24" y="321.96"/> + <line x="79.62" y="321.96"/> + <line x="95.6" y="344.99"/> + <line x="111.4" y="321.96"/> + <line x="100.78" y="321.96"/> + <line x="100.78" y="297.54"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="113.57" x-axis-rotation="0" y="292.2"/> + <line x="130.93" y="309.46"/> + <line x="123.44" y="317"/> + <line x="151.04" y="321.9"/> + <line x="145.85" y="294.46"/> + <line x="138.37" y="301.99"/> + <line x="121.04" y="284.76"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="126.34" x-axis-rotation="0" y="271.94"/> + <line x="150.8" y="271.94"/> + <line x="150.8" y="282.56"/> + <line x="173.82" y="266.58"/> + <line x="150.8" y="250.78"/> + <line x="150.8" y="261.4"/> + <line x="126.37" y="261.4"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="120.97" x-axis-rotation="0" y="248.51"/> + <line x="138.24" y="231.21"/> + <line x="145.75" y="238.72"/> + <line x="150.85" y="211.26"/> + <line x="123.26" y="216.25"/> + <line x="130.78" y="223.76"/> + <line x="113.5" y="241.07"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="100.78" x-axis-rotation="0" y="235.84"/> + <line x="100.78" y="211.38"/> + <line x="111.4" y="211.38"/> + <close/> + <move x="11.72" y="83.34"/> + <curve x1="5.27" x2="0" x3="0" y1="83.34" y2="88.61" y3="95.06"/> + <line x="0" y="151.26"/> + <curve x1="0" x2="5.27" x3="11.72" y1="157.7" y2="162.97" y3="162.97"/> + <line x="179.27" y="162.97"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="162.97" y2="157.7" y3="151.26"/> + <line x="190.99" y="95.06"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="88.61" y2="83.34" y3="83.34"/> + <close/> + <move x="11.72" y="88.63"/> + <line x="179.27" y="88.63"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="88.63" y2="91.45" y3="95.06"/> + <line x="185.7" y="151.26"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="154.86" y2="157.68" y3="157.68"/> + <line x="11.72" y="157.68"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="157.68" y2="154.86" y3="151.26"/> + <line x="5.29" y="95.06"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="91.45" y2="88.63" y3="88.63"/> + <close/> + <move x="11.72" y="170.72"/> + <curve x1="5.27" x2="0" x3="0" y1="170.72" y2="175.99" y3="182.43"/> + <line x="0" y="350.89"/> + <curve x1="0" x2="5.27" x3="11.72" y1="357.33" y2="362.61" y3="362.61"/> + <line x="179.27" y="362.61"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="362.61" y2="357.33" y3="350.89"/> + <line x="190.99" y="182.43"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="175.99" y2="170.72" y3="170.72"/> + <close/> + <move x="11.72" y="176.01"/> + <line x="179.27" y="176.01"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="176.01" y2="178.83" y3="182.43"/> + <line x="185.7" y="350.89"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="354.49" y2="357.31" y3="357.31"/> + <line x="11.72" y="357.31"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="357.31" y2="354.49" y3="350.89"/> + <line x="5.29" y="182.43"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="178.83" y2="176.01" y3="176.01"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="95.8" y="41.74"/> + <line x="126.42" y="53.71"/> + <line x="126.42" y="55.93"/> + <line x="64.57" y="55.93"/> + <line x="64.57" y="53.95"/> + <close/> + <move x="64.57" y="23.65"/> + <line x="126.42" y="23.65"/> + <line x="126.42" y="26.55"/> + <line x="95.8" y="38.52"/> + <line x="64.57" y="26.31"/> + <close/> + <move x="36.12" y="15.11"/> + <line x="36.12" y="29.19"/> + <line x="63.68" y="29.19"/> + <line x="91.68" y="40.13"/> + <line x="64.57" y="50.73"/> + <line x="64.57" y="50.48"/> + <line x="36.12" y="50.48"/> + <line x="36.12" y="64.56"/> + <line x="64.57" y="64.56"/> + <line x="64.57" y="58.93"/> + <line x="126.42" y="58.93"/> + <line x="126.42" y="64.56"/> + <line x="154.87" y="64.56"/> + <line x="154.87" y="50.48"/> + <line x="126.42" y="50.48"/> + <line x="126.42" y="50.49"/> + <line x="99.92" y="40.13"/> + <line x="127.93" y="29.19"/> + <line x="154.87" y="29.19"/> + <line x="154.87" y="15.11"/> + <line x="126.42" y="15.11"/> + <line x="126.42" y="20.65"/> + <line x="64.57" y="20.65"/> + <line x="64.57" y="15.11"/> + <close/> + <move x="95.8" y="125.09"/> + <line x="126.42" y="137.05"/> + <line x="126.42" y="139.27"/> + <line x="64.57" y="139.27"/> + <line x="64.57" y="137.3"/> + <close/> + <move x="64.57" y="106.99"/> + <line x="126.42" y="106.99"/> + <line x="126.42" y="109.9"/> + <line x="95.8" y="121.87"/> + <line x="64.57" y="109.66"/> + <close/> + <move x="36.12" y="98.45"/> + <line x="36.12" y="112.53"/> + <line x="63.68" y="112.53"/> + <line x="91.68" y="123.48"/> + <line x="64.57" y="134.07"/> + <line x="64.57" y="133.82"/> + <line x="36.12" y="133.82"/> + <line x="36.12" y="147.9"/> + <line x="64.57" y="147.9"/> + <line x="64.57" y="142.27"/> + <line x="126.42" y="142.27"/> + <line x="126.42" y="147.9"/> + <line x="154.87" y="147.9"/> + <line x="154.87" y="133.82"/> + <line x="126.42" y="133.82"/> + <line x="126.42" y="133.83"/> + <line x="99.92" y="123.48"/> + <line x="127.93" y="112.53"/> + <line x="154.87" y="112.53"/> + <line x="154.87" y="98.45"/> + <line x="126.42" y="98.45"/> + <line x="126.42" y="103.99"/> + <line x="64.57" y="103.99"/> + <line x="64.57" y="98.45"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="150.99" name="laptop" strokewidth="inherit" w="220.46"> + <connections/> + <foreground> + <path> + <move x="33.01" y="110.98"/> + <line x="35.08" y="110.98"/> + <line x="185.47" y="110.98"/> + <line x="187.7" y="110.98"/> + <curve x1="188.61" x2="190.94" x3="192.74" y1="110.98" y2="112.21" y3="113.59"/> + <line x="217.46" y="136.99"/> + <line x="217.46" y="142.53"/> + <curve x1="217.46" x2="214.63" x3="211.1" y1="145.21" y2="147.99" y3="147.99"/> + <line x="9.54" y="147.99"/> + <curve x1="7.92" x2="6.23" x3="5.01" y1="147.99" y2="147.41" y3="146.39"/> + <curve x1="3.78" x2="3" x3="3" y1="145.37" y2="143.98" y3="142.07"/> + <line x="3" y="137.21"/> + <line x="29.32" y="112.53"/> + <curve x1="30.2" x2="31.72" x3="33.01" y1="111.76" y2="110.98" y3="110.98"/> + <close/> + <move x="35.08" y="3"/> + <line x="185.47" y="3"/> + <curve x1="189.01" x2="191.82" x3="191.82" y1="3" y2="5.8" y3="9.35"/> + <line x="191.82" y="101.61"/> + <curve x1="191.82" x2="189.01" x3="185.47" y1="105.16" y2="107.98" y3="107.98"/> + <line x="35.08" y="107.98"/> + <curve x1="31.54" x2="28.74" x3="28.74" y1="107.98" y2="105.16" y3="101.61"/> + <line x="28.74" y="9.35"/> + <curve x1="28.74" x2="31.54" x3="35.08" y1="5.8" y2="3" y3="3"/> + <close/> + <move x="35.08" y="0"/> + <curve x1="29.93" x2="25.74" x3="25.74" y1="0" y2="4.19" y3="9.35"/> + <line x="25.74" y="101.61"/> + <curve x1="25.74" x2="27.13" x3="29.28" y1="104.57" y2="107.22" y3="108.94"/> + <curve x1="28.54" x2="27.89" x3="27.34" y1="109.33" y2="109.79" y3="110.27"/> + <line x="27.32" y="110.29"/> + <line x="0" y="135.91"/> + <line x="0" y="142.07"/> + <curve x1="0" x2="1.27" x3="3.08" y1="144.85" y2="147.17" y3="148.69"/> + <curve x1="4.9" x2="7.23" x3="9.54" y1="150.21" y2="150.99" y3="150.99"/> + <line x="211.1" y="150.99"/> + <curve x1="216.17" x2="220.46" x3="220.46" y1="150.99" y2="147.15" y3="142.53"/> + <line x="220.46" y="135.7"/> + <line x="194.67" y="111.29"/> + <line x="194.61" y="111.24"/> + <curve x1="193.58" x2="192.45" x3="191.25" y1="110.45" y2="109.6" y3="108.96"/> + <curve x1="193.42" x2="194.82" x3="194.82" y1="107.25" y2="104.59" y3="101.62"/> + <line x="194.82" y="9.35"/> + <curve x1="194.82" x2="190.62" x3="185.47" y1="4.19" y2="0" y3="0"/> + <close/> + <move x="37.11" y="11.53"/> + <line x="183.01" y="11.53"/> + <line x="183.01" y="99.54"/> + <line x="37.11" y="99.54"/> + <close/> + <move x="72.96" y="136.77"/> + <line x="80.61" y="123.67"/> + <line x="140.11" y="123.67"/> + <line x="147.79" y="136.77"/> + <line x="127.94" y="136.77"/> + <line x="127.94" y="139.07"/> + <curve x1="127.94" x2="125.69" x3="123.23" y1="141.44" y2="144.07" y3="144.07"/> + <line x="96.85" y="144.07"/> + <curve x1="94.33" x2="92.36" x3="92.36" y1="144.07" y2="141.49" y3="139.19"/> + <line x="92.36" y="136.77"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.61" name="laptop video client" strokewidth="inherit" w="220.46"> + <connections/> + <foreground> + <path> + <move x="72.96" y="177.39"/> + <line x="80.61" y="164.29"/> + <line x="140.11" y="164.29"/> + <line x="147.79" y="177.39"/> + <line x="127.94" y="177.39"/> + <line x="127.94" y="179.69"/> + <curve x1="127.94" x2="125.69" x3="123.23" y1="182.06" y2="184.69" y3="184.69"/> + <line x="96.85" y="184.69"/> + <curve x1="94.33" x2="92.36" x3="92.36" y1="184.69" y2="182.1" y3="179.81"/> + <line x="92.36" y="177.39"/> + <close/> + <move x="126.08" y="77.47"/> + <arc large-arc-flag="0" rx="15.79" ry="15.79" sweep-flag="0" x="110.29" x-axis-rotation="0" y="61.69"/> + <arc large-arc-flag="0" rx="15.79" ry="15.79" sweep-flag="0" x="94.51" x-axis-rotation="0" y="77.47"/> + <arc large-arc-flag="0" rx="15.79" ry="15.79" sweep-flag="0" x="110.29" x-axis-rotation="0" y="93.26"/> + <arc large-arc-flag="0" rx="15.79" ry="15.79" sweep-flag="0" x="126.08" x-axis-rotation="0" y="77.47"/> + <close/> + <move x="92.63" y="131.54"/> + <line x="127.95" y="131.54"/> + <curve x1="127.95" x2="122.75" x3="110.29" y1="113.97" y2="94.47" y3="94.47"/> + <curve x1="98.44" x2="92.63" x3="92.63" y1="94.47" y2="112.07" y3="131.54"/> + <close/> + <move x="37.11" y="52.15"/> + <line x="183.01" y="52.15"/> + <line x="183.01" y="140.16"/> + <line x="37.11" y="140.16"/> + <close/> + <move x="98.42" y="16.51"/> + <line x="121.93" y="16.51"/> + <line x="121.93" y="12.37"/> + <line x="98.42" y="12.37"/> + <close/> + <move x="126.78" y="16.43"/> + <arc large-arc-flag="0" rx="16.43" ry="16.43" sweep-flag="1" x="110.35" x-axis-rotation="0" y="32.86"/> + <arc large-arc-flag="0" rx="16.43" ry="16.43" sweep-flag="1" x="93.92" x-axis-rotation="0" y="16.43"/> + <arc large-arc-flag="0" rx="16.43" ry="16.43" sweep-flag="1" x="110.35" x-axis-rotation="0" y="0"/> + <arc large-arc-flag="0" rx="16.43" ry="16.43" sweep-flag="1" x="126.78" x-axis-rotation="0" y="16.43"/> + <close/> + <move x="85.62" y="36.75"/> + <line x="90.75" y="20.32"/> + <line x="92.3" y="20.32"/> + <curve x1="94.11" x2="101.6" x3="110.16" y1="30.26" y2="35.58" y3="35.58"/> + <curve x1="119.14" x2="126.39" x3="128.37" y1="35.58" y2="30.02" y3="20.32"/> + <line x="129.7" y="20.32"/> + <line x="135.15" y="36.75"/> + <close/> + <move x="35.08" y="40.62"/> + <curve x1="29.93" x2="25.74" x3="25.74" y1="40.62" y2="44.81" y3="49.96"/> + <line x="25.74" y="142.23"/> + <curve x1="25.74" x2="27.13" x3="29.28" y1="145.19" y2="147.84" y3="149.56"/> + <curve x1="28.54" x2="27.89" x3="27.34" y1="149.94" y2="150.41" y3="150.89"/> + <line x="27.32" y="150.91"/> + <line x="0" y="176.52"/> + <line x="0" y="182.69"/> + <curve x1="0" x2="1.27" x3="3.08" y1="185.47" y2="187.79" y3="189.31"/> + <curve x1="4.9" x2="7.23" x3="9.54" y1="190.83" y2="191.61" y3="191.61"/> + <line x="211.1" y="191.61"/> + <curve x1="216.17" x2="220.46" x3="220.46" y1="191.61" y2="187.77" y3="183.15"/> + <line x="220.46" y="176.31"/> + <line x="194.67" y="151.91"/> + <line x="194.61" y="151.86"/> + <curve x1="193.58" x2="192.45" x3="191.25" y1="151.07" y2="150.22" y3="149.58"/> + <curve x1="193.42" x2="194.82" x3="194.82" y1="147.86" y2="145.21" y3="142.23"/> + <line x="194.82" y="49.96"/> + <curve x1="194.82" x2="190.62" x3="185.47" y1="44.81" y2="40.62" y3="40.62"/> + <close/> + <move x="35.08" y="43.62"/> + <line x="185.47" y="43.62"/> + <curve x1="189.01" x2="191.82" x3="191.82" y1="43.62" y2="46.42" y3="49.96"/> + <line x="191.82" y="142.23"/> + <curve x1="191.82" x2="189.01" x3="185.47" y1="145.77" y2="148.59" y3="148.59"/> + <line x="35.08" y="148.59"/> + <curve x1="31.54" x2="28.74" x3="28.74" y1="148.59" y2="145.77" y3="142.23"/> + <line x="28.74" y="49.96"/> + <curve x1="28.74" x2="31.54" x3="35.08" y1="46.42" y2="43.62" y3="43.62"/> + <close/> + <move x="33.01" y="151.59"/> + <line x="35.08" y="151.59"/> + <line x="185.47" y="151.59"/> + <line x="187.7" y="151.59"/> + <curve x1="188.61" x2="190.94" x3="192.74" y1="151.59" y2="152.83" y3="154.21"/> + <line x="217.46" y="177.61"/> + <line x="217.46" y="183.15"/> + <curve x1="217.46" x2="214.63" x3="211.1" y1="185.83" y2="188.61" y3="188.61"/> + <line x="9.54" y="188.61"/> + <curve x1="7.92" x2="6.23" x3="5.01" y1="188.61" y2="188.03" y3="187.01"/> + <curve x1="3.78" x2="3" x3="3" y1="185.99" y2="184.6" y3="182.69"/> + <line x="3" y="177.82"/> + <line x="29.32" y="153.14"/> + <curve x1="30.2" x2="31.72" x3="33.01" y1="152.37" y2="151.59" y3="151.59"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="layer3 nexus 5k switch" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="38.96" y="128.3"/> + <line x="33.86" y="135.64"/> + <line x="37.25" y="135.64"/> + <line x="37.25" y="143.42"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="33.12" x-axis-rotation="0" y="145.16"/> + <line x="27.59" y="139.66"/> + <line x="29.98" y="137.26"/> + <line x="21.22" y="135.66"/> + <line x="22.84" y="144.45"/> + <line x="25.22" y="142.05"/> + <line x="30.75" y="147.54"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="29.1" x-axis-rotation="0" y="151.58"/> + <line x="21.3" y="151.58"/> + <line x="21.3" y="148.19"/> + <line x="13.96" y="153.23"/> + <line x="21.3" y="158.32"/> + <line x="21.3" y="154.94"/> + <line x="29.09" y="154.94"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="30.78" x-axis-rotation="0" y="159"/> + <line x="25.26" y="164.52"/> + <line x="22.87" y="162.13"/> + <line x="21.29" y="170.92"/> + <line x="30.04" y="169.29"/> + <line x="27.64" y="166.9"/> + <line x="33.14" y="161.39"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="37.25" x-axis-rotation="0" y="163.09"/> + <line x="37.25" y="170.88"/> + <line x="33.86" y="170.88"/> + <line x="38.96" y="178.22"/> + <line x="43.99" y="170.88"/> + <line x="40.61" y="170.88"/> + <line x="40.61" y="163.1"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="44.69" x-axis-rotation="0" y="161.4"/> + <line x="50.22" y="166.9"/> + <line x="47.83" y="169.3"/> + <line x="56.63" y="170.86"/> + <line x="54.98" y="162.12"/> + <line x="52.59" y="164.52"/> + <line x="47.07" y="159.02"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="48.76" x-axis-rotation="0" y="154.94"/> + <line x="56.55" y="154.94"/> + <line x="56.55" y="158.32"/> + <line x="63.89" y="153.23"/> + <line x="56.55" y="148.19"/> + <line x="56.55" y="151.58"/> + <line x="48.77" y="151.58"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="47.04" x-axis-rotation="0" y="147.47"/> + <line x="52.55" y="141.96"/> + <line x="54.94" y="144.35"/> + <line x="56.57" y="135.6"/> + <line x="47.78" y="137.19"/> + <line x="50.17" y="139.58"/> + <line x="44.66" y="145.1"/> + <arc large-arc-flag="0" rx="9.98" ry="9.98" sweep-flag="0" x="40.61" x-axis-rotation="0" y="143.43"/> + <line x="40.61" y="135.64"/> + <line x="43.99" y="135.64"/> + <close/> + <move x="143.15" y="16.82"/> + <line x="143.15" y="27"/> + <line x="109.03" y="27"/> + <line x="109.03" y="39.88"/> + <line x="143.15" y="39.88"/> + <line x="143.15" y="51.03"/> + <line x="172.2" y="34.06"/> + <close/> + <move x="68.54" y="42.66"/> + <line x="39.48" y="59.89"/> + <line x="68.54" y="76.87"/> + <line x="68.54" y="65.72"/> + <line x="102.66" y="65.72"/> + <line x="102.66" y="52.84"/> + <line x="68.54" y="52.84"/> + <close/> + <move x="124.16" y="67.28"/> + <line x="124.16" y="77.46"/> + <line x="90.04" y="77.46"/> + <line x="90.04" y="90.34"/> + <line x="124.16" y="90.34"/> + <line x="124.16" y="101.49"/> + <line x="153.21" y="84.51"/> + <close/> + <move x="49" y="93.04"/> + <line x="19.95" y="110.28"/> + <line x="49" y="127.26"/> + <line x="49" y="116.11"/> + <line x="83.12" y="116.11"/> + <line x="83.12" y="103.22"/> + <line x="49" y="103.22"/> + <close/> + <move x="148.11" y="121.98"/> + <line x="143.16" y="126.72"/> + <line x="146.66" y="126.72"/> + <line x="146.66" y="136.81"/> + <curve x1="143.28" x2="140.06" x3="137.24" y1="133.91" y2="131.5" y3="129.7"/> + <curve x1="134.91" x2="132.85" x3="131.09" y1="128.23" y2="127.17" y3="126.61"/> + <curve x1="130.21" x2="129.4" x3="128.61" y1="126.33" y2="126.17" y3="126.2"/> + <curve x1="127.82" x2="126.99" x3="126.39" y1="126.23" y2="126.48" y3="127.09"/> + <curve x1="125.78" x2="125.55" x3="125.53" y1="127.7" y2="128.53" y3="129.33"/> + <curve x1="125.52" x2="125.69" x3="125.98" y1="130.12" y2="130.93" y3="131.8"/> + <curve x1="126.56" x2="127.65" x3="129.17" y1="133.56" y2="135.59" y3="137.9"/> + <curve x1="130.97" x2="133.38" x3="136.26" y1="140.65" y2="143.77" y3="147.04"/> + <line x="126.35" y="147.04"/> + <line x="126.35" y="143.53"/> + <line x="121.61" y="148.49"/> + <line x="126.35" y="153.25"/> + <line x="126.35" y="149.99"/> + <line x="136.04" y="149.99"/> + <curve x1="133.26" x2="130.92" x3="129.16" y1="153.17" y2="156.2" y3="158.88"/> + <curve x1="127.65" x2="126.56" x3="125.98" y1="161.19" y2="163.22" y3="164.98"/> + <curve x1="125.69" x2="125.52" x3="125.53" y1="165.85" y2="166.66" y3="167.45"/> + <curve x1="125.55" x2="125.78" x3="126.38" y1="168.24" y2="169.08" y3="169.69"/> + <curve x1="126.99" x2="127.82" x3="128.61" y1="170.3" y2="170.55" y3="170.58"/> + <curve x1="129.4" x2="130.21" x3="131.09" y1="170.61" y2="170.45" y3="170.17"/> + <curve x1="132.85" x2="134.91" x3="137.23" y1="169.61" y2="168.55" y3="167.08"/> + <curve x1="140.06" x2="143.28" x3="146.66" y1="165.28" y2="162.86" y3="159.97"/> + <line x="146.66" y="170.06"/> + <line x="143.16" y="170.06"/> + <line x="148.11" y="174.8"/> + <line x="152.88" y="170.06"/> + <line x="149.62" y="170.06"/> + <line x="149.62" y="160.19"/> + <curve x1="152.91" x2="156.04" x3="158.8" y1="162.98" y2="165.33" y3="167.08"/> + <curve x1="161.12" x2="163.18" x3="164.94" y1="168.55" y2="169.61" y3="170.17"/> + <curve x1="165.82" x2="166.63" x3="167.42" y1="170.45" y2="170.61" y3="170.58"/> + <curve x1="168.21" x2="169.05" x3="169.65" y1="170.55" y2="170.3" y3="169.69"/> + <curve x1="170.25" x2="170.49" x3="170.5" y1="169.08" y2="168.24" y3="167.45"/> + <curve x1="170.52" x2="170.34" x3="170.05" y1="166.66" y2="165.85" y3="164.98"/> + <curve x1="169.47" x2="168.38" x3="166.87" y1="163.22" y2="161.19" y3="158.88"/> + <curve x1="165.11" x2="162.77" x3="160" y1="156.2" y2="153.17" y3="149.99"/> + <line x="169.68" y="149.99"/> + <line x="169.68" y="153.25"/> + <line x="174.43" y="148.49"/> + <line x="169.68" y="143.53"/> + <line x="169.68" y="147.04"/> + <line x="159.77" y="147.04"/> + <curve x1="162.65" x2="165.06" x3="166.87" y1="143.77" y2="140.65" y3="137.9"/> + <curve x1="168.38" x2="169.47" x3="170.05" y1="135.59" y2="133.56" y3="131.8"/> + <curve x1="170.34" x2="170.52" x3="170.5" y1="130.93" y2="130.12" y3="129.33"/> + <curve x1="170.49" x2="170.25" x3="169.65" y1="128.53" y2="127.7" y3="127.09"/> + <curve x1="169.05" x2="168.21" x3="167.42" y1="126.48" y2="126.23" y3="126.2"/> + <curve x1="166.63" x2="165.82" x3="164.94" y1="126.17" y2="126.33" y3="126.61"/> + <curve x1="163.18" x2="161.12" x3="158.8" y1="127.17" y2="128.23" y3="129.7"/> + <curve x1="156.04" x2="152.91" x3="149.62" y1="131.45" y2="133.79" y3="136.59"/> + <line x="149.62" y="126.72"/> + <line x="152.88" y="126.72"/> + <close/> + <move x="167.33" y="128.91"/> + <line x="167.33" y="128.91"/> + <curve x1="167.66" x2="167.71" x3="167.71" y1="128.92" y2="128.99" y3="128.99"/> + <curve x1="167.72" x2="167.78" x3="167.79" y1="129" y2="129.05" y3="129.38"/> + <curve x1="167.8" x2="167.71" x3="167.48" y1="129.71" y2="130.26" y3="130.95"/> + <curve x1="167.02" x2="166.03" x3="164.6" y1="132.32" y2="134.22" y3="136.41"/> + <curve x1="162.78" x2="160.26" x3="157.22" y1="139.18" y2="142.41" y3="145.83"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="150.71" x-axis-rotation="0" y="139.23"/> + <curve x1="154.18" x2="157.45" x3="160.25" y1="136.24" y2="133.77" y3="131.99"/> + <curve x1="162.46" x2="164.38" x3="165.76" y1="130.59" y2="129.63" y3="129.2"/> + <curve x1="166.45" x2="167" x3="167.33" y1="128.98" y2="128.9" y3="128.91"/> + <close/> + <move x="128.7" y="128.91"/> + <curve x1="129.03" x2="129.59" x3="130.28" y1="128.9" y2="128.98" y3="129.2"/> + <curve x1="131.66" x2="133.58" x3="135.78" y1="129.63" y2="130.59" y3="131.99"/> + <curve x1="138.58" x2="141.86" x3="145.32" y1="133.77" y2="136.24" y3="139.23"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="138.82" x-axis-rotation="0" y="145.84"/> + <curve x1="135.78" x2="133.25" x3="131.43" y1="142.42" y2="139.18" y3="136.41"/> + <curve x1="130" x2="129.01" x3="128.55" y1="134.22" y2="132.32" y3="130.95"/> + <curve x1="128.32" x2="128.24" x3="128.24" y1="130.26" y2="129.71" y3="129.38"/> + <curve x1="128.25" x2="128.31" x3="128.32" y1="129.05" y2="129" y3="128.99"/> + <curve x1="128.32" x2="128.37" x3="128.7" y1="128.99" y2="128.92" y3="128.91"/> + <close/> + <move x="157.21" y="150.94"/> + <curve x1="160.26" x2="162.78" x3="164.6" y1="154.36" y2="157.6" y3="160.37"/> + <curve x1="166.03" x2="167.02" x3="167.48" y1="162.56" y2="164.46" y3="165.83"/> + <curve x1="167.71" x2="167.8" x3="167.79" y1="166.52" y2="167.07" y3="167.4"/> + <curve x1="167.78" x2="167.72" x3="167.72" y1="167.73" y2="167.78" y3="167.79"/> + <curve x1="167.71" x2="167.66" x3="167.33" y1="167.79" y2="167.86" y3="167.87"/> + <curve x1="167" x2="166.45" x3="165.76" y1="167.88" y2="167.8" y3="167.58"/> + <curve x1="164.38" x2="162.46" x3="160.25" y1="167.15" y2="166.19" y3="164.79"/> + <curve x1="157.45" x2="154.18" x3="150.71" y1="163.01" y2="160.54" y3="157.55"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="157.21" x-axis-rotation="0" y="150.94"/> + <close/> + <move x="138.81" y="150.95"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="145.32" x-axis-rotation="0" y="157.55"/> + <curve x1="141.86" x2="138.58" x3="135.78" y1="160.54" y2="163.01" y3="164.79"/> + <curve x1="133.58" x2="131.66" x3="130.28" y1="166.19" y2="167.15" y3="167.58"/> + <curve x1="129.59" x2="129.03" x3="128.7" y1="167.8" y2="167.88" y3="167.87"/> + <curve x1="128.37" x2="128.32" x3="128.32" y1="167.86" y2="167.79" y3="167.79"/> + <curve x1="128.31" x2="128.25" x3="128.24" y1="167.78" y2="167.73" y3="167.4"/> + <curve x1="128.24" x2="128.32" x3="128.55" y1="167.07" y2="166.52" y3="165.83"/> + <curve x1="129.01" x2="130" x3="131.43" y1="164.46" y2="162.55" y3="160.37"/> + <curve x1="133.25" x2="135.77" x3="138.81" y1="157.6" y2="154.37" y3="150.95"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="157.57" y="148.39"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="148.02" x-axis-rotation="0" y="157.94"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="138.46" x-axis-rotation="0" y="148.39"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="148.02" x-axis-rotation="0" y="138.83"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="157.57" x-axis-rotation="0" y="148.39"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="722.85" name="ldap" strokewidth="inherit" w="832.17"> + <connections/> + <foreground> + <path> + <move x="416.22" y="165.76"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="359.14" x-axis-rotation="0" y="222.85"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="403.11" x-axis-rotation="0" y="278.35"/> + <line x="403.11" y="377.56"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="359.48" x-axis-rotation="0" y="432.98"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="366.29" x-axis-rotation="0" y="459.91"/> + <line x="290.71" y="536.09"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="262.78" x-axis-rotation="0" y="528.75"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="205.69" x-axis-rotation="0" y="585.84"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="262.78" x-axis-rotation="0" y="642.93"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="319.87" x-axis-rotation="0" y="585.84"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="310.15" x-axis-rotation="0" y="554.06"/> + <line x="383.88" y="479.75"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="416.57" x-axis-rotation="0" y="490.06"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="448.95" x-axis-rotation="0" y="479.91"/> + <line x="522.93" y="554.47"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="512.38" x-axis-rotation="0" y="587.47"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="569.46" x-axis-rotation="0" y="644.56"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="626.55" x-axis-rotation="0" y="587.47"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="569.46" x-axis-rotation="0" y="530.38"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="542.86" x-axis-rotation="0" y="537"/> + <line x="466.71" y="460.25"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="473.65" x-axis-rotation="0" y="432.98"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="429.57" x-axis-rotation="0" y="377.45"/> + <line x="429.57" y="278.29"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="473.31" x-axis-rotation="0" y="222.85"/> + <arc large-arc-flag="0" rx="57.09" ry="57.09" sweep-flag="0" x="416.22" x-axis-rotation="0" y="165.76"/> + <close/> + <move x="415.17" y="0.12"/> + <curve x1="402.46" x2="390.26" x3="382.46" y1="0" y2="7.89" y3="21.61"/> + <line x="382.43" y="21.64"/> + <curve x1="382.43" x2="382.42" x3="382.42" y1="21.65" y2="21.66" y3="21.67"/> + <line x="8.33" y="667.21"/> + <line x="8.29" y="667.29"/> + <curve x1="0.52" x2="0" x3="5.75" y1="681.36" y2="695.46" y3="706.03"/> + <curve x1="11.5" x2="23.11" x3="36.01" y1="716.6" y2="722.85" y3="722.85"/> + <line x="793.72" y="722.85"/> + <curve x1="804.43" x2="816.01" x3="823.41" y1="722.85" y2="718.57" y3="709.11"/> + <curve x1="830.82" x2="832.17" x3="823.41" y1="699.66" y2="684.87" y3="669.37"/> + <line x="823.39" y="669.33"/> + <line x="823.37" y="669.29"/> + <line x="447.59" y="21.62"/> + <line x="447.59" y="21.61"/> + <curve x1="439.88" x2="427.88" x3="415.17" y1="8.25" y2="0.24" y3="0.12"/> + <close/> + <move x="415.03" y="15.24"/> + <curve x1="421.57" x2="428.79" x3="434.49" y1="15.3" y2="19.28" y3="29.17"/> + <line x="434.5" y="29.18"/> + <line x="810.28" y="676.85"/> + <line x="810.29" y="676.88"/> + <curve x1="816.94" x2="815.27" x3="811.52" y1="688.7" y2="695" y3="699.79"/> + <curve x1="807.75" x2="800.04" x3="793.72" y1="704.59" y2="707.73" y3="707.73"/> + <line x="36.01" y="707.73"/> + <curve x1="27.77" x2="21.97" x3="19.03" y1="707.73" y2="704.21" y3="698.81"/> + <curve x1="16.09" x2="15.59" x3="21.53" y1="693.41" y2="685.34" y3="674.6"/> + <line x="395.55" y="29.16"/> + <line x="395.58" y="29.13"/> + <curve x1="401.38" x2="408.48" x3="415.03" y1="18.9" y2="15.18" y3="15.24"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="load balancer" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="181.81" y="142.93"/> + <line x="186.63" y="134.62"/> + <line x="162.46" y="120.6"/> + <line x="167.61" y="111.72"/> + <line x="191.78" y="125.74"/> + <line x="196.61" y="117.42"/> + <line x="201.16" y="137.11"/> + <close/> + <move x="181.79" y="48.96"/> + <line x="186.61" y="57.27"/> + <line x="162.44" y="71.29"/> + <line x="167.58" y="80.17"/> + <line x="191.76" y="66.15"/> + <line x="196.58" y="74.47"/> + <line x="201.14" y="54.79"/> + <close/> + <move x="197.31" y="81.2"/> + <line x="197.31" y="90.81"/> + <line x="169.36" y="90.81"/> + <line x="169.36" y="101.08"/> + <line x="197.31" y="101.08"/> + <line x="197.31" y="110.69"/> + <line x="211.12" y="95.95"/> + <close/> + <move x="65.01" y="81.2"/> + <line x="65.01" y="90.81"/> + <line x="37.07" y="90.81"/> + <line x="37.07" y="101.08"/> + <line x="65.01" y="101.08"/> + <line x="65.01" y="110.69"/> + <line x="78.83" y="95.95"/> + <close/> + <move x="123.42" y="58.52"/> + <curve x1="102.8" x2="86" x3="86" y1="58.52" y2="75.33" y3="95.95"/> + <curve x1="86" x2="102.8" x3="123.42" y1="116.57" y2="133.37" y3="133.37"/> + <curve x1="144.04" x2="160.84" x3="160.84" y1="133.37" y2="116.57" y3="95.95"/> + <curve x1="160.84" x2="144.04" x3="123.42" y1="75.33" y2="58.52" y3="58.52"/> + <close/> + <move x="123.42" y="66.52"/> + <curve x1="139.72" x2="152.84" x3="152.84" y1="66.52" y2="79.65" y3="95.95"/> + <curve x1="152.84" x2="139.72" x3="123.42" y1="112.24" y2="125.37" y3="125.37"/> + <curve x1="107.12" x2="94" x3="94" y1="125.37" y2="112.24" y3="95.95"/> + <curve x1="94" x2="107.12" x3="123.42" y1="79.65" y2="66.52" y3="66.52"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="737.45" name="lock" strokewidth="inherit" w="737.45"> + <connections/> + <foreground> + <path> + <move x="372.68" y="391.27"/> + <arc large-arc-flag="0" rx="23.86" ry="23.86" sweep-flag="1" x="396.55" x-axis-rotation="0" y="415.14"/> + <arc large-arc-flag="0" rx="23.86" ry="23.86" sweep-flag="1" x="379.61" x-axis-rotation="0" y="437.95"/> + <line x="379.61" y="493.06"/> + <line x="365.75" y="493.06"/> + <line x="365.75" y="437.97"/> + <arc large-arc-flag="0" rx="23.86" ry="23.86" sweep-flag="1" x="348.82" x-axis-rotation="0" y="415.14"/> + <arc large-arc-flag="0" rx="23.86" ry="23.86" sweep-flag="1" x="372.68" x-axis-rotation="0" y="391.27"/> + <close/> + <move x="372.33" y="126.43"/> + <curve x1="337.57" x2="308.92" x3="289.51" y1="126.43" y2="143.6" y3="165.33"/> + <curve x1="270.09" x2="258.84" x3="258.84" y1="187.05" y2="213.06" y3="236.13"/> + <line x="258.84" y="320.39"/> + <line x="187.03" y="320.39"/> + <line x="187.03" y="558.01"/> + <line x="555.58" y="558.01"/> + <line x="555.58" y="320.39"/> + <line x="485.81" y="320.39"/> + <line x="485.81" y="236.13"/> + <curve x1="485.81" x2="433.42" x3="372.33" y1="180.01" y2="126.43" y3="126.43"/> + <close/> + <move x="372.33" y="152.89"/> + <curve x1="417.01" x2="459.35" x3="459.35" y1="152.89" y2="197.69" y3="236.13"/> + <line x="459.35" y="320.39"/> + <line x="285.29" y="320.39"/> + <line x="285.29" y="236.13"/> + <curve x1="285.29" x2="293.74" x3="309.24" y1="222.53" y2="200.29" y3="182.95"/> + <curve x1="324.74" x2="346.23" x3="372.33" y1="165.61" y2="152.89" y3="152.89"/> + <close/> + <move x="368.73" y="0"/> + <curve x1="165.33" x2="0" x3="0" y1="0" y2="165.33" y3="368.73"/> + <curve x1="0" x2="165.33" x3="368.73" y1="572.12" y2="737.45" y3="737.45"/> + <curve x1="572.12" x2="737.45" x3="737.45" y1="737.45" y2="572.12" y3="368.73"/> + <curve x1="737.45" x2="572.12" x3="368.73" y1="165.33" y2="0" y3="0"/> + <close/> + <move x="368.73" y="41.57"/> + <curve x1="549.65" x2="695.88" x3="695.88" y1="41.57" y2="187.8" y3="368.73"/> + <curve x1="695.88" x2="549.65" x3="368.73" y1="549.65" y2="695.88" y3="695.88"/> + <curve x1="187.8" x2="41.57" x3="41.57" y1="695.88" y2="549.65" y3="368.73"/> + <curve x1="41.57" x2="187.8" x3="368.73" y1="187.8" y2="41.57" y3="41.57"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="media server" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="140.79" y="149.12"/> + <line x="131.52" y="149.12"/> + <line x="131.52" y="175.37"/> + <line x="125.4" y="175.37"/> + <line x="125.4" y="149.12"/> + <line x="116.12" y="149.12"/> + <line x="128.02" y="128.18"/> + <close/> + <move x="140.79" y="43.73"/> + <line x="131.52" y="43.73"/> + <line x="131.52" y="17.48"/> + <line x="125.4" y="17.48"/> + <line x="125.4" y="43.73"/> + <line x="116.12" y="43.73"/> + <line x="128.02" y="64.68"/> + <close/> + <move x="49.96" y="146.01"/> + <line x="44.87" y="138.26"/> + <line x="75.64" y="118.05"/> + <line x="72.28" y="112.94"/> + <line x="41.51" y="133.15"/> + <line x="36.42" y="125.39"/> + <line x="25.45" y="146.83"/> + <close/> + <move x="49.96" y="46.85"/> + <line x="44.87" y="54.6"/> + <line x="75.64" y="74.81"/> + <line x="72.28" y="79.92"/> + <line x="41.51" y="59.71"/> + <line x="36.42" y="67.47"/> + <line x="25.45" y="46.03"/> + <close/> + <move x="35.01" y="84.09"/> + <line x="35.01" y="93.37"/> + <line x="71.82" y="93.37"/> + <line x="71.82" y="99.49"/> + <line x="35.01" y="99.49"/> + <line x="35.01" y="108.76"/> + <line x="14.07" y="96.87"/> + <close/> + <move x="198.94" y="146.01"/> + <line x="204.03" y="138.26"/> + <line x="173.26" y="118.05"/> + <line x="176.62" y="112.94"/> + <line x="207.39" y="133.15"/> + <line x="212.48" y="125.39"/> + <line x="223.46" y="146.83"/> + <close/> + <move x="198.94" y="46.85"/> + <line x="204.03" y="54.6"/> + <line x="173.26" y="74.81"/> + <line x="176.62" y="79.92"/> + <line x="207.39" y="59.71"/> + <line x="212.48" y="67.47"/> + <line x="223.46" y="46.03"/> + <close/> + <move x="213.89" y="84.09"/> + <line x="213.89" y="93.37"/> + <line x="177.08" y="93.37"/> + <line x="177.08" y="99.49"/> + <line x="213.89" y="99.49"/> + <line x="213.89" y="108.76"/> + <line x="234.83" y="96.87"/> + <close/> + <move x="106.52" y="67.54"/> + <curve x1="101.57" x2="97.48" x3="97.48" y1="67.54" y2="71.63" y3="76.57"/> + <line x="97.48" y="88.22"/> + <line x="92.59" y="88.22"/> + <line x="80.57" y="79.49"/> + <line x="80.65" y="113.37"/> + <line x="92.79" y="106.27"/> + <line x="97.48" y="106.27"/> + <line x="97.48" y="116.29"/> + <curve x1="97.48" x2="101.57" x3="106.52" y1="121.23" y2="125.32" y3="125.32"/> + <line x="159.17" y="125.32"/> + <curve x1="164.12" x2="168.21" x3="168.21" y1="125.32" y2="121.23" y3="116.29"/> + <line x="168.21" y="76.57"/> + <curve x1="168.21" x2="164.12" x3="159.17" y1="71.63" y2="67.54" y3="67.54"/> + <close/> + <move x="106.52" y="74.54"/> + <line x="159.17" y="74.54"/> + <curve x1="160.36" x2="161.21" x3="161.21" y1="74.54" y2="75.39" y3="76.57"/> + <line x="161.21" y="116.29"/> + <curve x1="161.21" x2="160.36" x3="159.17" y1="117.47" y2="118.32" y3="118.32"/> + <line x="106.52" y="118.32"/> + <curve x1="105.33" x2="104.48" x3="104.48" y1="118.32" y2="117.47" y3="116.29"/> + <line x="104.48" y="76.57"/> + <curve x1="104.48" x2="105.33" x3="106.52" y1="75.39" y2="74.54" y3="74.54"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="meeting scheduling and management server" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="200.59" y="142.7"/> + <line x="176.4" y="159.44"/> + <line x="200.59" y="176.18"/> + <line x="200.59" y="164.71"/> + <line x="227.18" y="164.71"/> + <line x="227.18" y="154.18"/> + <line x="200.59" y="154.18"/> + <close/> + <move x="203.19" y="104.49"/> + <line x="203.19" y="115.96"/> + <line x="176.6" y="115.96"/> + <line x="176.6" y="126.49"/> + <line x="203.19" y="126.49"/> + <line x="203.19" y="137.97"/> + <line x="227.38" y="121.23"/> + <close/> + <move x="47.1" y="142.59"/> + <line x="47.1" y="154.06"/> + <line x="20.51" y="154.06"/> + <line x="20.51" y="164.59"/> + <line x="47.1" y="164.59"/> + <line x="47.1" y="176.07"/> + <line x="71.29" y="159.33"/> + <close/> + <move x="44.93" y="104.6"/> + <line x="20.74" y="121.34"/> + <line x="44.93" y="138.08"/> + <line x="44.93" y="126.61"/> + <line x="71.52" y="126.61"/> + <line x="71.52" y="116.08"/> + <line x="44.93" y="116.08"/> + <close/> + <move x="143.74" y="136.19"/> + <curve x1="138.71" x2="135.28" x3="133.71" y1="136.19" y2="141.54" y3="145.95"/> + <curve x1="131.36" x2="131.16" x3="131.32" y1="152.95" y2="160.59" y3="168.96"/> + <line x="156" y="169.02"/> + <curve x1="156.18" x2="156.02" x3="153.71" y1="161.61" y2="153.38" y3="146.76"/> + <curve x1="151.91" x2="148.64" x3="143.74" y1="141.63" y2="136.19" y3="136.19"/> + <close/> + <move x="104.31" y="136.19"/> + <curve x1="99.28" x2="95.85" x3="94.28" y1="136.19" y2="141.54" y3="145.95"/> + <curve x1="91.93" x2="91.73" x3="91.89" y1="152.95" y2="160.59" y3="168.96"/> + <line x="116.57" y="169.02"/> + <curve x1="116.75" x2="116.59" x3="114.28" y1="161.61" y2="153.38" y3="146.76"/> + <curve x1="112.49" x2="109.21" x3="104.31" y1="141.63" y2="136.19" y3="136.19"/> + <close/> + <move x="143.67" y="112.4"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="132.21" x-axis-rotation="0" y="123.85"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="143.67" x-axis-rotation="0" y="135.31"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="155.12" x-axis-rotation="0" y="123.85"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="143.67" x-axis-rotation="0" y="112.4"/> + <close/> + <move x="104.24" y="112.4"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="92.78" x-axis-rotation="0" y="123.85"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="104.24" x-axis-rotation="0" y="135.31"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="115.69" x-axis-rotation="0" y="123.85"/> + <arc large-arc-flag="0" rx="11.45" ry="11.45" sweep-flag="0" x="104.24" x-axis-rotation="0" y="112.4"/> + <close/> + <move x="64.27" y="20.89"/> + <line x="105.2" y="20.89"/> + <line x="105.2" y="32.35"/> + <curve x1="105.2" x2="105.84" x3="106.74" y1="33.25" y2="33.98" y3="33.98"/> + <line x="119.12" y="33.98"/> + <line x="119.12" y="92.72"/> + <line x="64.27" y="92.72"/> + <close/> + <move x="61.16" y="17.78"/> + <line x="61.16" y="95.84"/> + <line x="62.72" y="95.84"/> + <line x="122.23" y="95.84"/> + <line x="122.23" y="31.24"/> + <line x="109.57" y="17.78"/> + <close/> + <move x="72.11" y="68.47"/> + <line x="72.11" y="72.36"/> + <line x="110" y="72.36"/> + <line x="110" y="68.47"/> + <close/> + <move x="72.11" y="54.09"/> + <line x="72.11" y="57.98"/> + <line x="110" y="57.98"/> + <line x="110" y="54.09"/> + <close/> + <move x="72.11" y="38.93"/> + <line x="72.11" y="42.82"/> + <line x="110" y="42.82"/> + <line x="110" y="38.93"/> + <close/> + <move x="183.95" y="85.82"/> + <line x="195.28" y="85.82"/> + <line x="195.28" y="94.3"/> + <line x="183.95" y="94.3"/> + <close/> + <move x="176.32" y="85.82"/> + <line x="180.82" y="85.82"/> + <line x="180.82" y="94.3"/> + <line x="176.32" y="94.3"/> + <close/> + <move x="167.38" y="85.82"/> + <line x="173.19" y="85.82"/> + <line x="173.19" y="94.3"/> + <line x="167.38" y="94.3"/> + <close/> + <move x="136.54" y="85.82"/> + <line x="164.25" y="85.82"/> + <line x="164.25" y="94.3"/> + <line x="136.54" y="94.3"/> + <close/> + <move x="183.95" y="71.49"/> + <line x="195.28" y="71.49"/> + <line x="195.28" y="82"/> + <line x="183.95" y="82"/> + <close/> + <move x="176.32" y="71.49"/> + <line x="180.82" y="71.49"/> + <line x="180.82" y="82"/> + <line x="176.32" y="82"/> + <close/> + <move x="167.38" y="71.49"/> + <line x="173.19" y="71.49"/> + <line x="173.19" y="82"/> + <line x="167.38" y="82"/> + <close/> + <move x="136.54" y="71.49"/> + <line x="164.25" y="71.49"/> + <line x="164.25" y="82"/> + <line x="136.54" y="82"/> + <close/> + <move x="183.95" y="57.16"/> + <line x="195.28" y="57.16"/> + <line x="195.28" y="67.67"/> + <line x="183.95" y="67.67"/> + <close/> + <move x="176.32" y="57.16"/> + <line x="180.82" y="57.16"/> + <line x="180.82" y="67.67"/> + <line x="176.32" y="67.67"/> + <close/> + <move x="167.38" y="57.16"/> + <line x="173.19" y="57.16"/> + <line x="173.19" y="67.67"/> + <line x="167.38" y="67.67"/> + <close/> + <move x="136.54" y="57.16"/> + <line x="164.25" y="57.16"/> + <line x="164.25" y="67.67"/> + <line x="136.54" y="67.67"/> + <close/> + <move x="141.01" y="37.69"/> + <curve x1="139.91" x2="139.02" x3="139.02" y1="37.69" y2="38.58" y3="39.69"/> + <line x="139.02" y="47.26"/> + <curve x1="139.02" x2="139.91" x3="141.01" y1="48.37" y2="49.26" y3="49.26"/> + <line x="160.73" y="49.26"/> + <curve x1="161.83" x2="162.72" x3="162.72" y1="49.26" y2="48.37" y3="47.26"/> + <line x="162.72" y="39.69"/> + <curve x1="162.72" x2="161.83" x3="160.73" y1="38.58" y2="37.69" y3="37.69"/> + <close/> + <move x="179.25" y="29.12"/> + <curve x1="178.14" x2="177.25" x3="177.25" y1="29.12" y2="30.01" y3="31.11"/> + <line x="177.25" y="47.33"/> + <curve x1="177.25" x2="178.14" x3="179.25" y1="48.44" y2="49.33" y3="49.33"/> + <line x="190.47" y="49.33"/> + <curve x1="191.58" x2="192.47" x3="192.47" y1="49.33" y2="48.44" y3="47.33"/> + <line x="192.47" y="31.11"/> + <curve x1="192.47" x2="191.58" x3="190.47" y1="30.01" y2="29.12" y3="29.12"/> + <close/> + <move x="157.9" y="21.29"/> + <curve x1="156.79" x2="155.9" x3="155.9" y1="21.29" y2="22.18" y3="23.29"/> + <line x="155.9" y="34.83"/> + <curve x1="155.9" x2="156.79" x3="157.9" y1="35.94" y2="36.83" y3="36.83"/> + <line x="171.51" y="36.83"/> + <curve x1="172.61" x2="173.5" x3="173.5" y1="36.83" y2="35.94" y3="34.83"/> + <line x="173.5" y="23.29"/> + <curve x1="173.5" x2="172.61" x3="171.51" y1="22.18" y2="21.29" y3="21.29"/> + <close/> + <move x="136.54" y="20.46"/> + <line x="195.28" y="20.46"/> + <line x="195.28" y="53.34"/> + <line x="136.54" y="53.34"/> + <close/> + <move x="134.63" y="16.64"/> + <curve x1="133.57" x2="132.72" x3="132.72" y1="16.64" y2="17.49" y3="18.55"/> + <line x="132.72" y="96.21"/> + <curve x1="132.72" x2="133.57" x3="134.63" y1="97.27" y2="98.12" y3="98.12"/> + <line x="197.19" y="98.12"/> + <curve x1="198.24" x2="199.1" x3="199.1" y1="98.12" y2="97.27" y3="96.21"/> + <line x="199.1" y="18.55"/> + <curve x1="199.1" x2="198.24" x3="197.19" y1="17.49" y2="16.64" y3="16.64"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="mesh access point" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="555.36" y="172.69"/> + <curve x1="543.79" x2="533.29" x3="523.83" y1="172.69" y2="174.64" y3="178.55"/> + <curve x1="514.38" x2="507.19" x3="502.27" y1="182.46" y2="188.2" y3="195.78"/> + <curve x1="497.35" x2="494.89" x3="494.89" y1="203.28" y2="211.36" y3="220.04"/> + <curve x1="494.89" x2="496.88" x3="500.87" y1="227.93" y2="235.07" y3="241.48"/> + <curve x1="504.93" x2="511.06" x3="519.26" y1="247.81" y2="253.12" y3="257.42"/> + <curve x1="525.59" x2="536.65" x3="552.43" y1="260.78" y2="264.37" y3="268.2"/> + <curve x1="568.21" x2="578.4" x3="583.01" y1="271.95" y2="274.72" y3="276.52"/> + <curve x1="590.2" x2="595.36" x3="598.48" y1="279.25" y2="282.65" y3="286.71"/> + <curve x1="601.61" x2="603.17" x3="603.17" y1="290.7" y2="295.39" y3="300.78"/> + <curve x1="603.17" x2="601.53" x3="598.25" y1="306.09" y2="311.01" y3="315.54"/> + <curve x1="595.04" x2="590.12" x3="583.48" y1="320" y2="323.51" y3="326.09"/> + <curve x1="576.84" x2="569.19" x3="560.51" y1="328.67" y2="329.96" y3="329.96"/> + <curve x1="550.75" x2="541.96" x3="534.15" y1="329.96" y2="328.28" y3="324.92"/> + <curve x1="526.33" x2="520.55" x3="516.8" y1="321.48" y2="317.03" y3="311.56"/> + <curve x1="513.13" x2="510.79" x3="509.77" y1="306.01" y2="298.94" y3="290.35"/> + <line x="488.33" y="292.22"/> + <curve x1="488.64" x2="491.76" x3="497.7" y1="303.71" y2="314.02" y3="323.16"/> + <curve x1="503.72" x2="511.96" x3="522.43" y1="332.22" y2="339.02" y3="343.55"/> + <curve x1="532.97" x2="546.02" x3="561.57" y1="348.08" y2="350.35" y3="350.35"/> + <curve x1="573.83" x2="584.85" x3="594.62" y1="350.35" y2="348.12" y3="343.67"/> + <curve x1="604.46" x2="612" x3="617.23" y1="339.14" y2="332.85" y3="324.8"/> + <curve x1="622.47" x2="625.08" x3="625.08" y1="316.68" y2="308.04" y3="298.9"/> + <curve x1="625.08" x2="622.7" x3="617.94" y1="289.68" y2="281.56" y3="274.53"/> + <curve x1="613.17" x2="605.79" x3="595.79" y1="267.42" y2="261.56" y3="256.95"/> + <curve x1="588.91" x2="576.22" x3="557.7" y1="253.82" y2="250.19" y3="246.05"/> + <curve x1="539.26" x2="527.86" x3="523.48" y1="241.83" y2="237.73" y3="233.75"/> + <curve x1="519.03" x2="516.8" x3="516.8" y1="229.76" y2="224.68" y3="218.51"/> + <curve x1="516.8" x2="519.93" x3="526.18" y1="211.4" y2="205.35" y3="200.35"/> + <curve x1="532.51" x2="542.54" x3="556.29" y1="195.27" y2="192.73" y3="192.73"/> + <curve x1="569.5" x2="579.46" x3="586.18" y1="192.73" y2="195.5" y3="201.05"/> + <curve x1="592.97" x2="596.96" x3="598.13" y1="206.6" y2="214.8" y3="225.66"/> + <line x="619.93" y="224.02"/> + <curve x1="619.54" x2="616.72" x3="611.49" y1="213.94" y2="204.92" y3="196.95"/> + <curve x1="606.26" x2="598.76" x3="588.99" y1="188.98" y2="182.96" y3="178.9"/> + <curve x1="579.3" x2="568.09" x3="555.36" y1="174.76" y2="172.69" y3="172.69"/> + <close/> + <move x="134.89" y="175.62"/> + <line x="134.89" y="347.42"/> + <line x="156.8" y="347.42"/> + <line x="156.8" y="201.17"/> + <line x="206.49" y="347.42"/> + <line x="227" y="347.42"/> + <line x="276.92" y="203.63"/> + <line x="276.92" y="347.42"/> + <line x="298.83" y="347.42"/> + <line x="298.83" y="175.62"/> + <line x="268.25" y="175.62"/> + <line x="227.12" y="295.15"/> + <curve x1="222.97" x2="219.93" x3="217.97" y1="307.26" y2="316.44" y3="322.69"/> + <curve x1="216.26" x2="213.52" x3="209.77" y1="317.07" y2="308.59" y3="297.26"/> + <line x="169.11" y="175.62"/> + <close/> + <move x="336.22" y="175.62"/> + <line x="336.22" y="347.42"/> + <line x="464.42" y="347.42"/> + <line x="464.42" y="327.14"/> + <line x="358.95" y="327.14"/> + <line x="358.95" y="268.67"/> + <line x="453.99" y="268.67"/> + <line x="453.99" y="248.51"/> + <line x="358.95" y="248.51"/> + <line x="358.95" y="195.89"/> + <line x="460.44" y="195.89"/> + <line x="460.44" y="175.62"/> + <close/> + <move x="657.08" y="175.62"/> + <line x="657.08" y="347.42"/> + <line x="679.81" y="347.42"/> + <line x="679.81" y="266.44"/> + <line x="769.11" y="266.44"/> + <line x="769.11" y="347.42"/> + <line x="791.84" y="347.42"/> + <line x="791.84" y="175.62"/> + <line x="769.11" y="175.62"/> + <line x="769.11" y="246.17"/> + <line x="679.81" y="246.17"/> + <line x="679.81" y="175.62"/> + <close/> + <move x="230.83" y="430.49"/> + <curve x1="213.73" x2="200.26" x3="190.85" y1="430.49" y2="440.41" y3="451.32"/> + <curve x1="186.06" x2="182" x3="178.46" y1="456.88" y2="462.88" y3="468.87"/> + <curve x1="175.97" x2="173.26" x3="170.25" y1="464.82" y2="460.85" y3="457.16"/> + <curve x1="161.77" x2="150.23" x3="135.51" y1="446.77" y2="438.07" y3="438.07"/> + <curve x1="120.44" x2="107.14" x3="97.23" y1="438.07" y2="447.16" y3="458.02"/> + <curve x1="87.71" x2="80.82" x3="80.3" y1="468.46" y2="480.55" y3="492.35"/> + <line x="72.66" y="492.35"/> + <curve x1="72.66" x2="80.78" x3="91.62" y1="508.07" y2="521.35" y3="533.24"/> + <curve x1="102.46" x2="117.16" x3="135.51" y1="545.13" y2="555.66" y3="555.66"/> + <curve x1="153.17" x2="166.89" x3="176.13" y1="555.66" y2="545.11" y3="533.78"/> + <curve x1="180.46" x2="184.12" x3="187.34" y1="528.48" y2="522.82" y3="517.22"/> + <curve x1="190.13" x2="193.19" x3="196.59" y1="521.62" y2="525.91" y3="529.86"/> + <curve x1="205.21" x2="216.64" x3="230.83" y1="539.86" y2="548.07" y3="548.07"/> + <curve x1="245.2" x2="256.31" x3="264.67" y1="548.07" y2="539.27" y3="529.15"/> + <curve x1="268.4" x2="271.71" x3="274.76" y1="524.64" y2="519.76" y3="514.9"/> + <curve x1="278.93" x2="283.62" x3="288.78" y1="521.15" y2="527.6" y3="533.54"/> + <curve x1="298.22" x2="309.03" x3="326.16" y1="544.43" y2="555.66" y3="555.66"/> + <curve x1="341.26" x2="352.82" x3="362.2" y1="555.66" y2="546.67" y3="536.36"/> + <curve x1="367.75" x2="372.82" x3="377.58" y1="530.26" y2="523.27" y3="515.79"/> + <curve x1="381.15" x2="384.84" x3="388.98" y1="521.67" y2="527.09" y3="531.85"/> + <curve x1="397.17" x2="408" x3="421.48" y1="541.26" y2="548.07" y3="548.07"/> + <curve x1="435.59" x2="446.47" x3="454.69" y1="548.07" y2="539.57" y3="529.61"/> + <curve x1="458.46" x2="461.85" x3="465.02" y1="525.03" y2="520.04" y3="515.02"/> + <curve x1="468.67" x2="472.67" x3="477.41" y1="521.1" y2="527.46" y3="533.46"/> + <curve x1="486.21" x2="499.3" x3="516.81" y1="544.61" y2="555.66" y3="555.66"/> + <curve x1="533.73" x2="546.96" x3="555.77" y1="555.66" y2="545.5" y3="534.56"/> + <curve x1="560.59" x2="564.66" x3="568.44" y1="528.58" y2="522.14" y3="515.73"/> + <curve x1="571.56" x2="574.83" x3="578.57" y1="520.94" y2="525.99" y3="530.55"/> + <curve x1="586.56" x2="597.62" x3="612.13" y1="540.33" y2="548.07" y3="548.07"/> + <curve x1="626.72" x2="637.77" x3="645.73" y1="548.07" y2="540.09" y3="530.26"/> + <curve x1="649.45" x2="652.72" x3="655.83" y1="525.66" y2="520.61" y3="515.44"/> + <curve x1="659.6" x2="663.64" x3="668.45" y1="521.77" y2="528.21" y3="534.23"/> + <curve x1="677.21" x2="690.38" x3="707.46" y1="545.22" y2="555.66" y3="555.66"/> + <curve x1="724.48" x2="737.81" x3="746.84" y1="555.66" y2="545.53" y3="534.5"/> + <curve x1="751.56" x2="755.57" x3="759.2" y1="528.74" y2="522.51" y3="516.29"/> + <curve x1="761.67" x2="764.32" x3="767.41" y1="520.68" y2="525.08" y3="529.22"/> + <curve x1="775.04" x2="786.56" x3="802.79" y1="539.43" y2="548.07" y3="548.07"/> + <curve x1="819.74" x2="833.46" x3="842.83" y1="548.07" y2="537.79" y3="526.37"/> + <curve x1="852.2" x2="858.04" x3="858.04" y1="514.96" y2="502.91" y3="492.35"/> + <line x="865.63" y="492.35"/> + <curve x1="865.63" x2="839.59" x3="802.79" y1="460.66" y2="430.49" y3="430.49"/> + <curve x1="784.24" x2="769.49" x3="760.87" y1="430.49" y2="440.06" y3="451.3"/> + <curve x1="756.19" x2="752.66" x3="749.49" y1="457.4" y2="463.79" y3="470"/> + <curve x1="746.81" x2="743.97" x3="740.85" y1="465.72" y2="461.48" y3="457.51"/> + <curve x1="732.74" x2="721.89" x3="707.46" y1="447.17" y2="438.07" y3="438.07"/> + <curve x1="693.28" x2="682.45" x3="674.38" y1="438.07" y2="446.53" y3="456.65"/> + <curve x1="670.88" x2="667.72" x3="664.71" y1="461.05" y2="465.84" y3="470.74"/> + <curve x1="660.86" x2="656.72" x3="651.63" y1="464.15" y2="457.42" y3="451.12"/> + <curve x1="642.9" x2="629.29" x3="612.13" y1="440.33" y2="430.49" y3="430.49"/> + <curve x1="595.12" x2="581.47" x3="572.69" y1="430.49" y2="440.05" y3="450.79"/> + <curve x1="567.58" x2="563.44" x3="559.57" y1="457.04" y2="463.77" y3="470.45"/> + <curve x1="556.55" x2="553.38" x3="549.87" y1="465.51" y2="460.72" y3="456.36"/> + <curve x1="541.77" x2="530.91" x3="516.81" y1="446.3" y2="438.07" y3="438.07"/> + <curve x1="502.41" x2="491.51" x3="483.37" y1="438.07" y2="447.07" y3="457.39"/> + <curve x1="479.95" x2="476.86" x3="473.96" y1="461.72" y2="466.39" y3="471.08"/> + <curve x1="470.04" x2="465.7" x3="460.54" y1="464.67" y2="457.96" y3="451.71"/> + <curve x1="451.64" x2="438.59" x3="421.48" y1="440.92" y2="430.49" y3="430.49"/> + <curve x1="405.64" x2="392.3" x3="383.25" y1="430.49" y2="438.92" y3="449.31"/> + <curve x1="377.66" x2="373.03" x3="368.63" y1="455.74" y2="462.93" y3="470.53"/> + <curve x1="364.79" x2="360.79" x3="356.59" y1="464.8" y2="459.51" y3="454.89"/> + <curve x1="347.9" x2="337.96" x3="326.16" y1="445.34" y2="438.07" y3="438.07"/> + <curve x1="313.34" x2="303.41" x3="294.51" y1="438.07" y2="447.31" y3="457.58"/> + <curve x1="290.72" x2="287.15" x3="283.82" y1="461.95" y2="466.7" y3="471.46"/> + <curve x1="280.03" x2="275.7" x3="270.52" y1="465.15" y2="458.44" y3="452.16"/> + <curve x1="261.47" x2="248.29" x3="230.83" y1="441.2" y2="430.49" y3="430.49"/> + <close/> + <move x="135.51" y="453.25"/> + <curve x1="144.35" x2="151.55" x3="158.49" y1="453.25" y2="458.26" y3="466.75"/> + <curve x1="162.71" x2="166.53" x3="170.02" y1="471.93" y2="478.23" y3="484.7"/> + <curve x1="169.86" x2="169.69" x3="169.54" y1="485.03" y2="485.36" y3="485.68"/> + <curve x1="164.52" x2="158.77" x3="152.61" y1="495.95" y2="507.05" y3="514.6"/> + <curve x1="146.45" x2="141.4" x3="135.51" y1="522.15" y2="525.31" y3="525.31"/> + <curve x1="130.29" x2="121.15" x3="114.05" y1="525.31" y2="520.56" y3="512.78"/> + <curve x1="106.95" x2="103.02" x3="103.02" y1="505" y2="494.19" y3="492.35"/> + <line x="95.54" y="492.35"/> + <curve x1="96.28" x2="101.06" x3="108.44" y1="486.61" y2="476.34" y3="468.25"/> + <curve x1="116.47" x2="127" x3="135.51" y1="459.44" y2="453.25" y3="453.25"/> + <close/> + <move x="326.16" y="453.25"/> + <curve x1="331.36" x2="338.07" x3="345.37" y1="453.25" y2="457.08" y3="465.1"/> + <curve x1="350.3" x2="355.31" x3="360.22" y1="470.53" y2="477.62" y3="485.57"/> + <curve x1="353.42" x2="346.25" x3="339.75" y1="497.79" y2="508.78" y3="515.93"/> + <curve x1="333.14" x2="328.06" x3="326.16" y1="523.19" y2="525.31" y3="525.31"/> + <curve x1="326.28" x2="318.98" x3="311.71" y1="525.31" y2="522.04" y3="513.66"/> + <curve x1="304.79" x2="297.8" x3="292.35" y1="505.68" y2="494.94" y3="485.93"/> + <curve x1="296.55" x2="301.2" x3="305.98" y1="479.54" y2="473.02" y3="467.52"/> + <curve x1="313.79" x2="321.97" x3="326.16" y1="458.51" y2="453.25" y3="453.25"/> + <close/> + <move x="516.81" y="453.25"/> + <curve x1="525.28" x2="531.39" x3="538.05" y1="453.25" y2="457.6" y3="465.87"/> + <curve x1="542.38" x2="546.55" x3="550.85" y1="471.25" y2="478.19" y3="485.57"/> + <curve x1="543.93" x2="537.9" x3="532.13" y1="497.2" y2="508.35" y3="515.52"/> + <curve x1="526.19" x2="522.46" x3="516.81" y1="522.89" y2="525.31" y3="525.31"/> + <curve x1="511.74" x2="507.42" x3="501.24" y1="525.31" y2="522.47" y3="514.65"/> + <curve x1="495.35" x2="489.45" x3="482.9" y1="507.18" y2="496.26" y3="485.73"/> + <curve x1="486.96" x2="491" x3="495.29" y1="478.9" y2="472.21" y3="466.79"/> + <curve x1="502.12" x2="508.63" x3="516.81" y1="458.13" y2="453.25" y3="453.25"/> + <close/> + <move x="707.46" y="453.25"/> + <curve x1="715.61" x2="722.08" x3="728.91" y1="453.25" y2="458.17" y3="466.87"/> + <curve x1="733.19" x2="737.25" x3="741.36" y1="472.34" y2="479.06" y3="485.89"/> + <curve x1="735.18" x2="729.24" x3="723.35" y1="497.1" y2="508.07" y3="515.27"/> + <curve x1="717.3" x2="713.03" x3="707.46" y1="522.66" y2="525.31" y3="525.31"/> + <curve x1="701.97" x2="698.17" x3="692.18" y1="525.31" y2="522.81" y3="515.3"/> + <curve x1="686.41" x2="680.43" x3="673.5" y1="508.06" y2="497" y3="485.67"/> + <curve x1="677.79" x2="681.94" x3="686.25" y1="478.42" y2="471.53" y3="466.12"/> + <curve x1="692.93" x2="699.07" x3="707.46" y1="457.74" y2="453.25" y3="453.25"/> + <close/> + <move x="230.83" y="460.84"/> + <curve x1="235.93" x2="240.85" x3="247.12" y1="460.84" y2="463.9" y3="471.5"/> + <curve x1="253.4" x2="259.45" x3="265.47" y1="479.1" y2="490.1" y3="500.15"/> + <curve x1="265.54" x2="265.63" x3="265.7" y1="500.27" y2="500.41" y3="500.54"/> + <curve x1="261.7" x2="257.51" x3="252.97" y1="507.27" y2="513.99" y3="519.48"/> + <curve x1="246" x2="239.02" x3="230.83" y1="527.92" y2="532.9" y3="532.9"/> + <curve x1="222.47" x2="215.13" x3="208.09" y1="532.9" y2="528.12" y3="519.96"/> + <curve x1="203.52" x2="199.36" x3="195.64" y1="514.66" y2="508.1" y3="501.37"/> + <curve x1="196.02" x2="196.44" x3="196.8" y1="500.6" y2="499.77" y3="499.02"/> + <curve x1="201.67" x2="207.59" x3="213.84" y1="489.06" y2="478.4" y3="471.15"/> + <curve x1="220.09" x2="225.38" x3="230.83" y1="463.9" y2="460.84" y3="460.84"/> + <close/> + <move x="421.48" y="460.84"/> + <curve x1="426.61" x2="430.97" x3="437.13" y1="460.84" y2="463.57" y3="471.03"/> + <curve x1="443.26" x2="449.45" x3="456.22" y1="478.46" y2="489.57" y3="500.32"/> + <curve x1="451.88" x2="447.55" x3="442.98" y1="507.44" y2="514.41" y3="519.95"/> + <curve x1="436.14" x2="429.61" x3="421.48" y1="528.24" y2="532.89" y3="532.89"/> + <curve x1="412.72" x2="406.91" x3="400.42" y1="532.89" y2="529.33" y3="521.88"/> + <curve x1="395.8" x2="391.28" x3="386.46" y1="516.58" y2="509.28" y3="500.84"/> + <curve x1="386.67" x2="386.88" x3="387.09" y1="500.46" y2="500.09" y3="499.71"/> + <curve x1="394.31" x2="400.51" x3="406.14" y1="486.68" y2="475.71" y3="469.24"/> + <curve x1="411.78" x2="415.08" x3="421.48" y1="462.78" y2="460.84" y3="460.84"/> + <close/> + <move x="612.13" y="460.84"/> + <curve x1="619.01" x2="622.37" x3="628.03" y1="460.84" y2="463.21" y3="470.21"/> + <curve x1="633.69" x2="639.57" x3="646.88" y1="477.21" y2="488.47" y3="500.32"/> + <curve x1="646.91" x2="646.95" x3="646.98" y1="500.38" y2="500.43" y3="500.48"/> + <curve x1="642.51" x2="638.34" x3="633.93" y1="508.12" y2="515.26" y3="520.71"/> + <curve x1="627.5" x2="621.58" x3="612.13" y1="528.66" y2="532.89" y3="532.89"/> + <curve x1="602.61" x2="596.72" x3="590.32" y1="532.89" y2="528.78" y3="520.95"/> + <curve x1="585.9" x2="581.71" x3="577.23" y1="515.54" y2="508.37" y3="500.6"/> + <curve x1="577.32" x2="577.41" x3="577.49" y1="500.45" y2="500.29" y3="500.15"/> + <curve x1="584.72" x2="590.58" x3="596.19" y1="488.06" y2="476.86" y3="470"/> + <curve x1="601.8" x2="605.11" x3="612.13" y1="463.14" y2="460.84" y3="460.84"/> + <close/> + <move x="802.79" y="460.84"/> + <line x="802.79" y="460.84"/> + <curve x1="823.13" x2="835.27" x3="835.27" y1="460.84" y2="477.14" y3="492.35"/> + <line x="842.86" y="492.35"/> + <curve x1="842.86" x2="838.66" x3="831.1" y1="495.5" y2="507.53" y3="516.75"/> + <curve x1="823.53" x2="813.43" x3="802.79" y1="525.96" y2="532.89" y3="532.89"/> + <curve x1="791.44" x2="785.63" x3="779.57" y1="532.89" y2="528.24" y3="520.13"/> + <curve x1="775.54" x2="771.95" x3="767.94" y1="514.73" y2="507.79" y3="500.56"/> + <curve x1="768.1" x2="768.26" x3="768.42" y1="500.27" y2="499.97" y3="499.68"/> + <curve x1="775.19" x2="780" x3="784.95" y1="487.39" y2="476.24" y3="469.78"/> + <curve x1="789.91" x2="792.77" x3="802.79" y1="463.32" y2="460.84" y3="460.84"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="monitor" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="143.43" y="163.31"/> + <line x="143.43" y="166.88"/> + <line x="123.4" y="166.88"/> + <quad x1="123.36" x2="123.83" y1="165.54" y2="164.3"/> + <quad x1="124.6" x2="126.27" y1="162.25" y2="160.27"/> + <quad x1="127.97" x2="131.15" y1="158.28" y2="155.68"/> + <quad x1="136.09" x2="137.83" y1="151.63" y2="149.27"/> + <quad x1="139.56" x2="139.56" y1="146.89" y2="144.79"/> + <quad x1="139.56" x2="137.97" y1="142.57" y2="141.07"/> + <quad x1="136.4" x2="133.86" y1="139.54" y2="139.54"/> + <quad x1="131.17" x2="129.56" y1="139.54" y2="141.15"/> + <quad x1="127.95" x2="127.93" y1="142.76" y2="145.61"/> + <line x="124.1" y="145.22"/> + <quad x1="124.49" x2="127.06" y1="140.94" y2="138.71"/> + <quad x1="129.62" x2="133.94" y1="136.46" y2="136.46"/> + <quad x1="138.3" x2="140.84" y1="136.46" y2="138.87"/> + <quad x1="143.39" x2="143.39" y1="141.29" y2="144.87"/> + <quad x1="143.39" x2="142.64" y1="146.69" y2="148.44"/> + <quad x1="141.9" x2="140.16" y1="150.2" y2="152.14"/> + <quad x1="138.45" x2="134.44" y1="154.09" y2="157.48"/> + <quad x1="131.09" x2="130.14" y1="160.29" y2="161.3"/> + <quad x1="129.19" x2="128.57" y1="162.29" y2="163.31"/> + <close/> + <move x="100.87" y="159.88"/> + <line x="104.44" y="159.55"/> + <quad x1="104.9" x2="106.18" y1="162.07" y2="163.2"/> + <quad x1="107.46" x2="109.47" y1="164.34" y2="164.34"/> + <quad x1="111.18" x2="112.46" y1="164.34" y2="163.56"/> + <quad x1="113.77" x2="114.59" y1="162.77" y2="161.47"/> + <quad x1="115.42" x2="115.98" y1="160.14" y2="157.91"/> + <quad x1="116.54" x2="116.54" y1="155.68" y2="153.36"/> + <quad x1="116.54" x2="116.51" y1="153.12" y2="152.62"/> + <quad x1="115.4" x2="113.46" y1="154.4" y2="155.51"/> + <quad x1="111.53" x2="109.28" y1="156.61" y2="156.61"/> + <quad x1="105.52" x2="102.91" y1="156.61" y2="153.88"/> + <quad x1="100.31" x2="100.31" y1="151.15" y2="146.69"/> + <quad x1="100.31" x2="103.02" y1="142.08" y2="139.27"/> + <quad x1="105.75" x2="109.84" y1="136.46" y2="136.46"/> + <quad x1="112.79" x2="115.23" y1="136.46" y2="138.05"/> + <quad x1="117.69" x2="118.95" y1="139.64" y2="142.6"/> + <quad x1="120.24" x2="120.24" y1="145.53" y2="151.11"/> + <quad x1="120.24" x2="118.97" y1="156.92" y2="160.37"/> + <quad x1="117.71" x2="115.21" y1="163.8" y2="165.6"/> + <quad x1="112.73" x2="109.38" y1="167.4" y2="167.4"/> + <quad x1="105.83" x2="103.58" y1="167.4" y2="165.44"/> + <quad x1="101.32" x2="100.87" y1="163.45" y2="159.88"/> + <close/> + <move x="116.1" y="146.5"/> + <quad x1="116.1" x2="114.39" y1="143.3" y2="141.42"/> + <quad x1="112.69" x2="110.29" y1="139.54" y2="139.54"/> + <quad x1="107.81" x2="105.97" y1="139.54" y2="141.56"/> + <quad x1="104.13" x2="104.13" y1="143.59" y2="146.81"/> + <quad x1="104.13" x2="105.87" y1="149.71" y2="151.52"/> + <quad x1="107.63" x2="110.19" y1="153.32" y2="153.32"/> + <quad x1="112.77" x2="114.43" y1="153.32" y2="151.52"/> + <quad x1="116.1" x2="116.1" y1="149.71" y2="146.5"/> + <close/> + <move x="57.91" y="151.94"/> + <quad x1="57.91" x2="59" y1="146.56" y2="143.3"/> + <quad x1="60.12" x2="62.29" y1="140.01" y2="138.23"/> + <quad x1="64.48" x2="67.79" y1="136.46" y2="136.46"/> + <quad x1="70.23" x2="72.07" y1="136.46" y2="137.45"/> + <quad x1="73.91" x2="75.11" y1="138.42" y2="140.28"/> + <quad x1="76.3" x2="76.99" y1="142.12" y2="144.79"/> + <quad x1="77.67" x2="77.67" y1="147.43" y2="151.94"/> + <quad x1="77.67" x2="76.57" y1="157.27" y2="160.56"/> + <quad x1="75.48" x2="73.29" y1="163.82" y2="165.62"/> + <quad x1="71.12" x2="67.79" y1="167.4" y2="167.4"/> + <quad x1="63.41" x2="60.9" y1="167.4" y2="164.26"/> + <quad x1="57.91" x2="57.91" y1="160.48" y2="151.94"/> + <close/> + <move x="61.73" y="151.94"/> + <quad x1="61.73" x2="63.47" y1="159.4" y2="161.88"/> + <quad x1="65.22" x2="67.79" y1="164.34" y2="164.34"/> + <quad x1="70.35" x2="72.09" y1="164.34" y2="161.86"/> + <quad x1="73.84" x2="73.84" y1="159.38" y2="151.94"/> + <quad x1="73.84" x2="72.09" y1="144.46" y2="142"/> + <quad x1="70.35" x2="67.75" y1="139.54" y2="139.54"/> + <quad x1="65.18" x2="63.65" y1="139.54" y2="141.71"/> + <quad x1="61.73" x2="61.73" y1="144.48" y2="151.94"/> + <close/> + <move x="34.59" y="140.55"/> + <line x="34.59" y="136.97"/> + <line x="54.21" y="136.97"/> + <line x="54.21" y="139.87"/> + <quad x1="51.31" x2="48.46" y1="142.95" y2="148.05"/> + <quad x1="45.63" x2="44.08" y1="153.16" y2="158.55"/> + <quad x1="42.96" x2="42.65" y1="162.36" y2="166.88"/> + <line x="38.83" y="166.88"/> + <quad x1="38.89" x2="40.23" y1="163.31" y2="158.24"/> + <quad x1="41.58" x2="44.08" y1="153.18" y2="148.49"/> + <quad x1="46.6" x2="49.43" y1="143.77" y2="140.55"/> + <close/> + <move x="217.47" y="156.19"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="207.66" x-axis-rotation="0" y="166"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="197.84" x-axis-rotation="0" y="156.19"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="207.66" x-axis-rotation="0" y="146.38"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="217.47" x-axis-rotation="0" y="156.19"/> + <close/> + <move x="185.76" y="156.19"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="175.94" x-axis-rotation="0" y="166"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="166.13" x-axis-rotation="0" y="156.19"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="175.94" x-axis-rotation="0" y="146.38"/> + <arc large-arc-flag="0" rx="9.81" ry="9.81" sweep-flag="1" x="185.76" x-axis-rotation="0" y="156.19"/> + <close/> + <move x="29.02" y="30.03"/> + <line x="29.02" y="71.57"/> + <line x="49.53" y="71.57"/> + <line x="57.75" y="43.28"/> + <line x="73.9" y="99.63"/> + <line x="87.8" y="71.57"/> + <line x="115.84" y="71.57"/> + <line x="124.41" y="43.46"/> + <line x="141.57" y="99.9"/> + <line x="153.99" y="71.57"/> + <line x="182.32" y="71.57"/> + <line x="190.73" y="44.26"/> + <line x="202" y="76.75"/> + <line x="218.18" y="76.75"/> + <line x="218.18" y="30.03"/> + <close/> + <move x="191.04" y="61.94"/> + <line x="186.38" y="77.07"/> + <line x="157.58" y="77.07"/> + <line x="140.64" y="115.73"/> + <line x="124.4" y="62.34"/> + <line x="119.91" y="77.07"/> + <line x="91.22" y="77.07"/> + <line x="72.53" y="114.79"/> + <line x="57.71" y="63.12"/> + <line x="53.66" y="77.07"/> + <line x="29.02" y="77.07"/> + <line x="29.02" y="126.46"/> + <line x="218.18" y="126.46"/> + <line x="218.18" y="82.25"/> + <line x="198.08" y="82.25"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="monitoring" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="476.36" y="162.46"/> + <curve x1="447.79" x2="421" x3="397.91" y1="162.46" y2="170.12" y3="183.48"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="414.19" x-axis-rotation="0" y="191.87"/> + <curve x1="431.4" x2="450.57" x3="470.85" y1="183.48" y2="178.47" y3="177.7"/> + <curve x1="459.16" x2="447.5" x3="437.29" y1="185.71" y2="196.39" y3="207.88"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="440.68" x-axis-rotation="0" y="210.88"/> + <curve x1="452.44" x2="466.21" x3="479.34" y1="197.67" y2="185.54" y3="177.62"/> + <curve x1="497.97" x2="515.71" x3="531.89" y1="178" y2="181.96" y3="188.84"/> + <curve x1="532.05" x2="530.63" x3="528.41" y1="207.39" y2="224.91" y3="241.88"/> + <curve x1="503.28" x2="477.8" x3="453.22" y1="230.78" y2="224.93" y3="223.08"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="457.54" x-axis-rotation="0" y="228"/> + <curve x1="480.57" x2="504.27" x3="527.64" y1="230.2" y2="235.97" y3="246.43"/> + <curve x1="522.62" x2="513.03" x3="498.79" y1="281.19" y2="312.77" y3="340.54"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="498.26" x-axis-rotation="0" y="351.09"/> + <curve x1="515.09" x2="526.23" x3="531.92" y1="321.16" y2="286.6" y3="248.31"/> + <curve x1="544.86" x2="557.63" x3="570.16" y1="254.46" y2="262.32" y3="271.86"/> + <curve x1="555.88" x2="530.81" x3="495.31" y1="313.13" y2="347.98" y3="373.45"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="493.59" x-axis-rotation="0" y="380.17"/> + <curve x1="531.74" x2="558.65" x3="573.91" y1="354.2" y2="317.85" y3="274.7"/> + <curve x1="587.78" x2="601.22" x3="614.06" y1="285.74" y2="299.15" y3="315.19"/> + <curve x1="571.45" x2="538.48" x3="514.61" y1="339.12" y2="368.1" y3="397.16"/> + <curve x1="506.45" x2="498.3" x3="488.95" y1="396.92" y2="396.68" y3="395.63"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="487.36" x-axis-rotation="0" y="400"/> + <curve x1="496" x2="503.44" x3="511.13" y1="400.99" y2="401.13" y3="401.44"/> + <curve x1="494.67" x2="482.62" x3="475.29" y1="422.24" y2="442.86" y3="461.33"/> + <curve x1="466.45" x2="457.8" x3="449.42" y1="461.27" y2="460.4" y3="458.79"/> + <arc large-arc-flag="0" rx="170.41" ry="170.41" sweep-flag="1" x="435.83" x-axis-rotation="0" y="471.17"/> + <curve x1="448.76" x2="462.35" x3="476.36" y1="474.62" y2="476.46" y3="476.46"/> + <curve x1="562.97" x2="633.35" x3="633.35" y1="476.46" y2="406.09" y3="319.47"/> + <curve x1="633.35" x2="562.97" x3="476.36" y1="232.85" y2="162.46" y3="162.46"/> + <close/> + <move x="327.5" y="186.21"/> + <curve x1="243.27" x2="174.45" x3="174.45" y1="186.21" y2="255.02" y3="339.26"/> + <curve x1="174.45" x2="182.89" x3="197.46" y1="368.74" y2="396.32" y3="419.73"/> + <line x="80.98" y="535.28"/> + <curve x1="70.55" x2="70.48" x3="80.83" y1="545.63" y2="562.36" y3="572.79"/> + <line x="92.54" y="584.59"/> + <curve x1="102.89" x2="119.61" x3="130.04" y1="595.02" y2="595.09" y3="584.74"/> + <line x="246.65" y="469.06"/> + <curve x1="270.14" x2="297.86" x3="327.5" y1="483.77" y2="492.3" y3="492.3"/> + <curve x1="411.73" x2="480.55" x3="480.55" y1="492.3" y2="423.49" y3="339.26"/> + <curve x1="480.55" x2="411.73" x3="327.5" y1="255.02" y2="186.21" y3="186.21"/> + <close/> + <move x="536.45" y="190.88"/> + <curve x1="553.66" x2="568.99" x3="581.59" y1="198.92" y2="210.32" y3="224.23"/> + <curve x1="579.54" x2="576.24" x3="571.79" y1="239.28" y2="253.71" y3="267.47"/> + <curve x1="558.99" x2="545.92" x3="532.68" y1="257.84" y2="249.95" y3="243.76"/> + <curve x1="534.96" x2="536.49" x3="536.45" y1="226.81" y2="209.34" y3="190.88"/> + <close/> + <move x="585.5" y="228.75"/> + <curve x1="604.63" x2="616.61" x3="618.08" y1="251.75" y2="280.89" y3="312.82"/> + <curve x1="618.05" x2="618.04" x3="618.01" y1="312.83" y2="312.85" y3="312.86"/> + <curve x1="604.48" x2="590.25" x3="575.54" y1="295.89" y2="281.83" y3="270.3"/> + <curve x1="579.94" x2="583.3" x3="585.5" y1="257.03" y2="243.17" y3="228.75"/> + <close/> + <move x="327.5" y="235.34"/> + <curve x1="385.18" x2="431.41" x3="431.41" y1="235.34" y2="281.58" y3="339.26"/> + <curve x1="431.41" x2="385.18" x3="327.5" y1="396.94" y2="443.16" y3="443.16"/> + <curve x1="269.82" x2="223.58" x3="223.58" y1="443.16" y2="396.94" y3="339.26"/> + <curve x1="223.58" x2="269.82" x3="327.5" y1="281.58" y2="235.34" y3="235.34"/> + <close/> + <move x="331.92" y="251.7"/> + <line x="331.92" y="275.28"/> + <line x="268.5" y="275.28"/> + <line x="268.53" y="302.94"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="256.03" x-axis-rotation="0" y="315.79"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="268.55" x-axis-rotation="0" y="328.63"/> + <line x="268.57" y="346.37"/> + <line x="331.92" y="346.37"/> + <line x="331.92" y="386.83"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="322.08" x-axis-rotation="0" y="398.3"/> + <line x="262.13" y="398.3"/> + <curve x1="263.3" x2="264.51" x3="265.76" y1="399.6" y2="400.86" y3="402.08"/> + <line x="322.34" y="402.08"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="334.89" x-axis-rotation="0" y="412.19"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="347.44" x-axis-rotation="0" y="402.08"/> + <line x="367.49" y="402.08"/> + <line x="367.49" y="417.62"/> + <curve x1="368.77" x2="370.03" x3="371.27" y1="416.98" y2="416.3" y3="415.61"/> + <line x="371.27" y="402.08"/> + <line x="389.24" y="402.08"/> + <curve x1="390.49" x2="391.7" x3="392.87" y1="400.86" y2="399.6" y3="398.3"/> + <line x="371.27" y="398.3"/> + <line x="371.27" y="355.09"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="380.02" x-axis-rotation="0" y="346.37"/> + <line x="414.89" y="346.37"/> + <curve x1="414.99" x2="415.06" x3="415.1" y1="345.11" y2="343.85" y3="342.59"/> + <line x="380.54" y="342.59"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="367.69" x-axis-rotation="0" y="329.88"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="354.84" x-axis-rotation="0" y="342.59"/> + <line x="335.7" y="342.59"/> + <line x="335.7" y="310.92"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="347.53" x-axis-rotation="0" y="301.62"/> + <line x="406.99" y="301.62"/> + <curve x1="406.4" x2="405.78" x3="405.12" y1="300.34" y2="299.08" y3="297.84"/> + <line x="348.03" y="297.84"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="335.18" x-axis-rotation="0" y="285.22"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="322.32" x-axis-rotation="0" y="298.08"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="331.92" x-axis-rotation="0" y="310.5"/> + <line x="331.92" y="342.59"/> + <line x="272.34" y="342.59"/> + <line x="272.33" y="328.18"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="281.75" x-axis-rotation="0" y="315.79"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="272.3" x-axis-rotation="0" y="303.4"/> + <line x="272.28" y="279.06"/> + <line x="335.7" y="279.06"/> + <line x="335.7" y="251.96"/> + <curve x1="334.45" x2="333.19" x3="331.92" y1="251.85" y2="251.76" y3="251.7"/> + <close/> + <move x="617.01" y="318.71"/> + <curve x1="617.41" x2="617.82" x3="618.23" y1="319.23" y2="319.69" y3="320.16"/> + <curve x1="618.12" x2="612.53" x3="602.68" y1="343.23" y2="364.99" y3="384.19"/> + <curve x1="577.21" x2="553.43" x3="520.19" y1="391.33" y2="397.81" y3="397.54"/> + <curve x1="543.67" x2="575.79" x3="617.01" y1="369.59" y2="341.74" y3="318.71"/> + <close/> + <move x="335.7" y="346.37"/> + <line x="355.36" y="346.37"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="367.49" x-axis-rotation="0" y="355.59"/> + <line x="367.49" y="398.3"/> + <line x="347.7" y="398.3"/> + <arc large-arc-flag="0" rx="12.86" ry="12.86" sweep-flag="0" x="335.7" x-axis-rotation="0" y="386.51"/> + <close/> + <move x="599.69" y="389.71"/> + <curve x1="575.88" x2="531.46" x3="480.2" y1="431.48" y2="459.94" y3="461.29"/> + <curve x1="487.7" x2="499.98" x3="516.72" y1="443.01" y2="422.5" y3="401.82"/> + <curve x1="550.36" x2="574.84" x3="599.69" y1="402.5" y2="396.56" y3="389.71"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="multipoint meeting server" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="382.14" y="103.68"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="329.72" x-axis-rotation="0" y="156.1"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="354.56" x-axis-rotation="0" y="200.61"/> + <curve x1="335.22" x2="324.3" x3="324.3" y1="223.5" y2="253.66" y3="283.49"/> + <line x="324.3" y="334.42"/> + <line x="361.75" y="334.42"/> + <line x="226.35" y="484.18"/> + <curve x1="220.62" x2="212.22" x3="202.55" y1="469.25" y2="455.32" y3="443.12"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="228.91" x-axis-rotation="0" y="397.71"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="176.49" x-axis-rotation="0" y="345.29"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="124.07" x-axis-rotation="0" y="397.71"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="148.92" x-axis-rotation="0" y="442.21"/> + <curve x1="129.58" x2="118.65" x3="118.65" y1="465.11" y2="495.27" y3="525.1"/> + <line x="118.65" y="576.03"/> + <line x="234.33" y="576.03"/> + <line x="234.33" y="525.1"/> + <curve x1="234.33" x2="233.77" x3="232.74" y1="519.03" y2="513.01" y3="507.08"/> + <line x="494.91" y="531.66"/> + <curve x1="491.25" x2="489.31" x3="489.31" y1="543.74" y2="556.32" y3="568.85"/> + <line x="489.31" y="619.78"/> + <line x="604.99" y="619.78"/> + <line x="604.99" y="568.85"/> + <curve x1="604.99" x2="591.33" x3="573.21" y1="538.68" y2="509.73" y3="486.87"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="599.57" x-axis-rotation="0" y="441.46"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="547.15" x-axis-rotation="0" y="389.04"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="494.73" x-axis-rotation="0" y="441.46"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="519.58" x-axis-rotation="0" y="485.97"/> + <curve x1="512.75" x2="506.98" x3="502.36" y1="494.05" y2="503.04" y3="512.59"/> + <line x="388.61" y="334.42"/> + <line x="439.98" y="334.42"/> + <line x="439.98" y="283.49"/> + <curve x1="439.98" x2="426.32" x3="408.2" y1="253.32" y2="224.37" y3="201.51"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="434.56" x-axis-rotation="0" y="156.1"/> + <arc large-arc-flag="0" rx="52.42" ry="52.42" sweep-flag="0" x="382.14" x-axis-rotation="0" y="103.68"/> + <close/> + <move x="374.48" y="334.42"/> + <line x="377.39" y="334.42"/> + <line x="497.41" y="522.41"/> + <line x="230.63" y="497.39"/> + <curve x1="230.37" x2="230.09" x3="229.81" y1="496.41" y2="495.43" y3="494.45"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nac appliance" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="293.08" y="40.66"/> + <line x="293.08" y="688.44"/> + <line x="310.08" y="688.44"/> + <line x="310.08" y="651.65"/> + <line x="890.94" y="651.65"/> + <line x="890.94" y="634.64"/> + <line x="726.55" y="634.64"/> + <line x="726.55" y="570.58"/> + <line x="890.94" y="570.58"/> + <line x="890.94" y="553.57"/> + <line x="839.32" y="553.57"/> + <line x="839.32" y="489.5"/> + <line x="890.94" y="489.5"/> + <line x="890.94" y="472.49"/> + <line x="310.08" y="472.49"/> + <line x="310.08" y="40.66"/> + <close/> + <move x="624.34" y="83.09"/> + <curve x1="548.24" x2="486.19" x3="486.19" y1="83.09" y2="145.14" y3="221.23"/> + <curve x1="486.19" x2="495.75" x3="511.95" y1="251.09" y2="278.78" y3="301.41"/> + <line x="435.69" y="377.21"/> + <line x="467.67" y="409.38"/> + <line x="544" y="333.51"/> + <curve x1="566.66" x2="594.41" x3="624.34" y1="349.78" y2="359.38" y3="359.38"/> + <curve x1="700.43" x2="762.49" x3="762.49" y1="359.38" y2="297.33" y3="221.23"/> + <curve x1="762.49" x2="700.43" x3="624.34" y1="145.14" y2="83.09" y3="83.09"/> + <close/> + <move x="624.34" y="117.11"/> + <curve x1="682.05" x2="728.47" x3="728.47" y1="117.11" y2="163.52" y3="221.23"/> + <curve x1="728.47" x2="682.05" x3="624.34" y1="278.95" y2="325.36" y3="325.36"/> + <curve x1="566.63" x2="520.21" x3="520.21" y1="325.36" y2="278.95" y3="221.23"/> + <curve x1="520.21" x2="566.63" x3="624.34" y1="163.52" y2="117.11" y3="117.11"/> + <close/> + <move x="62.07" y="146.32"/> + <line x="114.63" y="220.08"/> + <line x="59.78" y="298.43"/> + <line x="106.9" y="298.43"/> + <line x="138.12" y="251.3"/> + <line x="169.06" y="298.43"/> + <line x="218.47" y="298.43"/> + <line x="162.19" y="218.36"/> + <line x="213.75" y="146.32"/> + <line x="166.48" y="146.32"/> + <line x="138.12" y="188.14"/> + <line x="111.2" y="146.32"/> + <close/> + <move x="220.34" y="419.65"/> + <arc large-arc-flag="0" rx="18.9" ry="18.9" sweep-flag="0" x="205.62" x-axis-rotation="0" y="425.73"/> + <line x="90.14" y="547.51"/> + <line x="89.86" y="495.07"/> + <arc large-arc-flag="1" rx="18.9" ry="18.9" sweep-flag="0" x="52.06" x-axis-rotation="0" y="495.28"/> + <line x="52.6" y="594.73"/> + <arc large-arc-flag="0" rx="18.9" ry="18.9" sweep-flag="0" x="85.21" x-axis-rotation="0" y="607.63"/> + <line x="233.04" y="451.73"/> + <arc large-arc-flag="0" rx="18.9" ry="18.9" sweep-flag="0" x="220.34" x-axis-rotation="0" y="419.65"/> + <close/> + <move x="310.08" y="489.5"/> + <line x="370.85" y="489.5"/> + <line x="370.85" y="553.57"/> + <line x="310.08" y="553.57"/> + <close/> + <move x="387.86" y="489.5"/> + <line x="597.41" y="489.5"/> + <line x="597.41" y="553.57"/> + <line x="387.86" y="553.57"/> + <close/> + <move x="614.42" y="489.5"/> + <line x="822.31" y="489.5"/> + <line x="822.31" y="553.57"/> + <line x="614.42" y="553.57"/> + <close/> + <move x="310.08" y="570.58"/> + <line x="485.27" y="570.58"/> + <line x="485.27" y="634.64"/> + <line x="310.08" y="634.64"/> + <close/> + <move x="502.28" y="570.58"/> + <line x="709.54" y="570.58"/> + <line x="709.54" y="634.64"/> + <line x="502.28" y="634.64"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="1048.29" name="nam virtual service blade" strokewidth="inherit" w="1355.83"> + <connections/> + <foreground> + <path> + <move x="570.07" y="116.86"/> + <curve x1="562.7" x2="555.22" x3="547.65" y1="116.88" y2="117.13" y3="117.61"/> + <line x="547.29" y="117.6"/> + <line x="546.2" y="117.7"/> + <curve x1="377.78" x2="242.99" x3="210.99" y1="133.31" y2="266.16" y3="444.29"/> + <curve x1="174.5" x2="141.88" x3="117.4" y1="458.96" y2="480.33" y3="508.79"/> + <curve x1="90.32" x2="73.54" x3="73.54" y1="540.29" y2="580.66" y3="626.72"/> + <curve x1="73.54" x2="93.26" x3="137.03" y1="681.26" y2="732.71" y3="768.81"/> + <curve x1="166.38" x2="205.62" x3="255.39" y1="793.02" y2="810.1" y3="819.13"/> + <line x="223.05" y="851.55"/> + <line x="284.93" y="913.27"/> + <line x="350.2" y="847.84"/> + <curve x1="416.6" x2="500.56" x3="572.77" y1="904.05" y2="931.54" y3="931.54"/> + <curve x1="677.9" x2="770.1" x3="830.64" y1="931.54" y2="880.62" y3="814.57"/> + <curve x1="910.24" x2="980.44" x3="1055.03" y1="823.27" y2="831.06" y3="825.66"/> + <line x="1055.37" y="825.66"/> + <line x="1056.01" y="825.61"/> + <line x="1056.13" y="825.6"/> + <curve x1="1132.96" x2="1190.07" x3="1228.04" y1="819.46" y2="795.56" y3="758.96"/> + <curve x1="1266.03" x2="1283.51" x3="1283.51" y1="722.34" y2="673.6" y3="623.31"/> + <curve x1="1283.57" x2="1266.34" x3="1238.08" y1="580.36" y2="541.08" y3="509.3"/> + <curve x1="1211.7" x2="1175.78" x3="1134.1" y1="479.63" y2="456.14" y3="439.32"/> + <curve x1="1115.87" x2="1086.58" x3="1036.84" y1="394.83" y2="345.96" y3="314.67"/> + <line x="1036.3" y="314.33"/> + <line x="1036.02" y="314.18"/> + <curve x1="981.42" x2="926.85" x3="877.59" y1="281.54" y2="282.85" y3="292.52"/> + <curve x1="826.77" x2="722.36" x3="577.69" y1="209" y2="119.57" y3="116.91"/> + <curve x1="575.16" x2="572.62" x3="570.07" y1="116.87" y2="116.85" y3="116.85"/> + <close/> + <move x="555.83" y="155.67"/> + <line x="556.75" y="159.15"/> + <line x="555.77" y="155.67"/> + <curve x1="555.79" x2="555.81" x3="555.83" y1="155.67" y2="155.67" y3="155.67"/> + <close/> + <move x="570.44" y="160.35"/> + <curve x1="572.69" x2="574.93" x3="577.16" y1="160.35" y2="160.37" y3="160.41"/> + <curve x1="712.3" x2="807.55" x3="848.19" y1="163.14" y2="252.44" y3="327.31"/> + <curve x1="848.19" x2="848.19" x3="848.19" y1="327.31" y2="327.31" y3="327.31"/> + <line x="855.96" y="341.78"/> + <line x="871.9" y="338"/> + <line x="871.81" y="338.03"/> + <curve x1="921.11" x2="965.89" x3="1014.32" y1="326.59" y2="322.69" y3="351.73"/> + <curve x1="1055.81" x2="1081.79" x3="1097.76" y1="377.9" y2="422.27" y3="463.97"/> + <line x="1101.25" y="473.07"/> + <line x="1110.32" y="476.49"/> + <line x="1110.35" y="476.51"/> + <curve x1="1150.57" x2="1183.68" x3="1206.14" y1="491.51" y2="513.14" y3="538.39"/> + <curve x1="1228.61" x2="1240.59" x3="1240.55" y1="563.66" y2="591.91" y3="623.27"/> + <line x="1240.55" y="623.29"/> + <line x="1240.55" y="623.3"/> + <curve x1="1240.55" x2="1227.6" x3="1198.41" y1="663.72" y2="699.34" y3="727.47"/> + <curve x1="1169.26" x2="1122.57" x3="1052.8" y1="755.58" y2="776.66" y3="782.24"/> + <curve x1="979.55" x2="909.27" x3="824.48" y1="787.65" y2="779.42" y3="770.19"/> + <line x="824.47" y="770.19"/> + <line x="813.33" y="769"/> + <line x="805.98" y="777.54"/> + <line x="805.97" y="777.55"/> + <curve x1="753.21" x2="667.96" x3="572.77" y1="838.98" y2="888.07" y3="888.07"/> + <curve x1="512.71" x2="438.65" x3="380.82" y1="888.07" y2="864.27" y3="817.14"/> + <line x="444.35" y="753.45"/> + <curve x1="484.22" x2="531.41" x3="581.94" y1="778.67" y2="793.3" y3="793.3"/> + <curve x1="724.26" x2="840.22" x3="840.22" y1="793.3" y2="677.33" y3="535.01"/> + <curve x1="840.22" x2="724.26" x3="581.94" y1="392.69" y2="276.74" y3="276.74"/> + <curve x1="439.62" x2="323.67" x3="323.67" y1="276.74" y2="392.69" y3="535.01"/> + <curve x1="323.67" x2="344.49" x3="379.31" y1="595.32" y2="650.88" y3="694.91"/> + <line x="293.62" y="780.81"/> + <curve x1="233.52" x2="191.57" x3="164.17" y1="774.68" y2="757.72" y3="735.11"/> + <curve x1="130.61" x2="116.5" x3="116.5" y1="707.42" y2="671.21" y3="626.73"/> + <curve x1="116.5" x2="128.68" x3="149.81" y1="591.08" y2="561.9" y3="537.34"/> + <curve x1="170.91" x2="201.37" x3="236.9" y1="512.8" y2="493.34" y3="480.72"/> + <line x="236.92" y="480.71"/> + <line x="249.06" y="476.37"/> + <line x="251.02" y="463.49"/> + <line x="251.02" y="463.47"/> + <curve x1="276.04" x2="397.94" x3="549.87" y1="296.82" y2="175.24" y3="161.04"/> + <curve x1="556.82" x2="563.68" x3="570.44" y1="160.59" y2="160.36" y3="160.35"/> + <close/> + <move x="581.94" y="331.37"/> + <curve x1="694.74" x2="785.6" x3="785.6" y1="331.37" y2="422.22" y3="535.01"/> + <curve x1="785.6" x2="694.74" x3="581.94" y1="647.81" y2="738.67" y3="738.67"/> + <curve x1="469.14" x2="378.29" x3="378.29" y1="738.67" y2="647.81" y3="535.01"/> + <curve x1="378.29" x2="469.14" x3="581.94" y1="422.22" y2="331.37" y3="331.37"/> + <close/> + <move x="463.46" y="417.68"/> + <line x="463.46" y="432.7"/> + <line x="463.46" y="648.95"/> + <line x="697.5" y="648.95"/> + <line x="697.5" y="417.68"/> + <close/> + <move x="1130.59" y="443.27"/> + <line x="1130.82" y="443.35"/> + <line x="1130.9" y="443.56"/> + <curve x1="1130.83" x2="1130.75" x3="1130.68" y1="443.53" y2="443.5" y3="443.47"/> + <curve x1="1130.65" x2="1130.62" x3="1130.59" y1="443.4" y2="443.33" y3="443.27"/> + <close/> + <move x="493.51" y="447.73"/> + <line x="667.45" y="447.73"/> + <line x="667.45" y="618.9"/> + <line x="493.51" y="618.9"/> + <close/> + <move x="215.08" y="447.91"/> + <curve x1="215.07" x2="215.05" x3="215.03" y1="448" y2="448.09" y3="448.18"/> + <curve x1="214.91" x2="214.78" x3="214.65" y1="448.23" y2="448.28" y3="448.33"/> + <line x="214.65" y="448.31"/> + <line x="214.93" y="447.96"/> + <close/> + <move x="64.01" y="28.9"/> + <line x="1291.82" y="28.9"/> + <curve x1="1311.52" x2="1326.93" x3="1326.93" y1="28.9" y2="44.31" y3="64.01"/> + <line x="1326.93" y="984.27"/> + <curve x1="1326.93" x2="1311.52" x3="1291.82" y1="1003.97" y2="1019.38" y3="1019.38"/> + <line x="64.01" y="1019.38"/> + <curve x1="44.31" x2="28.9" x3="28.9" y1="1019.38" y2="1003.97" y3="984.27"/> + <line x="28.9" y="64.01"/> + <curve x1="28.9" x2="44.31" x3="64.01" y1="44.31" y2="28.9" y3="28.9"/> + <close/> + <move x="64.01" y="0"/> + <curve x1="28.8" x2="0" x3="0" y1="0" y2="28.8" y3="64.01"/> + <line x="0" y="984.27"/> + <curve x1="0" x2="28.8" x3="64.01" y1="1019.48" y2="1048.29" y3="1048.29"/> + <line x="1291.82" y="1048.29"/> + <curve x1="1327.03" x2="1355.83" x3="1355.83" y1="1048.29" y2="1019.48" y3="984.27"/> + <line x="1355.83" y="64.01"/> + <curve x1="1355.83" x2="1327.03" x3="1291.82" y1="28.8" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="netflow router" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <save/> + <path> + <move x="102.26" y="160.58"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="160.58" y2="163.5" y3="166.07"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="168.64" y2="170.41" y3="170.41"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="170.41" y2="168.61" y3="166.15"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="163.69" y2="160.87" y3="160.87"/> + <curve x1="31.86" x2="28.11" x3="24.89" y1="160.87" y2="161.45" y3="162.33"/> + <line x="32.42" y="170.03"/> + <curve x1="33.61" x2="34.9" x3="36.3" y1="169.93" y2="169.87" y3="169.87"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="169.87" y2="171.81" y3="174.13"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="176.45" y2="179.41" y3="179.41"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="179.41" y2="176.27" y3="173.93"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="171.58" y2="169.58" y3="169.58"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="169.58" y2="171.73" y3="174.26"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="176.78" y2="179.79" y3="179.79"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="179.79" y2="176.87" y3="174.65"/> + <curve x1="155.92" x2="158.84" x3="163.17" y1="173.07" y2="171.66" y3="170.97"/> + <line x="171.52" y="161.58"/> + <curve x1="170.8" x2="170.07" x3="169.31" y1="161.54" y2="161.52" y3="161.52"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="161.52" y2="164.25" y3="166.67"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="169.08" y2="170.79" y3="170.79"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="170.79" y2="168.69" y3="166.12"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="163.54" y2="160.58" y3="160.58"/> + <close/> + <move x="102.26" y="131.47"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="131.47" y2="134.38" y3="136.95"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="139.52" y2="141.3" y3="141.3"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="141.3" y2="139.49" y3="137.03"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="134.58" y2="131.75" y3="131.75"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="131.75" y2="134.55" y3="137.08"/> + <curve x1="13.46" x2="11.85" x3="10.35" y1="138.17" y2="139.12" y3="139.86"/> + <line x="14.67" y="147.74"/> + <curve x1="16.48" x2="18.15" x3="19.75" y1="146.85" y2="145.87" y3="145"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="142.72" y2="140.75" y3="140.75"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="140.75" y2="142.7" y3="145.01"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="147.33" y2="150.3" y3="150.3"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="150.3" y2="147.15" y3="144.81"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="142.47" y2="140.47" y3="140.47"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="140.47" y2="142.62" y3="145.14"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="147.67" y2="150.67" y3="150.67"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="150.67" y2="147.75" y3="145.53"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="143.31" y2="141.41" y3="141.41"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="141.41" y2="142.66" y3="144.05"/> + <curve x1="182.3" x2="183.05" x3="183.8" y1="144.39" y2="144.77" y3="145.15"/> + <line x="187.83" y="136.99"/> + <curve x1="187.04" x2="186.15" x3="185.15" y1="136.65" y2="136.25" y3="135.81"/> + <curve x1="181.43" x2="176.25" x3="169.31" y1="134.18" y2="132.41" y3="132.41"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="132.41" y2="135.14" y3="137.55"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="139.96" y2="141.67" y3="141.67"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="141.67" y2="139.58" y3="137"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="134.42" y2="131.47" y3="131.47"/> + <close/> + <move x="102.26" y="102.35"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="102.35" y2="105.27" y3="107.84"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="110.41" y2="112.18" y3="112.18"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="112.18" y2="110.38" y3="107.92"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="105.46" y2="102.64" y3="102.64"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="102.64" y2="105.43" y3="107.97"/> + <curve x1="10.79" x2="8.28" x3="4.27" y1="110.5" y2="112.29" y3="112.37"/> + <curve x1="3" x2="2.85" x3="2.14" y1="112.37" y2="112.22" y3="112.02"/> + <line x="4.27" y="121.37"/> + <curve x1="10.94" x2="15.54" x3="19.75" y1="121.24" y2="118.16" y3="115.88"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="113.6" y2="111.64" y3="111.64"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="111.64" y2="113.58" y3="115.9"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="118.22" y2="121.18" y3="121.18"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="121.18" y2="118.04" y3="115.7"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="113.35" y2="111.35" y3="111.35"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="111.35" y2="113.5" y3="116.03"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="118.55" y2="121.56" y3="121.56"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="121.56" y2="118.64" y3="116.42"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="114.19" y2="112.29" y3="112.29"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="112.29" y2="113.55" y3="114.94"/> + <curve x1="184.7" x2="187.44" x3="191.74" y1="116.33" y2="118.35" y3="118.35"/> + <curve x1="193.23" x2="193.33" x3="194.08" y1="118.35" y2="118.28" y3="118.09"/> + <line x="195.53" y="108.79"/> + <curve x1="194.3" x2="194.19" x3="191.74" y1="109.18" y2="109.47" y3="109.35"/> + <curve x1="191.15" x2="188.87" x3="185.15" y1="109.35" y2="108.33" y3="106.7"/> + <curve x1="181.43" x2="176.25" x3="169.31" y1="105.06" y2="103.29" y3="103.29"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="103.29" y2="106.02" y3="108.44"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="110.85" y2="112.56" y3="112.56"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="112.56" y2="110.46" y3="107.89"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="105.31" y2="102.35" y3="102.35"/> + <close/> + <move x="102.26" y="73.24"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="73.24" y2="76.15" y3="78.72"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="81.29" y2="83.07" y3="83.07"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="83.07" y2="81.26" y3="78.8"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="76.35" y2="73.52" y3="73.52"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="73.52" y2="76.32" y3="78.85"/> + <curve x1="10.79" x2="8.28" x3="4.27" y1="81.39" y2="83.18" y3="83.26"/> + <curve x1="3.21" x2="2.74" x3="2.46" y1="83.26" y2="83.04" y3="82.84"/> + <line x="1.57" y="91.54"/> + <curve x1="2.31" x2="3.1" x3="4.27" y1="92.1" y2="92.25" y3="92.25"/> + <curve x1="10.94" x2="15.54" x3="19.75" y1="92.12" y2="89.05" y3="86.77"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="84.49" y2="82.52" y3="82.52"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="82.52" y2="84.47" y3="86.78"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="89.1" y2="92.07" y3="92.07"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="92.07" y2="88.92" y3="86.58"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="84.24" y2="82.24" y3="82.24"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="82.24" y2="84.39" y3="86.91"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="89.44" y2="92.44" y3="92.44"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="92.44" y2="89.52" y3="87.3"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="85.08" y2="83.18" y3="83.18"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="83.18" y2="84.43" y3="85.82"/> + <curve x1="184.7" x2="187.44" x3="191.74" y1="87.22" y2="89.23" y3="89.23"/> + <curve x1="193.39" x2="194.36" x3="195.49" y1="89.23" y2="89.05" y3="88.44"/> + <line x="194.22" y="80.04"/> + <curve x1="193.54" x2="192.68" x3="191.74" y1="80.19" y2="80.3" y3="80.23"/> + <curve x1="191.15" x2="188.87" x3="185.15" y1="80.23" y2="79.22" y3="77.58"/> + <curve x1="181.43" x2="176.25" x3="169.31" y1="75.95" y2="74.18" y3="74.18"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="74.18" y2="76.91" y3="79.32"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="81.73" y2="83.44" y3="83.44"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="83.44" y2="81.35" y3="78.77"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="76.19" y2="73.24" y3="73.24"/> + <close/> + <move x="102.26" y="44.12"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="44.12" y2="47.04" y3="49.61"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="52.18" y2="53.95" y3="53.95"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="53.95" y2="52.14" y3="49.69"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="47.23" y2="44.41" y3="44.41"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="44.41" y2="47.2" y3="49.74"/> + <curve x1="14.7" x2="13.99" x3="13.32" y1="50.15" y2="50.55" y3="50.92"/> + <line x="8.1" y="62.73"/> + <curve x1="12.79" x2="16.4" x3="19.75" y1="61.79" y2="59.47" y3="57.65"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="55.37" y2="53.41" y3="53.41"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="53.41" y2="55.35" y3="57.67"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="59.99" y2="62.95" y3="62.95"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="62.95" y2="59.81" y3="57.47"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="55.12" y2="53.12" y3="53.12"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="53.12" y2="55.27" y3="57.8"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="60.32" y2="63.33" y3="63.33"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="63.33" y2="60.41" y3="58.19"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="55.96" y2="54.06" y3="54.06"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="54.06" y2="55.32" y3="56.71"/> + <curve x1="183.45" x2="185.22" x3="187.28" y1="57.56" y2="58.63" y3="59.35"/> + <line x="180.73" y="46.8"/> + <curve x1="177.62" x2="173.84" x3="169.31" y1="45.82" y2="45.06" y3="45.06"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="45.06" y2="47.79" y3="50.21"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="52.62" y2="54.33" y3="54.33"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="54.33" y2="52.23" y3="49.66"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="47.08" y2="44.12" y3="44.12"/> + <close/> + <move x="154.2" y="18.6"/> + <curve x1="152.13" x2="150.33" x3="148.73" y1="19.38" y2="20.26" y3="21.09"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="23.5" y2="25.21" y3="25.21"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="25.21" y2="23.12" y3="20.54"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="17.96" y2="15.01" y3="15.01"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="15.01" y2="17.92" y3="20.49"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="23.06" y2="24.84" y3="24.84"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="24.84" y2="23.03" y3="20.57"/> + <curve x1="53.88" x2="50.2" x3="45.39" y1="18.99" y2="17.25" y3="16.22"/> + <line x="36.3" y="24.29"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="24.29" y2="26.24" y3="28.55"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="30.87" y2="33.84" y3="33.84"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="33.84" y2="30.69" y3="28.35"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="26.01" y2="24.01" y3="24.01"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="24.01" y2="26.16" y3="28.68"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="31.21" y2="34.21" y3="34.21"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="34.21" y2="31.29" y3="29.07"/> + <curve x1="155.76" x2="158.54" x3="162.52" y1="27.57" y2="26.22" y3="25.5"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <strokewidth width="1"/> + <alpha alpha="0.5"/> + <path> + <move x="102.26" y="160.58"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="160.58" y2="163.5" y3="166.07"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="168.64" y2="170.41" y3="170.41"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="170.41" y2="168.61" y3="166.15"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="163.69" y2="160.87" y3="160.87"/> + <curve x1="31.86" x2="28.11" x3="24.89" y1="160.87" y2="161.45" y3="162.33"/> + <line x="32.42" y="170.03"/> + <curve x1="33.61" x2="34.9" x3="36.3" y1="169.93" y2="169.87" y3="169.87"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="169.87" y2="171.81" y3="174.13"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="176.45" y2="179.41" y3="179.41"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="179.41" y2="176.27" y3="173.93"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="171.58" y2="169.58" y3="169.58"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="169.58" y2="171.73" y3="174.26"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="176.78" y2="179.79" y3="179.79"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="179.79" y2="176.87" y3="174.65"/> + <curve x1="155.92" x2="158.84" x3="163.17" y1="173.07" y2="171.66" y3="170.97"/> + <line x="171.52" y="161.58"/> + <curve x1="170.8" x2="170.07" x3="169.31" y1="161.54" y2="161.52" y3="161.52"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="161.52" y2="164.25" y3="166.67"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="169.08" y2="170.79" y3="170.79"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="170.79" y2="168.69" y3="166.12"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="163.54" y2="160.58" y3="160.58"/> + <close/> + <move x="102.26" y="131.47"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="131.47" y2="134.38" y3="136.95"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="139.52" y2="141.3" y3="141.3"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="141.3" y2="139.49" y3="137.03"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="134.58" y2="131.75" y3="131.75"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="131.75" y2="134.55" y3="137.08"/> + <curve x1="13.46" x2="11.85" x3="10.35" y1="138.17" y2="139.12" y3="139.86"/> + <line x="14.67" y="147.74"/> + <curve x1="16.48" x2="18.15" x3="19.75" y1="146.85" y2="145.87" y3="145"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="142.72" y2="140.75" y3="140.75"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="140.75" y2="142.7" y3="145.01"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="147.33" y2="150.3" y3="150.3"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="150.3" y2="147.15" y3="144.81"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="142.47" y2="140.47" y3="140.47"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="140.47" y2="142.62" y3="145.14"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="147.67" y2="150.67" y3="150.67"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="150.67" y2="147.75" y3="145.53"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="143.31" y2="141.41" y3="141.41"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="141.41" y2="142.66" y3="144.05"/> + <curve x1="182.3" x2="183.05" x3="183.8" y1="144.39" y2="144.77" y3="145.15"/> + <line x="187.83" y="136.99"/> + <curve x1="187.04" x2="186.15" x3="185.15" y1="136.65" y2="136.25" y3="135.81"/> + <curve x1="181.43" x2="176.25" x3="169.31" y1="134.18" y2="132.41" y3="132.41"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="132.41" y2="135.14" y3="137.55"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="139.96" y2="141.67" y3="141.67"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="141.67" y2="139.58" y3="137"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="134.42" y2="131.47" y3="131.47"/> + <close/> + <move x="102.26" y="102.35"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="102.35" y2="105.27" y3="107.84"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="110.41" y2="112.18" y3="112.18"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="112.18" y2="110.38" y3="107.92"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="105.46" y2="102.64" y3="102.64"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="102.64" y2="105.43" y3="107.97"/> + <curve x1="10.79" x2="8.28" x3="4.27" y1="110.5" y2="112.29" y3="112.37"/> + <curve x1="3" x2="2.85" x3="2.14" y1="112.37" y2="112.22" y3="112.02"/> + <line x="4.27" y="121.37"/> + <curve x1="10.94" x2="15.54" x3="19.75" y1="121.24" y2="118.16" y3="115.88"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="113.6" y2="111.64" y3="111.64"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="111.64" y2="113.58" y3="115.9"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="118.22" y2="121.18" y3="121.18"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="121.18" y2="118.04" y3="115.7"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="113.35" y2="111.35" y3="111.35"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="111.35" y2="113.5" y3="116.03"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="118.55" y2="121.56" y3="121.56"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="121.56" y2="118.64" y3="116.42"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="114.19" y2="112.29" y3="112.29"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="112.29" y2="113.55" y3="114.94"/> + <curve x1="184.7" x2="187.44" x3="191.74" y1="116.33" y2="118.35" y3="118.35"/> + <curve x1="193.23" x2="193.33" x3="194.08" y1="118.35" y2="118.28" y3="118.09"/> + <line x="195.53" y="108.79"/> + <curve x1="194.3" x2="194.19" x3="191.74" y1="109.18" y2="109.47" y3="109.35"/> + <curve x1="191.15" x2="188.87" x3="185.15" y1="109.35" y2="108.33" y3="106.7"/> + <curve x1="181.43" x2="176.25" x3="169.31" y1="105.06" y2="103.29" y3="103.29"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="103.29" y2="106.02" y3="108.44"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="110.85" y2="112.56" y3="112.56"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="112.56" y2="110.46" y3="107.89"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="105.31" y2="102.35" y3="102.35"/> + <close/> + <move x="102.26" y="73.24"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="73.24" y2="76.15" y3="78.72"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="81.29" y2="83.07" y3="83.07"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="83.07" y2="81.26" y3="78.8"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="76.35" y2="73.52" y3="73.52"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="73.52" y2="76.32" y3="78.85"/> + <curve x1="10.79" x2="8.28" x3="4.27" y1="81.39" y2="83.18" y3="83.26"/> + <curve x1="3.21" x2="2.74" x3="2.46" y1="83.26" y2="83.04" y3="82.84"/> + <line x="1.57" y="91.54"/> + <curve x1="2.31" x2="3.1" x3="4.27" y1="92.1" y2="92.25" y3="92.25"/> + <curve x1="10.94" x2="15.54" x3="19.75" y1="92.12" y2="89.05" y3="86.77"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="84.49" y2="82.52" y3="82.52"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="82.52" y2="84.47" y3="86.78"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="89.1" y2="92.07" y3="92.07"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="92.07" y2="88.92" y3="86.58"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="84.24" y2="82.24" y3="82.24"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="82.24" y2="84.39" y3="86.91"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="89.44" y2="92.44" y3="92.44"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="92.44" y2="89.52" y3="87.3"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="85.08" y2="83.18" y3="83.18"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="83.18" y2="84.43" y3="85.82"/> + <curve x1="184.7" x2="187.44" x3="191.74" y1="87.22" y2="89.23" y3="89.23"/> + <curve x1="193.39" x2="194.36" x3="195.49" y1="89.23" y2="89.05" y3="88.44"/> + <line x="194.22" y="80.04"/> + <curve x1="193.54" x2="192.68" x3="191.74" y1="80.19" y2="80.3" y3="80.23"/> + <curve x1="191.15" x2="188.87" x3="185.15" y1="80.23" y2="79.22" y3="77.58"/> + <curve x1="181.43" x2="176.25" x3="169.31" y1="75.95" y2="74.18" y3="74.18"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="74.18" y2="76.91" y3="79.32"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="81.73" y2="83.44" y3="83.44"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="83.44" y2="81.35" y3="78.77"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="76.19" y2="73.24" y3="73.24"/> + <close/> + <move x="102.26" y="44.12"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="44.12" y2="47.04" y3="49.61"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="52.18" y2="53.95" y3="53.95"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="53.95" y2="52.14" y3="49.69"/> + <curve x1="52.21" x2="45.95" x3="36.3" y1="47.23" y2="44.41" y3="44.41"/> + <curve x1="26.59" x2="20.14" x3="15.46" y1="44.41" y2="47.2" y3="49.74"/> + <curve x1="14.7" x2="13.99" x3="13.32" y1="50.15" y2="50.55" y3="50.92"/> + <line x="8.1" y="62.73"/> + <curve x1="12.79" x2="16.4" x3="19.75" y1="61.79" y2="59.47" y3="57.65"/> + <curve x1="23.96" x2="28.19" x3="36.3" y1="55.37" y2="53.41" y3="53.41"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="53.41" y2="55.35" y3="57.67"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="59.99" y2="62.95" y3="62.95"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="62.95" y2="59.81" y3="57.47"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="55.12" y2="53.12" y3="53.12"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="53.12" y2="55.27" y3="57.8"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="60.32" y2="63.33" y3="63.33"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="63.33" y2="60.41" y3="58.19"/> + <curve x1="157.16" x2="161.22" x3="169.31" y1="55.96" y2="54.06" y3="54.06"/> + <curve x1="174.78" x2="178.36" x3="181.53" y1="54.06" y2="55.32" y3="56.71"/> + <curve x1="183.45" x2="185.22" x3="187.28" y1="57.56" y2="58.63" y3="59.35"/> + <line x="180.73" y="46.8"/> + <curve x1="177.62" x2="173.84" x3="169.31" y1="45.82" y2="45.06" y3="45.06"/> + <curve x1="159.66" x2="153.36" x3="148.73" y1="45.06" y2="47.79" y3="50.21"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="52.62" y2="54.33" y3="54.33"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="54.33" y2="52.23" y3="49.66"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="47.08" y2="44.12" y3="44.12"/> + <close/> + <move x="154.2" y="18.6"/> + <curve x1="152.13" x2="150.33" x3="148.73" y1="19.38" y2="20.26" y3="21.09"/> + <curve x1="144.11" x2="141.49" x3="136.75" y1="23.5" y2="25.21" y3="25.21"/> + <curve x1="132.19" x2="127.74" x3="122.28" y1="25.21" y2="23.12" y3="20.54"/> + <curve x1="116.82" x2="110.36" x3="102.26" y1="17.96" y2="15.01" y3="15.01"/> + <curve x1="92.51" x2="86.15" x3="81.56" y1="15.01" y2="17.92" y3="20.49"/> + <curve x1="76.96" x2="74.48" x3="70.04" y1="23.06" y2="24.84" y3="24.84"/> + <curve x1="64.5" x2="61.62" x3="56.92" y1="24.84" y2="23.03" y3="20.57"/> + <curve x1="53.88" x2="50.2" x3="45.39" y1="18.99" y2="17.25" y3="16.22"/> + <line x="36.3" y="24.29"/> + <curve x1="44.32" x2="48.31" x3="52.75" y1="24.29" y2="26.24" y3="28.55"/> + <curve x1="57.19" x2="62.34" x3="70.04" y1="30.87" y2="33.84" y3="33.84"/> + <curve x1="77.05" x2="81.76" x3="85.95" y1="33.84" y2="30.69" y3="28.35"/> + <curve x1="90.14" x2="94.17" x3="102.26" y1="26.01" y2="24.01" y3="24.01"/> + <curve x1="108.17" x2="113.09" x3="118.44" y1="24.01" y2="26.16" y3="28.68"/> + <curve x1="123.79" x2="129.58" x3="136.75" y1="31.21" y2="34.21" y3="34.21"/> + <curve x1="143.84" x2="148.63" x3="152.89" y1="34.21" y2="31.29" y3="29.07"/> + <curve x1="155.76" x2="158.54" x3="162.52" y1="27.57" y2="26.22" y3="25.5"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <path> + <move x="151.05" y="160.47"/> + <line x="125.88" y="135.8"/> + <line x="115.64" y="146.24"/> + <line x="107.81" y="108.59"/> + <line x="145.72" y="115.57"/> + <line x="135.57" y="125.92"/> + <line x="160.73" y="150.6"/> + <close/> + <move x="94.58" y="112.59"/> + <line x="69.91" y="137.75"/> + <line x="80.35" y="147.99"/> + <line x="42.7" y="155.82"/> + <line x="49.68" y="117.92"/> + <line x="60.03" y="128.07"/> + <line x="84.71" y="102.91"/> + <close/> + <move x="47.09" y="37.6"/> + <line x="72.25" y="62.28"/> + <line x="82.49" y="51.84"/> + <line x="90.32" y="89.49"/> + <line x="52.41" y="82.5"/> + <line x="62.56" y="72.15"/> + <line x="37.4" y="47.48"/> + <close/> + <move x="102.51" y="85.2"/> + <line x="127.19" y="60.04"/> + <line x="116.74" y="49.8"/> + <line x="154.4" y="41.97"/> + <line x="147.41" y="79.87"/> + <line x="137.06" y="69.72"/> + <line x="112.39" y="94.88"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="2741.12" name="netflow router2" strokewidth="inherit" w="3545.29"> + <connections/> + <foreground> + <path> + <move x="167.37" y="0"/> + <curve x1="75.3" x2="0" x3="0" y1="0" y2="75.3" y3="167.37"/> + <line x="0" y="2573.72"/> + <curve x1="0" x2="75.3" x3="167.37" y1="2665.8" y2="2741.12" y3="2741.12"/> + <line x="3377.92" y="2741.12"/> + <curve x1="3469.99" x2="3545.29" x3="3545.29" y1="2741.12" y2="2665.8" y3="2573.72"/> + <line x="3545.29" y="167.37"/> + <curve x1="3545.29" x2="3469.99" x3="3377.92" y1="75.3" y2="0" y3="0"/> + <close/> + <move x="167.37" y="75.58"/> + <line x="3377.92" y="75.58"/> + <curve x1="3429.42" x2="3469.71" x3="3469.71" y1="75.58" y2="115.87" y3="167.37"/> + <line x="3469.71" y="2573.72"/> + <curve x1="3469.71" x2="3429.42" x3="3377.92" y1="2625.23" y2="2665.52" y3="2665.52"/> + <line x="167.37" y="2665.52"/> + <curve x1="115.87" x2="75.58" x3="75.58" y1="2665.52" y2="2625.23" y3="2573.72"/> + <line x="75.58" y="167.37"/> + <curve x1="75.58" x2="115.87" x3="167.37" y1="115.87" y2="75.58" y3="75.58"/> + <close/> + <move x="1769.71" y="192.32"/> + <curve x1="1525.55" x2="1372.34" x3="1372.34" y1="192.32" y2="413.45" y3="595.85"/> + <curve x1="1372.34" x2="1442.02" x3="1488.91" y1="813.2" y2="863.98" y3="934.4"/> + <curve x1="1551.68" x2="1590.43" x3="1592.22" y1="1028.69" y2="1194.3" y3="1303.43"/> + <line x="1952.62" y="1304.16"/> + <curve x1="1952.62" x2="1967.71" x3="2040.3" y1="1200.47" y2="1046.83" y3="951.14"/> + <curve x1="2122.87" x2="2161.32" x3="2161.32" y1="842.29" y2="781.14" y3="591.65"/> + <curve x1="2161.32" x2="1987.77" x3="1769.71" y1="362.1" y2="192.32" y3="192.32"/> + <close/> + <move x="881.33" y="244.14"/> + <line x="599.48" y="271.62"/> + <line x="732.85" y="521.43"/> + <line x="781.48" y="430.6"/> + <line x="1089.03" y="595.28"/> + <line x="1140.23" y="499.66"/> + <line x="832.69" y="334.98"/> + <close/> + <move x="2652.33" y="244.14"/> + <line x="2700.97" y="334.98"/> + <line x="2393.43" y="499.66"/> + <line x="2444.63" y="595.28"/> + <line x="2752.18" y="430.6"/> + <line x="2800.81" y="521.43"/> + <line x="2934.18" y="271.62"/> + <close/> + <move x="940.62" y="780.59"/> + <line x="940.62" y="883.63"/> + <line x="591.76" y="883.63"/> + <line x="591.76" y="992.09"/> + <line x="940.62" y="992.09"/> + <line x="940.62" y="1095.13"/> + <line x="1176.11" y="937.86"/> + <close/> + <move x="2593.04" y="780.59"/> + <line x="2357.55" y="937.86"/> + <line x="2593.04" y="1095.13"/> + <line x="2593.04" y="992.09"/> + <line x="2941.9" y="992.09"/> + <line x="2941.9" y="883.63"/> + <line x="2593.04" y="883.63"/> + <close/> + <move x="1089.03" y="1280.44"/> + <line x="781.48" y="1445.12"/> + <line x="732.85" y="1354.29"/> + <line x="599.48" y="1604.1"/> + <line x="881.33" y="1631.57"/> + <line x="832.69" y="1540.74"/> + <line x="1140.23" y="1376.06"/> + <close/> + <move x="2444.63" y="1280.44"/> + <line x="2393.43" y="1376.06"/> + <line x="2700.97" y="1540.74"/> + <line x="2652.33" y="1631.57"/> + <line x="2934.18" y="1604.1"/> + <line x="2800.81" y="1354.29"/> + <line x="2752.18" y="1445.12"/> + <close/> + <move x="1596.79" y="1392.27"/> + <curve x1="1576.41" x2="1559.29" x3="1559.29" y1="1392.27" y2="1409.39" y3="1429.77"/> + <line x="1559.29" y="1616.38"/> + <curve x1="1559.29" x2="1576.41" x3="1596.79" y1="1636.77" y2="1653.88" y3="1653.88"/> + <line x="1624.6" y="1653.88"/> + <curve x1="1630.48" x2="1645.19" x3="1665.81" y1="1679.21" y2="1700.71" y3="1715.09"/> + <curve x1="1691.42" x2="1724.7" x3="1762.29" y1="1732.96" y2="1740.92" y3="1740.92"/> + <curve x1="1803.97" x2="1837.51" x3="1862.66" y1="1740.92" y2="1731.19" y3="1713.06"/> + <curve x1="1883.91" x2="1898.36" x3="1907.33" y1="1697.74" y2="1676.84" y3="1653.88"/> + <line x="1936.87" y="1653.88"/> + <curve x1="1957.25" x2="1974.37" x3="1974.37" y1="1653.88" y2="1636.77" y3="1616.38"/> + <line x="1974.37" y="1429.77"/> + <curve x1="1974.37" x2="1957.25" x3="1936.87" y1="1409.39" y2="1392.27" y3="1392.27"/> + <close/> + <move x="1604.65" y="1437.62"/> + <line x="1929.02" y="1437.62"/> + <line x="1929.02" y="1608.53"/> + <line x="1604.65" y="1608.53"/> + <close/> + <move x="1671.64" y="1653.88"/> + <line x="1857.01" y="1653.88"/> + <curve x1="1851.55" x2="1844.71" x3="1836.14" y1="1662.64" y2="1670.08" y3="1676.27"/> + <curve x1="1820.14" x2="1797.04" x3="1762.29" y1="1687.8" y2="1695.57" y3="1695.57"/> + <curve x1="1731.26" x2="1707.14" x3="1691.77" y1="1695.57" y2="1688.63" y3="1677.9"/> + <curve x1="1682.33" x2="1675.66" x3="1671.64" y1="1671.32" y2="1663.7" y3="1653.88"/> + <close/> + <move x="1817.61" y="1939.41"/> + <curve x1="1779.07" x2="1744.04" x3="1712.53" y1="1939.41" y2="1945.92" y3="1958.94"/> + <curve x1="1681.02" x2="1657.06" x3="1640.66" y1="1971.96" y2="1991.1" y3="2016.37"/> + <curve x1="1624.25" x2="1616.05" x3="1616.05" y1="2041.37" y2="2068.32" y3="2097.22"/> + <curve x1="1616.05" x2="1622.69" x3="1635.97" y1="2123.53" y2="2147.35" y3="2168.71"/> + <curve x1="1649.51" x2="1669.96" x3="1697.3" y1="2189.8" y2="2207.51" y3="2221.83"/> + <curve x1="1718.39" x2="1755.24" x3="1807.85" y1="2233.03" y2="2245.01" y3="2257.77"/> + <curve x1="1860.45" x2="1894.43" x3="1909.8" y1="2270.27" y2="2279.52" y3="2285.51"/> + <curve x1="1933.76" x2="1950.94" x3="1961.36" y1="2294.62" y2="2305.95" y3="2319.49"/> + <curve x1="1971.78" x2="1976.99" x3="1976.99" y1="2332.77" y2="2348.4" y3="2366.37"/> + <curve x1="1976.99" x2="1971.52" x3="1960.58" y1="2384.07" y2="2400.48" y3="2415.58"/> + <curve x1="1949.9" x2="1933.5" x3="1911.36" y1="2430.43" y2="2442.15" y3="2450.74"/> + <curve x1="1889.23" x2="1863.71" x3="1834.8" y1="2459.33" y2="2463.63" y3="2463.63"/> + <curve x1="1802.25" x2="1772.95" x3="1746.91" y1="2463.63" y2="2458.03" y3="2446.83"/> + <curve x1="1720.87" x2="1701.6" x3="1689.1" y1="2435.38" y2="2420.53" y3="2402.3"/> + <curve x1="1676.86" x2="1669.04" x3="1665.66" y1="2383.81" y2="2360.25" y3="2331.6"/> + <line x="1594.17" y="2337.85"/> + <curve x1="1595.22" x2="1605.63" x3="1625.42" y1="2376.13" y2="2410.51" y3="2440.97"/> + <curve x1="1645.48" x2="1672.95" x3="1707.85" y1="2471.18" y2="2493.84" y3="2508.94"/> + <curve x1="1743" x2="1786.49" x3="1838.31" y1="2524.05" y2="2531.6" y3="2531.6"/> + <curve x1="1879.2" x2="1915.92" x3="1948.47" y1="2531.6" y2="2524.18" y3="2509.33"/> + <curve x1="1981.28" x2="2006.41" x3="2023.86" y1="2494.23" y2="2473.27" y3="2446.44"/> + <curve x1="2041.31" x2="2050.03" x3="2050.03" y1="2419.36" y2="2390.58" y3="2360.12"/> + <curve x1="2050.03" x2="2042.09" x3="2026.21" y1="2329.39" y2="2302.3" y3="2278.87"/> + <curve x1="2010.32" x2="1985.71" x3="1952.38" y1="2255.17" y2="2235.64" y3="2220.27"/> + <curve x1="1929.46" x2="1887.14" x3="1825.42" y1="2209.85" y2="2197.75" y3="2183.94"/> + <curve x1="1763.97" x2="1725.94" x3="1711.36" y1="2169.88" y2="2156.21" y3="2142.93"/> + <curve x1="1696.52" x2="1689.1" x3="1689.1" y1="2129.65" y2="2112.72" y3="2092.15"/> + <curve x1="1689.1" x2="1699.51" x3="1720.35" y1="2068.45" y2="2048.27" y3="2031.6"/> + <curve x1="1741.44" x2="1774.9" x3="1820.74" y1="2014.67" y2="2006.21" y3="2006.21"/> + <curve x1="1864.75" x2="1897.95" x3="1920.35" y1="2006.21" y2="2015.45" y3="2033.94"/> + <curve x1="1943" x2="1956.28" x3="1960.19" y1="2052.43" y2="2079.78" y3="2115.97"/> + <line x="2032.85" y="2110.51"/> + <curve x1="2031.54" x2="2022.17" x3="2004.72" y1="2076.91" y2="2046.83" y3="2020.27"/> + <curve x1="1987.27" x2="1962.27" x3="1929.72" y1="1993.71" y2="1973.66" y3="1960.12"/> + <curve x1="1897.43" x2="1860.06" x3="1817.61" y1="1946.31" y2="1939.41" y3="1939.41"/> + <close/> + <move x="950.42" y="1949.18"/> + <line x="950.42" y="2521.83"/> + <line x="1023.47" y="2521.83"/> + <line x="1023.47" y="2034.33"/> + <line x="1189.1" y="2521.83"/> + <line x="1257.46" y="2521.83"/> + <line x="1423.86" y="2042.54"/> + <line x="1423.86" y="2521.83"/> + <line x="1496.91" y="2521.83"/> + <line x="1496.91" y="1949.18"/> + <line x="1394.96" y="1949.18"/> + <line x="1257.85" y="2347.62"/> + <curve x1="1244.04" x2="1233.89" x3="1227.38" y1="2387.98" y2="2418.58" y3="2439.41"/> + <curve x1="1221.65" x2="1212.53" x3="1200.03" y1="2420.66" y2="2392.41" y3="2354.65"/> + <line x="1064.49" y="1949.18"/> + <close/> + <move x="2155.89" y="1949.18"/> + <line x="2155.89" y="2521.83"/> + <line x="2583.24" y="2521.83"/> + <line x="2583.24" y="2454.26"/> + <line x="2231.67" y="2454.26"/> + <line x="2231.67" y="2259.33"/> + <line x="2548.47" y="2259.33"/> + <line x="2548.47" y="2192.15"/> + <line x="2231.67" y="2192.15"/> + <line x="2231.67" y="2016.76"/> + <line x="2569.96" y="2016.76"/> + <line x="2569.96" y="1949.18"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="1632.78" y="1543.12"/> + <line x="1904.06" y="1543.12"/> + <line x="1904.06" y="1573.74"/> + <line x="1632.78" y="1573.74"/> + <close/> + <move x="1632.78" y="1471.85"/> + <line x="1904.06" y="1471.85"/> + <line x="1904.06" y="1502.47"/> + <line x="1632.78" y="1502.47"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="netflow router3" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="394.49" y="78.08"/> + <curve x1="393.27" x2="392.04" x3="390.81" y1="78.08" y2="78.09" y3="78.12"/> + <curve x1="351.5" x2="310.23" x3="270.71" y1="78.84" y2="89.42" y3="114.48"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="269.96" x-axis-rotation="0" y="114.99"/> + <curve x1="194.82" x2="160.82" x3="148.66" y1="169.2" y2="234.84" y3="308.39"/> + <curve x1="98.24" x2="70.08" x3="55.9" y1="329.49" y2="358.77" y3="400.13"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="55.35" x-axis-rotation="0" y="402.23"/> + <curve x1="46.96" x2="52.88" x3="98.02" y1="446.63" y2="501.55" y3="535.33"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="98.19" x-axis-rotation="0" y="535.46"/> + <curve x1="122.3" x2="148.02" x3="175.33" y1="552.96" y2="561.49" y3="565.86"/> + <line x="154.46" y="586.78"/> + <line x="198.49" y="630.7"/> + <line x="244.13" y="584.94"/> + <curve x1="280.35" x2="324.82" x3="392.95" y1="618.26" y2="645.42" y3="645.42"/> + <curve x1="474.21" x2="529.26" x3="576.64" y1="645.42" y2="609.76" y3="561.08"/> + <curve x1="649.06" x2="721.87" x3="786.47" y1="572.67" y2="580.09" y3="562.47"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="787.02" x-axis-rotation="0" y="562.31"/> + <curve x1="849.88" x2="892.61" x3="890.01" y1="542.57" y2="493.47" y3="425.99"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="889.9" x-axis-rotation="0" y="424.64"/> + <curve x1="882.99" x2="841.91" x3="787.86" y1="370.78" y2="325.07" y3="308.35"/> + <curve x1="777.43" x2="761.39" x3="730.09" y1="279.4" y2="250.99" y3="226.46"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="729.46" x-axis-rotation="0" y="225.99"/> + <curve x1="694.56" x2="654.36" x3="607.42" y1="201.5" y2="193.47" y3="205.06"/> + <curve x1="587.53" x2="557.59" x3="500.08" y1="168.41" y2="132" y3="101.29"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="499.19" x-axis-rotation="0" y="100.84"/> + <curve x1="468.48" x2="432.46" x3="394.49" y1="86.96" y2="77.96" y3="78.08"/> + <close/> + <move x="398.23" y="108.16"/> + <curve x1="429.95" x2="460.05" x3="486.22" y1="108.63" y2="116.43" y3="128.19"/> + <curve x1="544.01" x2="568.53" x3="586.46" y1="159.16" y2="192.62" y3="229.23"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="604.52" x-axis-rotation="0" y="237.02"/> + <curve x1="649.97" x2="680.25" x3="711.77" y1="222.88" y2="228.55" y3="250.56"/> + <curve x1="740.39" x2="752.72" x3="761.96" y1="273.12" y2="296.85" y3="325.13"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="772.67" x-axis-rotation="0" y="335.1"/> + <curve x1="818.6" x2="854.01" x3="859.78" y1="346.56" y2="385.3" y3="427.86"/> + <curve x1="861.59" x2="831.56" x3="778.24" y1="482.3" y2="516.52" y3="533.36"/> + <curve x1="719.42" x2="647.48" x3="573.75" y1="549.32" y2="542.21" y3="530.11"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="560.3" x-axis-rotation="0" y="534.66"/> + <curve x1="514.27" x2="468.61" x3="392.95" y1="583.53" y2="615.19" y3="615.19"/> + <curve x1="333.05" x2="297.58" x3="265.21" y1="615.19" y2="593.92" y3="563.81"/> + <line x="311.92" y="516.99"/> + <curve x1="340.29" x2="373.86" x3="409.81" y1="534.93" y2="545.34" y3="545.34"/> + <curve x1="511.07" x2="593.58" x3="593.58" y1="545.34" y2="462.83" y3="361.57"/> + <curve x1="593.58" x2="511.07" x3="409.81" y1="260.31" y2="177.81" y3="177.81"/> + <curve x1="308.55" x2="226.05" x3="226.05" y1="177.81" y2="260.31" y3="361.57"/> + <curve x1="226.05" x2="240.87" x3="265.64" y1="404.47" y2="444.01" y3="475.33"/> + <line x="202.38" y="538.74"/> + <curve x1="169.04" x2="141.46" x3="116.04" y1="536.02" y2="529.46" y3="511.03"/> + <curve x1="82.8" x2="78.12" x3="84.95" y1="486.08" y2="446.36" y3="408.95"/> + <curve x1="97.68" x2="116.87" x3="167.49" y1="372.51" y2="352.01" y3="332.8"/> + <arc large-arc-flag="0" rx="15.12" ry="15.12" sweep-flag="0" x="177.1" x-axis-rotation="0" y="320.8"/> + <curve x1="187.19" x2="215.5" x3="287.24" y1="249.9" y2="191.74" y3="139.83"/> + <curve x1="321.89" x2="357.71" x3="391.86" y1="117.94" y2="108.73" y3="108.17"/> + <curve x1="393.99" x2="396.11" x3="398.23" y1="108.13" y2="108.13" y3="108.16"/> + <close/> + <move x="409.81" y="216.68"/> + <curve x1="490.06" x2="554.71" x3="554.71" y1="216.68" y2="281.32" y3="361.57"/> + <curve x1="554.71" x2="490.06" x3="409.81" y1="441.82" y2="506.47" y3="506.47"/> + <curve x1="329.56" x2="264.92" x3="264.92" y1="506.47" y2="441.82" y3="361.57"/> + <curve x1="264.92" x2="329.56" x3="409.81" y1="281.32" y2="216.68" y3="216.68"/> + <close/> + <move x="325.51" y="278.09"/> + <line x="325.51" y="288.78"/> + <line x="325.51" y="442.63"/> + <line x="492.03" y="442.63"/> + <line x="492.03" y="278.09"/> + <close/> + <move x="346.89" y="299.46"/> + <line x="470.65" y="299.46"/> + <line x="470.65" y="421.25"/> + <line x="346.89" y="421.25"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="net mgmt appliance" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="387.39" y="156.19"/> + <curve x1="288.93" x2="208.71" x3="208.71" y1="156.19" y2="236.42" y3="334.88"/> + <curve x1="208.71" x2="223.11" x3="247.2" y1="376.6" y2="415.04" y3="445.5"/> + <line x="139.1" y="553.87"/> + <line x="181.91" y="596.57"/> + <line x="292.21" y="486.01"/> + <curve x1="319.79" x2="352.44" x3="387.39" y1="503.45" y2="513.57" y3="513.57"/> + <curve x1="485.86" x2="566.09" x3="566.09" y1="513.57" y2="433.34" y3="334.88"/> + <curve x1="566.09" x2="485.86" x3="387.39" y1="236.42" y2="156.19" y3="156.19"/> + <close/> + <move x="387.39" y="193.99"/> + <curve x1="465.43" x2="528.29" x3="528.29" y1="193.99" y2="256.84" y3="334.88"/> + <curve x1="528.29" x2="465.43" x3="387.39" y1="412.92" y2="475.78" y3="475.78"/> + <curve x1="309.35" x2="246.5" x3="246.5" y1="475.78" y2="412.92" y3="334.88"/> + <curve x1="246.5" x2="309.35" x3="387.39" y1="256.84" y2="193.99" y3="193.99"/> + <close/> + <move x="305.42" y="253.7"/> + <line x="305.42" y="264.09"/> + <line x="305.42" y="413.7"/> + <line x="467.34" y="413.7"/> + <line x="467.34" y="253.7"/> + <close/> + <move x="326.21" y="274.49"/> + <line x="446.55" y="274.49"/> + <line x="446.55" y="392.92"/> + <line x="326.21" y="392.92"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="next generation intrusion prevention system" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="372.48" y="92"/> + <line x="362.96" y="103.77"/> + <curve x1="307.47" x2="230.63" x3="156.41" y1="172.3" y2="182.61" y3="170.54"/> + <line x="142.44" y="168.26"/> + <line x="143.27" y="182.39"/> + <curve x1="149.85" x2="161.48" x3="199.72" y1="293.82" y2="359.46" y3="452.27"/> + <curve x1="235.46" x2="299.86" x3="366.73" y1="544.73" y2="605.52" y3="636.87"/> + <line x="371.72" y="639.21"/> + <line x="376.65" y="636.72"/> + <curve x1="466.44" x2="517.01" x3="550.04" y1="591.35" y2="515.83" y3="434.32"/> + <line x="550.14" y="434.09"/> + <line x="550.22" y="433.86"/> + <curve x1="576.29" x2="591.39" x3="598.89" y1="360.49" y2="290.27" y3="183.05"/> + <line x="599.9" y="168.75"/> + <line x="585.76" y="171.07"/> + <curve x1="495.71" x2="423.29" x3="381.09" y1="185.82" y2="165.46" y3="104.45"/> + <close/> + <move x="371.18" y="127.96"/> + <curve x1="417.41" x2="490.91" x3="574.97" y1="185.1" y2="205.55" y3="195.11"/> + <curve x1="567.27" x2="553.15" x3="528.92" y1="292.5" y2="357.81" y3="426.05"/> + <curve x1="497.72" x2="451.87" x3="371.3" y1="502.94" y2="571.13" y3="613.67"/> + <curve x1="311.32" x2="253.54" x3="220.82" y1="584.05" y2="528.7" y3="443.98"/> + <line x="220.77" y="443.86"/> + <line x="220.73" y="443.74"/> + <curve x1="184.95" x2="173.64" x3="167" y1="356.93" y2="295.98" y3="194.62"/> + <curve x1="238.17" x2="314.28" x3="371.18" y1="203.31" y2="190.06" y3="127.96"/> + <close/> + <move x="409.36" y="196.37"/> + <line x="332.25" y="196.38"/> + <curve x1="327.01" x2="324.23" x3="322.56" y1="196.38" y2="200.65" y3="206.01"/> + <line x="306.29" y="263.51"/> + <curve x1="292.36" x2="277.14" x3="265.23" y1="264.36" y2="266.84" y3="271.61"/> + <curve x1="258.01" x2="249.88" x3="249.88" y1="274.59" y2="279.92" y3="282.82"/> + <curve x1="249.88" x2="253.9" x3="256.58" y1="286.25" y2="289.13" y3="289.99"/> + <curve x1="267.59" x2="285.11" x3="298.06" y1="293.91" y2="296.68" y3="297.87"/> + <curve x1="293.53" x2="291.12" x3="298" y1="311.56" y2="325.5" y3="345.01"/> + <line x="294.5" y="345.01"/> + <curve x1="290.14" x2="282.69" x3="282.69" y1="345.01" y2="350.05" y3="359.51"/> + <line x="282.75" y="373.19"/> + <curve x1="273.93" x2="265.06" x3="265.06" y1="373.19" y2="381.58" y3="392.82"/> + <line x="265.06" y="474.51"/> + <curve x1="265.06" x2="277.29" x3="286.56" y1="486.65" y2="495.97" y3="495.97"/> + <line x="366.59" y="495.97"/> + <line x="366.59" y="394.4"/> + <line x="375.06" y="394.31"/> + <line x="375.06" y="495.97"/> + <line x="454.41" y="495.97"/> + <curve x1="464.94" x2="476.37" x3="476.37" y1="495.97" y2="485.1" y3="472.49"/> + <line x="476.37" y="394.25"/> + <curve x1="476.37" x2="470.75" x3="459.47" y1="386.32" y2="373.37" y3="373.37"/> + <line x="459.44" y="359.17"/> + <curve x1="459.44" x2="453.15" x3="446.61" y1="352.51" y2="344.96" y3="344.96"/> + <line x="443.74" y="345.11"/> + <curve x1="449.39" x2="449.59" x3="444.16" y1="331.83" y2="315.46" y3="297.79"/> + <curve x1="454.57" x2="466.25" x3="478.43" y1="296.15" y2="294.14" y3="290.21"/> + <curve x1="484.45" x2="488.84" x3="488.84" y1="288.5" y2="285.51" y3="282.77"/> + <curve x1="488.84" x2="483.4" x3="477.5" y1="280.42" y2="276.67" y3="273.76"/> + <curve x1="461.2" x2="447.25" x3="434" y1="265.86" y2="262.83" y3="261.26"/> + <line x="420.03" y="209.2"/> + <curve x1="418.34" x2="415.5" x3="409.36" y1="201.62" y2="196.37" y3="196.37"/> + <close/> + <move x="315.25" y="299.76"/> + <curve x1="334.76" x2="393.99" x3="426.38" y1="302.49" y2="303.23" y3="299.76"/> + <curve x1="429.79" x2="428.62" x3="428.62" y1="310.69" y2="322.6" y3="333.51"/> + <curve x1="428.62" x2="424.5" x3="421.56" y1="339.98" y2="344.99" y3="344.99"/> + <line x="414.19" y="344.99"/> + <curve x1="406.7" x2="401.5" x3="401.5" y1="344.99" y2="351.71" y3="359.26"/> + <line x="401.5" y="384.23"/> + <curve x1="382.7" x2="357.68" x3="340.09" y1="392.33" y2="392.61" y3="384.26"/> + <line x="340.09" y="358.64"/> + <curve x1="340.09" x2="334.05" x3="328.15" y1="350.21" y2="344.99" y3="344.99"/> + <line x="320.88" y="344.99"/> + <curve x1="316.77" x2="312.76" x3="312.76" y1="344.99" y2="339.77" y3="333.2"/> + <curve x1="312.76" x2="312.38" x3="315.25" y1="317.17" y2="306.51" y3="299.76"/> + <close/> + <move x="331.94" y="307.98"/> + <curve x1="329.02" x2="328.25" x3="328.25" y1="307.98" y2="309.09" y3="311.63"/> + <line x="328.25" y="327.82"/> + <curve x1="328.25" x2="332.8" x3="337.12" y1="333.63" y2="338.32" y3="338.32"/> + <line x="352.44" y="338.32"/> + <curve x1="356.76" x2="361.38" x3="361.38" y1="338.32" y2="334.92" y3="329.7"/> + <line x="361.38" y="313.38"/> + <curve x1="361.38" x2="359.72" x3="355.38" y1="309.66" y2="307.98" y3="307.98"/> + <close/> + <move x="388.42" y="307.98"/> + <curve x1="384.08" x2="382.42" x3="382.42" y1="307.98" y2="309.66" y3="313.38"/> + <line x="382.42" y="329.7"/> + <curve x1="382.42" x2="387.04" x3="391.36" y1="334.92" y2="338.32" y3="338.32"/> + <line x="406.67" y="338.32"/> + <curve x1="410.99" x2="415.55" x3="415.55" y1="338.32" y2="333.63" y3="327.82"/> + <line x="415.55" y="311.63"/> + <curve x1="415.55" x2="414.78" x3="411.86" y1="309.09" y2="307.98" y3="307.98"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nexus 1010" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="402.15" y="130.5"/> + <line x="402.15" y="130.5"/> + <curve x1="347.95" x2="302.3" x3="263.5" y1="130.84" y2="149.56" y3="181.51"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="263.3" x-axis-rotation="0" y="181.67"/> + <curve x1="212" x2="192.68" x3="182.77" y1="225.94" y2="274.65" y3="322.36"/> + <curve x1="138.2" x2="109.63" x3="100.45" y1="339.32" y2="367.84" y3="403.12"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="100.29" x-axis-rotation="0" y="403.86"/> + <curve x1="91.99" x2="109.06" x3="151.24" y1="447.75" y2="489.95" y3="515.65"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="152.61" x-axis-rotation="0" y="516.36"/> + <curve x1="186.22" x2="214.39" x3="253.52" y1="531.02" y2="535.39" y3="536.61"/> + <curve x1="272.72" x2="292.02" x3="320.81" y1="555.45" y2="569.14" y3="581.53"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="320.94" x-axis-rotation="0" y="581.59"/> + <curve x1="374.22" x2="430.44" x3="482.81" y1="603.72" y2="603.08" y3="582.81"/> + <curve x1="512.29" x2="538.87" x3="563.14" y1="573.33" y2="551.97" y3="529.21"/> + <curve x1="625.34" x2="690.06" x3="741.62" y1="536.29" y2="542.21" y3="531.35"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="742.03" x-axis-rotation="0" y="531.26"/> + <curve x1="774.28" x2="801.71" x3="819.94" y1="523.23" y2="509.05" y3="488.06"/> + <curve x1="838.18" x2="846.29" x3="839.8" y1="467.07" y2="438.9" y3="407.46"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="839.73" x-axis-rotation="0" y="407.17"/> + <curve x1="833.33" x2="818.94" x3="801.68" y1="379.76" y2="360.44" y3="346.73"/> + <curve x1="785.61" x2="767.35" x3="749.93" y1="333.96" y2="325.77" y3="317.97"/> + <curve x1="739.17" x2="717.1" x3="697.27" y1="290.99" y2="264.2" y3="250.7"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="697.04" x-axis-rotation="0" y="250.55"/> + <curve x1="661.81" x2="624.93" x3="591.9" y1="227.8" y2="226.59" y3="235.36"/> + <curve x1="565.35" x2="522.72" x3="460.07" y1="191.22" y2="154.5" y3="136.67"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="459.27" x-axis-rotation="0" y="136.48"/> + <curve x1="439.24" x2="420.22" x3="402.15" y1="132.31" y2="130.38" y3="130.5"/> + <close/> + <move x="402.25" y="152.95"/> + <curve x1="418.49" x2="435.78" x3="454.27" y1="152.95" y2="154.8" y3="158.62"/> + <curve x1="514.73" x2="553.03" x3="576.55" y1="175.95" y2="210.95" y3="253.66"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="590.01" x-axis-rotation="0" y="258.97"/> + <curve x1="620.53" x2="652.24" x3="684.61" y1="248.98" y2="248.69" y3="269.54"/> + <curve x1="699.53" x2="723.32" x3="730.71" y1="279.74" y2="308.74" y3="330.2"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="736.79" x-axis-rotation="0" y="336.86"/> + <curve x1="755.44" x2="773.42" x3="787.57" y1="345.2" y2="353.25" y3="364.5"/> + <curve x1="801.69" x2="812.3" x3="817.6" y1="375.71" y2="389.67" y3="412.16"/> + <curve x1="822.82" x2="816.89" x3="802.83" y1="437.58" y2="457" y3="473.19"/> + <curve x1="788.78" x2="765.72" x3="736.79" y1="489.35" y2="501.94" y3="509.18"/> + <curve x1="689.49" x2="623.92" x3="560.58" y1="519.1" y2="513.41" y3="506.13"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="551.46" x-axis-rotation="0" y="509.19"/> + <curve x1="527.03" x2="500.73" x3="475.82" y1="532.46" y2="553.25" y3="561.25"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="475.17" x-axis-rotation="0" y="561.48"/> + <curve x1="427.54" x2="377.82" x3="329.68" y1="580.06" y2="580.64" y3="560.65"/> + <curve x1="329.67" x2="329.66" x3="329.65" y1="560.65" y2="560.65" y3="560.65"/> + <curve x1="301.39" x2="285.22" x3="266.3" y1="548.47" y2="536.7" y3="517.54"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="258.51" x-axis-rotation="0" y="514.17"/> + <curve x1="218.4" x2="194.33" x3="162.45" y1="513.2" y2="509.66" y3="495.87"/> + <curve x1="127.56" x2="115.9" x3="122.55" y1="474.33" y2="444.33" y3="408.47"/> + <curve x1="130.14" x2="152.94" x3="196.11" y1="379.83" y2="355.9" y3="341.11"/> + <arc large-arc-flag="0" rx="11.34" ry="11.34" sweep-flag="0" x="203.56" x-axis-rotation="0" y="332.53"/> + <curve x1="212.6" x2="228.82" x3="278.02" y1="285.51" y2="241.43" y3="198.94"/> + <curve x1="313.54" x2="353.2" x3="402.25" y1="169.72" y2="152.97" y3="152.95"/> + <close/> + <move x="548.57" y="301.14"/> + <curve x1="514.17" x2="484.48" x3="471.19" y1="301.14" y2="321.74" y3="351.24"/> + <line x="431.61" y="328.02"/> + <line x="431.61" y="369.63"/> + <line x="361.61" y="369.63"/> + <line x="361.61" y="328.02"/> + <line x="262.68" y="386.06"/> + <line x="361.61" y="443.92"/> + <line x="361.61" y="402.31"/> + <line x="431.61" y="402.31"/> + <line x="431.61" y="443.92"/> + <line x="471.21" y="420.75"/> + <curve x1="484.52" x2="514.19" x3="548.57" y1="450.23" y2="470.8" y3="470.8"/> + <curve x1="595.34" x2="633.4" x3="633.4" y1="470.8" y2="432.74" y3="385.97"/> + <curve x1="633.4" x2="595.34" x3="548.57" y1="339.2" y2="301.14" y3="301.14"/> + <close/> + <move x="548.57" y="314.37"/> + <curve x1="588.19" x2="620.18" x3="620.18" y1="314.37" y2="346.35" y3="385.97"/> + <curve x1="620.18" x2="588.19" x3="548.57" y1="425.59" y2="457.57" y3="457.57"/> + <curve x1="518.92" x2="493.56" x3="482.67" y1="457.57" y2="439.67" y3="414.05"/> + <line x="530.54" y="386.06"/> + <line x="482.64" y="357.96"/> + <curve x1="493.51" x2="518.9" x3="548.57" y1="332.31" y2="314.37" y3="314.37"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="nexus 1k" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="154.17" y="148.17"/> + <line x="174.42" y="167.82"/> + <line x="181.52" y="140.51"/> + <line x="171.5" y="143.32"/> + <line x="164.98" y="120.01"/> + <line x="157.45" y="122.12"/> + <line x="163.98" y="145.42"/> + <close/> + <move x="94.14" y="148.33"/> + <line x="73.88" y="167.98"/> + <line x="66.78" y="140.67"/> + <line x="76.8" y="143.47"/> + <line x="83.33" y="120.17"/> + <line x="90.85" y="122.27"/> + <line x="84.32" y="145.58"/> + <close/> + <move x="137.66" y="148.48"/> + <line x="123.45" y="172.87"/> + <line x="109.25" y="148.48"/> + <line x="119.65" y="148.48"/> + <line x="119.65" y="124.28"/> + <line x="127.47" y="124.28"/> + <line x="127.47" y="148.48"/> + <close/> + <move x="52.11" y="148.09"/> + <line x="21.8" y="166.25"/> + <line x="22.41" y="130.96"/> + <line x="33.78" y="137.52"/> + <line x="51.94" y="106.02"/> + <line x="58.71" y="109.93"/> + <line x="40.55" y="141.42"/> + <close/> + <move x="197.6" y="148.41"/> + <line x="227.92" y="166.58"/> + <line x="227.31" y="131.29"/> + <line x="215.94" y="137.84"/> + <line x="197.78" y="106.35"/> + <line x="191.01" y="110.25"/> + <line x="209.17" y="141.75"/> + <close/> + <move x="81.21" y="50.81"/> + <line x="64.02" y="19.94"/> + <line x="46.92" y="50.81"/> + <line x="60.05" y="50.81"/> + <line x="60.05" y="87.17"/> + <line x="67.87" y="87.17"/> + <line x="67.87" y="50.81"/> + <close/> + <move x="123.21" y="59.53"/> + <curve x1="138.3" x2="150.45" x3="150.45" y1="59.53" y2="71.68" y3="86.76"/> + <curve x1="150.45" x2="138.3" x3="123.21" y1="101.85" y2="114" y3="114"/> + <curve x1="108.13" x2="95.98" x3="95.98" y1="114" y2="101.85" y3="86.76"/> + <curve x1="95.98" x2="108.13" x3="123.21" y1="71.68" y2="59.53" y3="59.53"/> + <close/> + <move x="123.21" y="52.53"/> + <curve x1="104.35" x2="88.98" x3="88.98" y1="52.53" y2="67.89" y3="86.76"/> + <curve x1="88.98" x2="104.35" x3="123.21" y1="105.63" y2="121" y3="121"/> + <curve x1="142.08" x2="157.45" x3="157.45" y1="121" y2="105.63" y3="86.76"/> + <curve x1="157.45" x2="142.08" x3="123.21" y1="67.89" y2="52.53" y3="52.53"/> + <close/> + <move x="197.91" y="50.79"/> + <line x="180.72" y="19.91"/> + <line x="163.62" y="50.79"/> + <line x="176.75" y="50.79"/> + <line x="176.75" y="87.14"/> + <line x="184.57" y="87.14"/> + <line x="184.57" y="50.79"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="nexus 1kv vsm" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="171.83" y="54"/> + <line x="154.64" y="23.12"/> + <line x="137.54" y="54"/> + <line x="150.67" y="54"/> + <line x="150.67" y="90.36"/> + <line x="158.49" y="90.36"/> + <line x="158.49" y="54"/> + <close/> + <move x="110.94" y="54"/> + <line x="93.75" y="23.12"/> + <line x="76.65" y="54"/> + <line x="89.78" y="54"/> + <line x="89.78" y="90.36"/> + <line x="97.59" y="90.36"/> + <line x="97.59" y="54"/> + <close/> + <move x="195.46" y="117.44"/> + <line x="219.86" y="133.75"/> + <line x="195.46" y="150.72"/> + <line x="195.46" y="139.43"/> + <line x="168.7" y="139.43"/> + <line x="168.7" y="128.61"/> + <line x="195.46" y="128.61"/> + <close/> + <move x="53.22" y="117.44"/> + <line x="28.83" y="133.75"/> + <line x="53.22" y="150.72"/> + <line x="53.22" y="139.43"/> + <line x="79.99" y="139.43"/> + <line x="79.99" y="128.61"/> + <line x="53.22" y="128.61"/> + <close/> + <move x="125.48" y="101.66"/> + <curve x1="106.62" x2="91.25" x3="91.25" y1="101.66" y2="117.03" y3="135.9"/> + <curve x1="91.25" x2="106.62" x3="125.48" y1="154.77" y2="170.13" y3="170.13"/> + <curve x1="144.35" x2="159.72" x3="159.72" y1="170.13" y2="154.77" y3="135.9"/> + <curve x1="159.72" x2="144.35" x3="125.48" y1="117.03" y2="101.66" y3="101.66"/> + <close/> + <move x="125.48" y="108.66"/> + <curve x1="140.57" x2="152.72" x3="152.72" y1="108.66" y2="120.81" y3="135.9"/> + <curve x1="152.72" x2="140.57" x3="125.48" y1="150.98" y2="163.13" y3="163.13"/> + <curve x1="110.4" x2="98.25" x3="98.25" y1="163.13" y2="150.98" y3="135.9"/> + <curve x1="98.25" x2="110.4" x3="125.48" y1="120.81" y2="108.66" y3="108.66"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nexus 2000 10ge" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="408.4" y="73.78"/> + <line x="392.97" y="121.04"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="358.23" x-axis-rotation="0" y="133.75"/> + <line x="267.15" y="133.66"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="244" x-axis-rotation="0" y="122.24"/> + <line x="257.73" y="80.19"/> + <line x="243.36" y="75.49"/> + <line x="228.49" y="121.03"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="193.19" x-axis-rotation="0" y="133.59"/> + <line x="122.32" y="133.52"/> + <line x="122.31" y="148.64"/> + <line x="195.92" y="148.71"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="216.67" x-axis-rotation="0" y="157.21"/> + <line x="193.23" y="228.99"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="192.27" x-axis-rotation="0" y="228.96"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="158.63" x-axis-rotation="0" y="238.13"/> + <line x="98.2" y="238.07"/> + <line x="98.18" y="253.19"/> + <line x="154.96" y="253.25"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="181.28" x-axis-rotation="0" y="265.57"/> + <line x="160.28" y="329.88"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="158.93" x-axis-rotation="0" y="329.85"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="125.8" x-axis-rotation="0" y="338.63"/> + <line x="74.47" y="338.58"/> + <line x="74.45" y="353.7"/> + <line x="121.35" y="353.74"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="148.31" x-axis-rotation="0" y="366.51"/> + <line x="136.84" y="401.63"/> + <line x="151.21" y="406.32"/> + <line x="164.04" y="367.04"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="196.46" x-axis-rotation="0" y="353.82"/> + <line x="287.39" y="353.91"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="312.86" x-axis-rotation="0" y="366.32"/> + <line x="301.89" y="399.91"/> + <line x="316.26" y="404.6"/> + <line x="328.5" y="367.13"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="362.29" x-axis-rotation="0" y="353.98"/> + <line x="454.43" y="354.07"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="477.73" x-axis-rotation="0" y="365.96"/> + <line x="466.17" y="401.34"/> + <line x="480.54" y="406.03"/> + <line x="493.22" y="367.2"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="529.11" x-axis-rotation="0" y="354.15"/> + <line x="587.35" y="354.21"/> + <line x="587.37" y="339.09"/> + <line x="525.42" y="339.03"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="505.05" x-axis-rotation="0" y="330.98"/> + <line x="526.17" y="266.32"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="562.4" x-axis-rotation="0" y="253.65"/> + <line x="611.09" y="253.69"/> + <line x="611.11" y="238.57"/> + <line x="559.47" y="238.52"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="538.04" x-axis-rotation="0" y="229.99"/> + <line x="561.44" y="158.33"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="563.5" x-axis-rotation="0" y="158.38"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="597.26" x-axis-rotation="0" y="149.11"/> + <line x="635.21" y="149.14"/> + <line x="635.22" y="134.03"/> + <line x="600.73" y="133.99"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="573.43" x-axis-rotation="0" y="121.64"/> + <line x="587.06" y="79.9"/> + <line x="572.69" y="75.21"/> + <line x="557.66" y="121.23"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="526.29" x-axis-rotation="0" y="133.92"/> + <line x="432.42" y="133.83"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="408.51" x-axis-rotation="0" y="122.12"/> + <line x="422.77" y="78.47"/> + <close/> + <move x="264.33" y="148.78"/> + <line x="361.27" y="148.87"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="381.19" x-axis-rotation="0" y="157.1"/> + <line x="357.72" y="228.97"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="324.09" x-axis-rotation="0" y="238.29"/> + <line x="225.98" y="238.2"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="208.58" x-axis-rotation="0" y="230.68"/> + <line x="232.21" y="158.34"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="264.33" x-axis-rotation="0" y="148.78"/> + <close/> + <move x="429.29" y="148.94"/> + <line x="529.66" y="149.04"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="546.16" x-axis-rotation="0" y="156.42"/> + <line x="522.45" y="229.02"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="491.31" x-axis-rotation="0" y="238.46"/> + <line x="391.84" y="238.36"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="373.14" x-axis-rotation="0" y="230.43"/> + <line x="396.68" y="158.36"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="429.29" x-axis-rotation="0" y="148.94"/> + <close/> + <move x="229.55" y="253.32"/> + <line x="320.74" y="253.41"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="345.82" x-axis-rotation="0" y="265.41"/> + <line x="324.77" y="329.85"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="291.51" x-axis-rotation="0" y="338.79"/> + <line x="192.17" y="338.7"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="175.6" x-axis-rotation="0" y="331.65"/> + <line x="196.99" y="266.18"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="229.55" x-axis-rotation="0" y="253.32"/> + <close/> + <move x="395.09" y="253.48"/> + <line x="488.29" y="253.57"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="510.71" x-axis-rotation="0" y="264.97"/> + <line x="489.51" y="329.89"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="458.22" x-axis-rotation="0" y="338.96"/> + <line x="358.29" y="338.86"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="340.19" x-axis-rotation="0" y="331.35"/> + <line x="361.45" y="266.25"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="395.09" x-axis-rotation="0" y="253.48"/> + <close/> + <move x="559.92" y="452.34"/> + <line x="540.71" y="470.72"/> + <line x="554.31" y="470.72"/> + <line x="554.31" y="509.81"/> + <curve x1="541.2" x2="528.73" x3="517.76" y1="498.6" y2="489.22" y3="482.27"/> + <curve x1="508.74" x2="500.79" x3="493.96" y1="476.55" y2="472.44" y3="470.29"/> + <curve x1="490.54" x2="487.4" x3="484.33" y1="469.21" y2="468.59" y3="468.7"/> + <curve x1="481.27" x2="478.04" x3="475.71" y1="468.8" y2="469.78" y3="472.14"/> + <curve x1="473.38" x2="472.45" x3="472.4" y1="474.51" y2="477.75" y3="480.81"/> + <curve x1="472.34" x2="473" x3="474.13" y1="483.88" y2="487.02" y3="490.41"/> + <curve x1="476.4" x2="480.63" x3="486.48" y1="497.21" y2="505.1" y3="514.04"/> + <curve x1="493.48" x2="502.83" x3="513.98" y1="524.7" y2="536.78" y3="549.46"/> + <line x="475.57" y="549.46"/> + <line x="475.57" y="535.86"/> + <line x="457.18" y="555.08"/> + <line x="475.57" y="573.54"/> + <line x="475.57" y="560.92"/> + <line x="513.11" y="560.92"/> + <curve x1="502.35" x2="493.3" x3="486.48" y1="573.25" y2="584.98" y3="595.37"/> + <curve x1="480.62" x2="476.4" x3="474.14" y1="604.3" y2="612.19" y3="618.99"/> + <curve x1="473.01" x2="472.34" x3="472.39" y1="622.39" y2="625.52" y3="628.59"/> + <curve x1="472.45" x2="473.38" x3="475.71" y1="631.65" y2="634.89" y3="637.26"/> + <curve x1="478.04" x2="481.26" x3="484.33" y1="639.63" y2="640.6" y3="640.71"/> + <curve x1="487.4" x2="490.54" x3="493.96" y1="640.81" y2="640.19" y3="639.12"/> + <curve x1="500.78" x2="508.74" x3="517.76" y1="636.96" y2="632.85" y3="627.13"/> + <curve x1="528.73" x2="541.2" x3="554.31" y1="620.18" y2="610.8" y3="599.59"/> + <line x="554.31" y="638.68"/> + <line x="540.71" y="638.68"/> + <line x="559.92" y="657.06"/> + <line x="578.38" y="638.68"/> + <line x="565.77" y="638.68"/> + <line x="565.77" y="600.43"/> + <curve x1="578.52" x2="590.64" x3="601.33" y1="611.27" y2="620.35" y3="627.13"/> + <curve x1="610.35" x2="618.31" x3="625.14" y1="632.85" y2="636.96" y3="639.12"/> + <curve x1="628.55" x2="631.69" x3="634.76" y1="640.19" y2="640.81" y3="640.71"/> + <curve x1="637.83" x2="641.06" x3="643.38" y1="640.6" y2="639.63" y3="637.26"/> + <curve x1="645.71" x2="646.64" x3="646.7" y1="634.9" y2="631.66" y3="628.59"/> + <curve x1="646.76" x2="646.09" x3="644.96" y1="625.52" y2="622.39" y3="618.99"/> + <curve x1="642.7" x2="638.47" x3="632.61" y1="612.19" y2="604.3" y3="595.37"/> + <curve x1="625.8" x2="616.75" x3="605.98" y1="584.98" y2="573.25" y3="560.92"/> + <line x="643.52" y="560.92"/> + <line x="643.52" y="573.54"/> + <line x="661.91" y="555.08"/> + <line x="643.52" y="535.86"/> + <line x="643.52" y="549.46"/> + <line x="605.12" y="549.46"/> + <curve x1="616.26" x2="625.62" x3="632.61" y1="536.78" y2="524.7" y3="514.03"/> + <curve x1="638.47" x2="642.7" x3="644.96" y1="505.1" y2="497.21" y3="490.41"/> + <curve x1="646.09" x2="646.75" x3="646.7" y1="487.02" y2="483.88" y3="480.82"/> + <curve x1="646.64" x2="645.71" x3="643.38" y1="477.75" y2="474.51" y3="472.14"/> + <curve x1="641.06" x2="637.83" x3="634.76" y1="469.78" y2="468.8" y3="468.7"/> + <curve x1="631.69" x2="628.55" x3="625.14" y1="468.59" y2="469.21" y3="470.29"/> + <curve x1="618.31" x2="610.35" x3="601.33" y1="472.45" y2="476.55" y3="482.27"/> + <curve x1="590.64" x2="578.52" x3="565.77" y1="489.05" y2="498.13" y3="508.97"/> + <line x="565.77" y="470.72"/> + <line x="578.38" y="470.72"/> + <close/> + <move x="634.4" y="479.2"/> + <curve x1="635.69" x2="635.87" x3="635.89" y1="479.24" y2="479.49" y3="479.52"/> + <curve x1="635.91" x2="636.17" x3="636.19" y1="479.53" y2="479.73" y3="481.01"/> + <curve x1="636.21" x2="635.87" x3="634.98" y1="482.3" y2="484.43" y3="487.09"/> + <curve x1="633.21" x2="629.38" x3="623.82" y1="492.42" y2="499.8" y3="508.27"/> + <curve x1="616.79" x2="607.01" x3="595.22" y1="519" y2="531.54" y3="544.77"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="570" x-axis-rotation="0" y="519.2"/> + <curve x1="583.42" x2="596.12" x3="606.96" y1="507.61" y2="498.02" y3="491.15"/> + <curve x1="615.52" x2="622.95" x3="628.3" y1="485.72" y2="482" y3="480.31"/> + <curve x1="630.98" x2="633.12" x3="634.4" y1="479.47" y2="479.16" y3="479.2"/> + <close/> + <move x="484.69" y="479.2"/> + <curve x1="485.97" x2="488.11" x3="490.79" y1="479.16" y2="479.47" y3="480.31"/> + <curve x1="496.14" x2="503.58" x3="512.13" y1="482" y2="485.72" y3="491.15"/> + <curve x1="522.97" x2="535.68" x3="549.1" y1="498.02" y2="507.61" y3="519.2"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="523.9" x-axis-rotation="0" y="544.81"/> + <curve x1="512.1" x2="502.32" x3="495.27" y1="531.56" y2="519.01" y3="508.27"/> + <curve x1="489.72" x2="485.88" x3="484.11" y1="499.8" y2="492.42" y3="487.09"/> + <curve x1="483.22" x2="482.88" x3="482.91" y1="484.43" y2="482.3" y3="481.02"/> + <curve x1="482.93" x2="483.18" x3="483.2" y1="479.73" y2="479.54" y3="479.52"/> + <curve x1="483.22" x2="483.41" x3="484.69" y1="479.5" y2="479.25" y3="479.2"/> + <close/> + <move x="275.51" y="524.17"/> + <curve x1="265.49" x2="257.11" x3="250.38" y1="524.17" y2="525.91" y3="529.4"/> + <curve x1="241.54" x2="234.84" x3="230.25" y1="533.93" y2="540.45" y3="548.95"/> + <curve x1="225.67" x2="223.38" x3="223.38" y1="557.45" y2="567.16" y3="578.09"/> + <curve x1="223.38" x2="225.43" x3="229.54" y1="588.17" y2="597.5" y3="606.09"/> + <curve x1="233.64" x2="239.78" x3="247.94" y1="614.64" y2="621.23" y3="625.86"/> + <curve x1="256.11" x2="265.68" x3="276.66" y1="630.44" y2="632.74" y3="632.74"/> + <curve x1="285.3" x2="293.82" x3="302.22" y1="632.74" y2="631.11" y3="627.87"/> + <curve x1="310.68" x2="317.12" x3="321.56" y1="624.57" y2="620.78" y3="616.48"/> + <line x="321.56" y="574.66"/> + <line x="275.87" y="574.66"/> + <line x="275.87" y="592.34"/> + <line x="300.15" y="592.34"/> + <line x="300.15" y="605.67"/> + <curve x1="296.95" x2="293.11" x3="288.62" y1="608.15" y2="610.27" y3="612.04"/> + <curve x1="284.18" x2="279.74" x3="275.3" y1="613.76" y2="614.62" y3="614.62"/> + <curve x1="266.32" x2="259.07" x3="253.53" y1="614.62" y2="611.51" y3="605.31"/> + <curve x1="247.99" x2="245.22" x3="245.22" y1="599.05" y2="589.7" y3="577.23"/> + <curve x1="245.22" x2="247.94" x3="253.38" y1="565.68" y2="556.97" y3="551.1"/> + <curve x1="258.87" x2="266.25" x3="275.51" y1="545.22" y2="542.29" y3="542.29"/> + <curve x1="281.62" x2="286.71" x3="290.77" y1="542.29" y2="543.79" y3="546.8"/> + <curve x1="294.87" x2="297.66" x3="299.14" y1="549.76" y2="553.82" y3="558.97"/> + <line x="320.2" y="555.03"/> + <curve x1="318.1" x2="313.37" x3="306.02" y1="545.39" y2="537.85" y3="532.4"/> + <curve x1="298.71" x2="288.55" x3="275.51" y1="526.91" y2="524.17" y3="524.17"/> + <close/> + <move x="94.47" y="525.53"/> + <curve x1="92.18" x2="87.95" x3="81.79" y1="531.92" y2="537.54" y3="542.36"/> + <curve x1="75.64" x2="69.93" x3="64.68" y1="547.13" y2="550.38" y3="552.1"/> + <line x="64.68" y="570.36"/> + <curve x1="74.66" x2="83.32" x3="90.68" y1="567.07" y2="561.98" y3="555.11"/> + <line x="90.68" y="630.95"/> + <line x="110.8" y="630.95"/> + <line x="110.8" y="525.53"/> + <close/> + <move x="174.96" y="525.53"/> + <curve x1="164.8" x2="156.87" x3="151.19" y1="525.53" y2="529.11" y3="536.27"/> + <curve x1="144.31" x2="140.88" x3="140.88" y1="544.96" y2="559.19" y3="578.95"/> + <curve x1="140.88" x2="144" x3="150.26" y1="599.1" y2="613.11" y3="620.99"/> + <curve x1="156.51" x2="164.75" x3="174.96" y1="628.82" y2="632.74" y3="632.74"/> + <curve x1="185.13" x2="193.06" x3="198.74" y1="632.74" y2="629.16" y3="621.99"/> + <curve x1="205.62" x2="209.05" x3="209.05" y1="613.3" y2="599.03" y3="579.17"/> + <curve x1="209.05" x2="205.64" x3="198.81" y1="559.26" y2="545.01" y3="536.41"/> + <curve x1="193.08" x2="185.13" x3="174.96" y1="529.16" y2="525.53" y3="525.53"/> + <close/> + <move x="341.04" y="525.96"/> + <line x="341.04" y="630.95"/> + <line x="420.89" y="630.95"/> + <line x="420.89" y="613.26"/> + <line x="362.24" y="613.26"/> + <line x="362.24" y="584.68"/> + <line x="414.95" y="584.68"/> + <line x="414.95" y="566.99"/> + <line x="362.24" y="566.99"/> + <line x="362.24" y="543.72"/> + <line x="418.88" y="543.72"/> + <line x="418.88" y="525.96"/> + <close/> + <move x="174.96" y="542.21"/> + <curve x1="177.4" x2="179.55" x3="181.41" y1="542.21" y2="543" y3="544.58"/> + <curve x1="183.32" x2="184.9" x3="186.14" y1="546.11" y2="549.19" y3="553.82"/> + <curve x1="187.38" x2="188" x3="188" y1="558.4" y2="566.85" y3="579.17"/> + <curve x1="188" x2="187.31" x3="185.92" y1="591.49" y2="600.22" y3="605.38"/> + <curve x1="184.87" x2="183.39" x3="181.48" y1="609.39" y2="612.18" y3="613.76"/> + <curve x1="179.57" x2="177.4" x3="174.96" y1="615.29" y2="616.05" y3="616.05"/> + <curve x1="172.53" x2="170.36" x3="168.45" y1="616.05" y2="615.29" y3="613.76"/> + <curve x1="166.59" x2="165.03" x3="163.79" y1="612.23" y2="609.18" y3="604.59"/> + <curve x1="162.55" x2="161.93" x3="161.93" y1="599.96" y2="591.49" y3="579.17"/> + <curve x1="161.93" x2="162.62" x3="164.01" y1="566.85" y2="558.09" y3="552.88"/> + <curve x1="165.06" x2="166.54" x3="168.45" y1="548.87" y2="546.11" y3="544.58"/> + <curve x1="170.36" x2="172.53" x3="174.96" y1="543" y2="542.21" y3="542.21"/> + <close/> + <move x="595.2" y="564.59"/> + <curve x1="606.99" x2="616.78" x3="623.82" y1="577.84" y2="590.4" y3="601.13"/> + <curve x1="629.38" x2="633.21" x3="634.98" y1="609.6" y2="616.99" y3="622.31"/> + <curve x1="635.87" x2="636.21" x3="636.19" y1="624.97" y2="627.11" y3="628.39"/> + <curve x1="636.17" x2="635.92" x3="635.9" y1="629.67" y2="629.87" y3="629.89"/> + <curve x1="635.88" x2="635.69" x3="634.4" y1="629.91" y2="630.16" y3="630.2"/> + <curve x1="633.12" x2="630.98" x3="628.3" y1="630.25" y2="629.94" y3="629.09"/> + <curve x1="622.95" x2="615.52" x3="606.96" y1="627.4" y2="623.68" y3="618.26"/> + <curve x1="596.12" x2="583.42" x3="570" y1="611.38" y2="601.79" y3="590.21"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="595.2" x-axis-rotation="0" y="564.59"/> + <close/> + <move x="523.87" y="564.63"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="549.09" x-axis-rotation="0" y="590.21"/> + <curve x1="535.67" x2="522.97" x3="512.13" y1="601.79" y2="611.38" y3="618.26"/> + <curve x1="503.58" x2="496.14" x3="490.79" y1="623.68" y2="627.4" y3="629.09"/> + <curve x1="488.11" x2="485.97" x3="484.69" y1="629.94" y2="630.25" y3="630.2"/> + <curve x1="483.41" x2="483.22" x3="483.2" y1="630.16" y2="629.91" y3="629.89"/> + <curve x1="483.18" x2="482.93" x3="482.9" y1="629.87" y2="629.67" y3="628.39"/> + <curve x1="482.88" x2="483.22" x3="484.11" y1="627.11" y2="624.97" y3="622.31"/> + <curve x1="485.88" x2="489.72" x3="495.27" y1="616.99" y2="609.6" y3="601.13"/> + <curve x1="502.31" x2="512.09" x3="523.87" y1="590.41" y2="577.86" y3="564.63"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="596.48" y="554.61"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="1" x="559.45" x-axis-rotation="0" y="591.64"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="1" x="522.42" x-axis-rotation="0" y="554.61"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="1" x="559.45" x-axis-rotation="0" y="517.57"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="1" x="596.48" x-axis-rotation="0" y="554.61"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nexus 2k" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <save/> + <path> + <move x="523.87" y="564.63"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="549.09" x-axis-rotation="0" y="590.21"/> + <curve x1="535.67" x2="522.97" x3="512.13" y1="601.79" y2="611.38" y3="618.26"/> + <curve x1="503.58" x2="496.14" x3="490.79" y1="623.68" y2="627.4" y3="629.09"/> + <curve x1="488.11" x2="485.97" x3="484.69" y1="629.94" y2="630.25" y3="630.2"/> + <curve x1="483.41" x2="483.22" x3="483.2" y1="630.16" y2="629.91" y3="629.89"/> + <curve x1="483.18" x2="482.93" x3="482.9" y1="629.87" y2="629.67" y3="628.39"/> + <curve x1="482.88" x2="483.22" x3="484.11" y1="627.11" y2="624.97" y3="622.31"/> + <curve x1="485.88" x2="489.72" x3="495.27" y1="616.99" y2="609.6" y3="601.13"/> + <curve x1="502.31" x2="512.09" x3="523.87" y1="590.41" y2="577.86" y3="564.63"/> + <close/> + <move x="595.2" y="564.59"/> + <curve x1="606.99" x2="616.78" x3="623.82" y1="577.84" y2="590.4" y3="601.13"/> + <curve x1="629.38" x2="633.21" x3="634.98" y1="609.6" y2="616.99" y3="622.31"/> + <curve x1="635.87" x2="636.21" x3="636.19" y1="624.97" y2="627.11" y3="628.39"/> + <curve x1="636.17" x2="635.92" x3="635.9" y1="629.67" y2="629.87" y3="629.89"/> + <curve x1="635.88" x2="635.69" x3="634.4" y1="629.91" y2="630.16" y3="630.2"/> + <curve x1="633.12" x2="630.98" x3="628.3" y1="630.25" y2="629.94" y3="629.09"/> + <curve x1="622.95" x2="615.52" x3="606.96" y1="627.4" y2="623.68" y3="618.26"/> + <curve x1="596.12" x2="583.42" x3="570" y1="611.38" y2="601.79" y3="590.21"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="595.2" x-axis-rotation="0" y="564.59"/> + <close/> + <move x="484.69" y="479.2"/> + <curve x1="485.97" x2="488.11" x3="490.79" y1="479.16" y2="479.47" y3="480.31"/> + <curve x1="496.14" x2="503.58" x3="512.13" y1="482" y2="485.72" y3="491.15"/> + <curve x1="522.97" x2="535.68" x3="549.1" y1="498.02" y2="507.61" y3="519.2"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="523.9" x-axis-rotation="0" y="544.81"/> + <curve x1="512.1" x2="502.32" x3="495.27" y1="531.56" y2="519.01" y3="508.27"/> + <curve x1="489.72" x2="485.88" x3="484.11" y1="499.8" y2="492.42" y3="487.09"/> + <curve x1="483.22" x2="482.88" x3="482.91" y1="484.43" y2="482.3" y3="481.02"/> + <curve x1="482.93" x2="483.18" x3="483.2" y1="479.73" y2="479.54" y3="479.52"/> + <curve x1="483.22" x2="483.41" x3="484.69" y1="479.5" y2="479.25" y3="479.2"/> + <close/> + <move x="634.4" y="479.2"/> + <curve x1="635.69" x2="635.87" x3="635.89" y1="479.24" y2="479.49" y3="479.52"/> + <curve x1="635.91" x2="636.17" x3="636.19" y1="479.53" y2="479.73" y3="481.01"/> + <curve x1="636.21" x2="635.87" x3="634.98" y1="482.29" y2="484.43" y3="487.09"/> + <curve x1="633.21" x2="629.38" x3="623.82" y1="492.42" y2="499.8" y3="508.27"/> + <curve x1="616.79" x2="607.01" x3="595.22" y1="519" y2="531.54" y3="544.77"/> + <arc large-arc-flag="0" rx="37.03" ry="37.03" sweep-flag="0" x="570" x-axis-rotation="0" y="519.2"/> + <curve x1="583.42" x2="596.12" x3="606.96" y1="507.61" y2="498.02" y3="491.15"/> + <curve x1="615.52" x2="622.95" x3="628.3" y1="485.72" y2="482" y3="480.31"/> + <curve x1="630.98" x2="633.12" x3="634.4" y1="479.47" y2="479.16" y3="479.2"/> + <close/> + <move x="559.92" y="452.34"/> + <line x="540.71" y="470.72"/> + <line x="554.31" y="470.72"/> + <line x="554.31" y="509.81"/> + <curve x1="541.2" x2="528.73" x3="517.76" y1="498.6" y2="489.22" y3="482.27"/> + <curve x1="508.74" x2="500.79" x3="493.96" y1="476.55" y2="472.44" y3="470.29"/> + <curve x1="490.54" x2="487.4" x3="484.33" y1="469.21" y2="468.59" y3="468.7"/> + <curve x1="481.27" x2="478.04" x3="475.71" y1="468.8" y2="469.78" y3="472.14"/> + <curve x1="473.38" x2="472.45" x3="472.4" y1="474.51" y2="477.75" y3="480.81"/> + <curve x1="472.34" x2="473" x3="474.13" y1="483.88" y2="487.02" y3="490.41"/> + <curve x1="476.4" x2="480.63" x3="486.48" y1="497.21" y2="505.1" y3="514.04"/> + <curve x1="493.48" x2="502.83" x3="513.98" y1="524.7" y2="536.78" y3="549.46"/> + <line x="475.57" y="549.46"/> + <line x="475.57" y="535.86"/> + <line x="457.18" y="555.08"/> + <line x="475.57" y="573.54"/> + <line x="475.57" y="560.92"/> + <line x="513.11" y="560.92"/> + <curve x1="502.35" x2="493.3" x3="486.48" y1="573.25" y2="584.98" y3="595.37"/> + <curve x1="480.62" x2="476.4" x3="474.14" y1="604.3" y2="612.19" y3="618.99"/> + <curve x1="473.01" x2="472.34" x3="472.39" y1="622.39" y2="625.52" y3="628.59"/> + <curve x1="472.45" x2="473.38" x3="475.71" y1="631.65" y2="634.89" y3="637.26"/> + <curve x1="478.04" x2="481.26" x3="484.33" y1="639.63" y2="640.6" y3="640.71"/> + <curve x1="487.4" x2="490.54" x3="493.96" y1="640.81" y2="640.19" y3="639.12"/> + <curve x1="500.78" x2="508.74" x3="517.76" y1="636.96" y2="632.85" y3="627.13"/> + <curve x1="528.73" x2="541.2" x3="554.31" y1="620.18" y2="610.8" y3="599.59"/> + <line x="554.31" y="638.68"/> + <line x="540.71" y="638.68"/> + <line x="559.92" y="657.06"/> + <line x="578.38" y="638.68"/> + <line x="565.77" y="638.68"/> + <line x="565.77" y="600.43"/> + <curve x1="578.52" x2="590.64" x3="601.33" y1="611.27" y2="620.35" y3="627.13"/> + <curve x1="610.35" x2="618.31" x3="625.14" y1="632.85" y2="636.96" y3="639.12"/> + <curve x1="628.55" x2="631.69" x3="634.76" y1="640.19" y2="640.81" y3="640.71"/> + <curve x1="637.83" x2="641.06" x3="643.38" y1="640.6" y2="639.63" y3="637.26"/> + <curve x1="645.71" x2="646.64" x3="646.7" y1="634.9" y2="631.66" y3="628.59"/> + <curve x1="646.76" x2="646.09" x3="644.96" y1="625.52" y2="622.39" y3="618.99"/> + <curve x1="642.7" x2="638.47" x3="632.61" y1="612.19" y2="604.3" y3="595.37"/> + <curve x1="625.8" x2="616.75" x3="605.98" y1="584.98" y2="573.25" y3="560.92"/> + <line x="643.52" y="560.92"/> + <line x="643.52" y="573.54"/> + <line x="661.91" y="555.08"/> + <line x="643.52" y="535.86"/> + <line x="643.52" y="549.46"/> + <line x="605.12" y="549.46"/> + <curve x1="616.26" x2="625.62" x3="632.61" y1="536.78" y2="524.7" y3="514.03"/> + <curve x1="638.47" x2="642.7" x3="644.96" y1="505.1" y2="497.21" y3="490.41"/> + <curve x1="646.09" x2="646.75" x3="646.7" y1="487.02" y2="483.88" y3="480.82"/> + <curve x1="646.64" x2="645.71" x3="643.38" y1="477.75" y2="474.51" y3="472.14"/> + <curve x1="641.06" x2="637.83" x3="634.76" y1="469.78" y2="468.8" y3="468.7"/> + <curve x1="631.69" x2="628.55" x3="625.14" y1="468.59" y2="469.21" y3="470.29"/> + <curve x1="618.31" x2="610.35" x3="601.33" y1="472.45" y2="476.55" y3="482.27"/> + <curve x1="590.64" x2="578.52" x3="565.77" y1="489.05" y2="498.13" y3="508.97"/> + <line x="565.77" y="470.72"/> + <line x="578.38" y="470.72"/> + <close/> + <move x="395.09" y="253.48"/> + <line x="488.29" y="253.57"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="510.71" x-axis-rotation="0" y="264.97"/> + <line x="489.51" y="329.89"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="458.22" x-axis-rotation="0" y="338.96"/> + <line x="358.29" y="338.86"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="340.19" x-axis-rotation="0" y="331.35"/> + <line x="361.45" y="266.25"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="395.09" x-axis-rotation="0" y="253.48"/> + <close/> + <move x="229.55" y="253.32"/> + <line x="320.74" y="253.41"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="345.82" x-axis-rotation="0" y="265.41"/> + <line x="324.77" y="329.85"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="291.51" x-axis-rotation="0" y="338.79"/> + <line x="192.17" y="338.7"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="175.6" x-axis-rotation="0" y="331.65"/> + <line x="196.99" y="266.18"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="229.55" x-axis-rotation="0" y="253.32"/> + <close/> + <move x="429.29" y="148.94"/> + <line x="529.66" y="149.04"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="546.16" x-axis-rotation="0" y="156.42"/> + <line x="522.45" y="229.02"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="491.31" x-axis-rotation="0" y="238.46"/> + <line x="391.84" y="238.36"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="373.14" x-axis-rotation="0" y="230.43"/> + <line x="396.68" y="158.36"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="429.29" x-axis-rotation="0" y="148.94"/> + <close/> + <move x="264.33" y="148.78"/> + <line x="361.27" y="148.87"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="381.19" x-axis-rotation="0" y="157.1"/> + <line x="357.72" y="228.97"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="324.09" x-axis-rotation="0" y="238.29"/> + <line x="225.98" y="238.2"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="208.58" x-axis-rotation="0" y="230.68"/> + <line x="232.21" y="158.34"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="264.33" x-axis-rotation="0" y="148.78"/> + <close/> + <move x="408.4" y="73.78"/> + <line x="392.97" y="121.04"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="358.23" x-axis-rotation="0" y="133.75"/> + <line x="267.15" y="133.66"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="244" x-axis-rotation="0" y="122.24"/> + <line x="257.73" y="80.19"/> + <line x="243.36" y="75.49"/> + <line x="228.49" y="121.03"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="193.19" x-axis-rotation="0" y="133.59"/> + <line x="122.32" y="133.52"/> + <line x="122.31" y="148.64"/> + <line x="195.92" y="148.71"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="216.67" x-axis-rotation="0" y="157.21"/> + <line x="193.23" y="228.99"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="192.27" x-axis-rotation="0" y="228.96"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="158.63" x-axis-rotation="0" y="238.13"/> + <line x="98.2" y="238.07"/> + <line x="98.18" y="253.19"/> + <line x="154.96" y="253.25"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="181.28" x-axis-rotation="0" y="265.57"/> + <line x="160.28" y="329.88"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="158.93" x-axis-rotation="0" y="329.85"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="125.8" x-axis-rotation="0" y="338.63"/> + <line x="74.47" y="338.58"/> + <line x="74.45" y="353.7"/> + <line x="121.35" y="353.74"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="148.31" x-axis-rotation="0" y="366.51"/> + <line x="136.84" y="401.63"/> + <line x="151.21" y="406.32"/> + <line x="164.04" y="367.04"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="196.46" x-axis-rotation="0" y="353.82"/> + <line x="287.39" y="353.91"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="312.86" x-axis-rotation="0" y="366.32"/> + <line x="301.89" y="399.91"/> + <line x="316.26" y="404.6"/> + <line x="328.5" y="367.13"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="362.29" x-axis-rotation="0" y="353.98"/> + <line x="454.43" y="354.07"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="477.73" x-axis-rotation="0" y="365.96"/> + <line x="466.17" y="401.34"/> + <line x="480.54" y="406.03"/> + <line x="493.22" y="367.2"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="529.11" x-axis-rotation="0" y="354.15"/> + <line x="587.35" y="354.21"/> + <line x="587.37" y="339.09"/> + <line x="525.42" y="339.03"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="505.05" x-axis-rotation="0" y="330.98"/> + <line x="526.17" y="266.32"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="562.4" x-axis-rotation="0" y="253.65"/> + <line x="611.09" y="253.69"/> + <line x="611.11" y="238.57"/> + <line x="559.47" y="238.52"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="538.04" x-axis-rotation="0" y="229.99"/> + <line x="561.44" y="158.33"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="563.5" x-axis-rotation="0" y="158.38"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="597.26" x-axis-rotation="0" y="149.11"/> + <line x="635.21" y="149.14"/> + <line x="635.22" y="134.03"/> + <line x="600.73" y="133.99"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="573.43" x-axis-rotation="0" y="121.64"/> + <line x="587.06" y="79.9"/> + <line x="572.69" y="75.21"/> + <line x="557.66" y="121.23"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="526.29" x-axis-rotation="0" y="133.92"/> + <line x="432.42" y="133.83"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="408.51" x-axis-rotation="0" y="122.12"/> + <line x="422.77" y="78.47"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <fillcolor color="#ffffff"/> + <strokewidth width="3.78458762"/> + <alpha alpha="0.5"/> + <path> + <move x="596.65" y="554.7"/> + <arc large-arc-flag="0" rx="37.08" ry="37.08" sweep-flag="1" x="559.57" x-axis-rotation="0" y="591.78"/> + <arc large-arc-flag="0" rx="37.08" ry="37.08" sweep-flag="1" x="522.48" x-axis-rotation="0" y="554.7"/> + <arc large-arc-flag="0" rx="37.08" ry="37.08" sweep-flag="1" x="559.57" x-axis-rotation="0" y="517.61"/> + <arc large-arc-flag="0" rx="37.08" ry="37.08" sweep-flag="1" x="596.65" x-axis-rotation="0" y="554.7"/> + <close/> + </path> + <fillstroke/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nexus 3k" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="315.45" y="516.82"/> + <line x="315.45" y="565.17"/> + <line x="150.74" y="565.17"/> + <line x="150.74" y="610.53"/> + <line x="315.45" y="610.53"/> + <line x="315.45" y="658.88"/> + <line x="424.54" y="589.22"/> + <close/> + <move x="204.72" y="523.87"/> + <line x="204.72" y="537.1"/> + <line x="308.57" y="537.1"/> + <line x="308.57" y="523.87"/> + <close/> + <move x="237.47" y="542.08"/> + <line x="237.47" y="555.31"/> + <line x="308.32" y="555.31"/> + <line x="308.32" y="542.08"/> + <close/> + <move x="94.8" y="560.51"/> + <line x="94.8" y="573.73"/> + <line x="133.4" y="573.73"/> + <line x="133.4" y="560.51"/> + <close/> + <move x="55.76" y="580.9"/> + <line x="55.76" y="594.13"/> + <line x="133.4" y="594.13"/> + <line x="133.4" y="580.9"/> + <close/> + <move x="94.58" y="601.52"/> + <line x="94.58" y="614.75"/> + <line x="133.4" y="614.75"/> + <line x="133.4" y="601.52"/> + <close/> + <move x="237.36" y="620.82"/> + <line x="237.36" y="634.05"/> + <line x="308.76" y="634.05"/> + <line x="308.76" y="620.82"/> + <close/> + <move x="204.9" y="637.93"/> + <line x="204.9" y="651.16"/> + <line x="308.76" y="651.16"/> + <line x="308.76" y="637.93"/> + <close/> + <move x="524.64" y="570.52"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="549.24" x-axis-rotation="0" y="595.46"/> + <curve x1="536.15" x2="523.76" x3="513.19" y1="606.76" y2="616.11" y3="622.82"/> + <curve x1="504.85" x2="497.6" x3="492.38" y1="628.11" y2="631.73" y3="633.38"/> + <curve x1="489.77" x2="487.69" x3="486.43" y1="634.21" y2="634.51" y3="634.47"/> + <curve x1="485.18" x2="485" x3="484.98" y1="634.42" y2="634.18" y3="634.16"/> + <curve x1="484.96" x2="484.72" x3="484.69" y1="634.14" y2="633.95" y3="632.7"/> + <curve x1="484.67" x2="485" x3="485.87" y1="631.45" y2="629.37" y3="626.77"/> + <curve x1="487.59" x2="491.34" x3="496.75" y1="621.58" y2="614.38" y3="606.12"/> + <curve x1="503.61" x2="513.15" x3="524.64" y1="595.66" y2="583.43" y3="570.52"/> + <close/> + <move x="594.19" y="570.49"/> + <curve x1="605.7" x2="615.24" x3="622.11" y1="583.41" y2="595.65" y3="606.12"/> + <curve x1="627.53" x2="631.27" x3="632.99" y1="614.38" y2="621.58" y3="626.77"/> + <curve x1="633.86" x2="634.19" x3="634.17" y1="629.36" y2="631.45" y3="632.7"/> + <curve x1="634.15" x2="633.9" x3="633.88" y1="633.95" y2="634.14" y3="634.16"/> + <curve x1="633.87" x2="633.68" x3="632.43" y1="634.18" y2="634.43" y3="634.47"/> + <curve x1="631.18" x2="629.09" x3="626.48" y1="634.51" y2="634.21" y3="633.38"/> + <curve x1="621.26" x2="614.01" x3="605.67" y1="631.74" y2="628.11" y3="622.82"/> + <curve x1="595.1" x2="582.71" x3="569.62" y1="616.12" y2="606.76" y3="595.46"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="594.19" x-axis-rotation="0" y="570.49"/> + <close/> + <move x="486.43" y="487.21"/> + <curve x1="487.69" x2="489.77" x3="492.38" y1="487.17" y2="487.47" y3="488.3"/> + <curve x1="497.6" x2="504.85" x3="513.2" y1="489.95" y2="493.57" y3="498.87"/> + <curve x1="523.77" x2="536.15" x3="549.24" y1="505.57" y2="514.92" y3="526.22"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="524.67" x-axis-rotation="0" y="551.19"/> + <curve x1="513.17" x2="503.62" x3="496.75" y1="538.28" y2="526.03" y3="515.56"/> + <curve x1="491.34" x2="487.6" x3="485.87" y1="507.3" y2="500.1" y3="494.91"/> + <curve x1="485" x2="484.67" x3="484.69" y1="492.32" y2="490.24" y3="488.98"/> + <curve x1="484.72" x2="484.96" x3="484.98" y1="487.73" y2="487.54" y3="487.52"/> + <curve x1="485" x2="485.18" x3="486.43" y1="487.5" y2="487.26" y3="487.22"/> + <close/> + <move x="632.43" y="487.21"/> + <line x="632.43" y="487.21"/> + <curve x1="633.68" x2="633.86" x3="633.88" y1="487.26" y2="487.5" y3="487.52"/> + <curve x1="633.9" x2="634.15" x3="634.17" y1="487.54" y2="487.73" y3="488.98"/> + <curve x1="634.19" x2="633.86" x3="632.99" y1="490.24" y2="492.32" y3="494.92"/> + <curve x1="631.27" x2="627.53" x3="622.11" y1="500.11" y2="507.3" y3="515.56"/> + <curve x1="615.25" x2="605.71" x3="594.22" y1="526.02" y2="538.26" y3="551.16"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="569.62" x-axis-rotation="0" y="526.22"/> + <curve x1="582.71" x2="595.1" x3="605.67" y1="514.92" y2="505.57" y3="498.87"/> + <curve x1="614.01" x2="621.26" x3="626.48" y1="493.57" y2="489.95" y3="488.3"/> + <curve x1="629.09" x2="631.18" x3="632.43" y1="487.47" y2="487.17" y3="487.21"/> + <close/> + <move x="559.8" y="461.02"/> + <line x="541.06" y="478.95"/> + <line x="554.32" y="478.95"/> + <line x="554.32" y="517.07"/> + <curve x1="541.54" x2="529.38" x3="518.68" y1="506.13" y2="496.99" y3="490.21"/> + <curve x1="509.89" x2="502.13" x3="495.47" y1="484.63" y2="480.63" y3="478.53"/> + <curve x1="492.14" x2="489.07" x3="486.08" y1="477.47" y2="476.87" y3="476.97"/> + <curve x1="483.09" x2="479.95" x3="477.68" y1="477.08" y2="478.03" y3="480.33"/> + <curve x1="475.41" x2="474.5" x3="474.44" y1="482.64" y2="485.8" y3="488.79"/> + <curve x1="474.39" x2="475.04" x3="476.14" y1="491.78" y2="494.84" y3="498.15"/> + <curve x1="478.35" x2="482.47" x3="488.18" y1="504.78" y2="512.48" y3="521.19"/> + <curve x1="495" x2="504.13" x3="514.99" y1="531.58" y2="543.37" y3="555.73"/> + <line x="477.54" y="555.73"/> + <line x="477.54" y="542.47"/> + <line x="459.61" y="561.21"/> + <line x="477.54" y="579.21"/> + <line x="477.54" y="566.91"/> + <line x="514.15" y="566.91"/> + <curve x1="503.65" x2="494.82" x3="488.18" y1="578.93" y2="590.37" y3="600.5"/> + <curve x1="482.47" x2="478.35" x3="476.14" y1="609.21" y2="616.91" y3="623.53"/> + <curve x1="475.04" x2="474.39" x3="474.44" y1="626.85" y2="629.9" y3="632.89"/> + <curve x1="474.5" x2="475.4" x3="477.68" y1="635.88" y2="639.04" y3="641.35"/> + <curve x1="479.95" x2="483.09" x3="486.08" y1="643.66" y2="644.61" y3="644.71"/> + <curve x1="489.07" x2="492.14" x3="495.47" y1="644.81" y2="644.21" y3="643.16"/> + <curve x1="502.13" x2="509.89" x3="518.68" y1="641.06" y2="637.05" y3="631.47"/> + <curve x1="529.37" x2="541.54" x3="554.32" y1="624.69" y2="615.55" y3="604.62"/> + <line x="554.32" y="642.73"/> + <line x="541.06" y="642.73"/> + <line x="559.8" y="660.66"/> + <line x="577.8" y="642.73"/> + <line x="565.5" y="642.73"/> + <line x="565.5" y="605.43"/> + <curve x1="577.93" x2="589.76" x3="600.18" y1="616" y2="624.86" y3="631.47"/> + <curve x1="608.97" x2="616.73" x3="623.39" y1="637.05" y2="641.06" y3="643.16"/> + <curve x1="626.72" x2="629.79" x3="632.78" y1="644.21" y2="644.81" y3="644.71"/> + <curve x1="635.77" x2="638.92" x3="641.19" y1="644.61" y2="643.66" y3="641.35"/> + <curve x1="643.46" x2="644.36" x3="644.42" y1="639.05" y2="635.88" y3="632.89"/> + <curve x1="644.47" x2="643.82" x3="642.72" y1="629.9" y2="626.84" y3="623.53"/> + <curve x1="640.51" x2="636.39" x3="630.68" y1="616.91" y2="609.21" y3="600.5"/> + <curve x1="624.04" x2="615.21" x3="604.71" y1="590.37" y2="578.93" y3="566.91"/> + <line x="641.32" y="566.91"/> + <line x="641.32" y="579.21"/> + <line x="659.25" y="561.21"/> + <line x="641.32" y="542.47"/> + <line x="641.32" y="555.73"/> + <line x="603.87" y="555.73"/> + <curve x1="614.73" x2="623.86" x3="630.68" y1="543.37" y2="531.58" y3="521.18"/> + <curve x1="636.39" x2="640.51" x3="642.72" y1="512.47" y2="504.78" y3="498.15"/> + <curve x1="643.82" x2="644.47" x3="644.42" y1="494.84" y2="491.78" y3="488.79"/> + <curve x1="644.36" x2="643.46" x3="641.18" y1="485.8" y2="482.64" y3="480.33"/> + <curve x1="638.91" x2="635.77" x3="632.78" y1="478.03" y2="477.08" y3="476.97"/> + <curve x1="629.79" x2="626.72" x3="623.39" y1="476.87" y2="477.48" y3="478.53"/> + <curve x1="616.73" x2="608.97" x3="600.18" y1="480.63" y2="484.63" y3="490.21"/> + <curve x1="589.75" x2="577.93" x3="565.5" y1="496.82" y2="505.68" y3="516.25"/> + <line x="565.5" y="478.95"/> + <line x="577.8" y="478.95"/> + <close/> + <move x="185.21" y="351.66"/> + <line x="75.41" y="416.82"/> + <line x="185.21" y="480.98"/> + <line x="185.21" y="438.84"/> + <line x="314.17" y="438.84"/> + <line x="314.17" y="390.14"/> + <line x="185.21" y="390.14"/> + <close/> + <move x="469.26" y="254.27"/> + <line x="469.26" y="292.75"/> + <line x="340.3" y="292.75"/> + <line x="340.3" y="341.45"/> + <line x="469.26" y="341.45"/> + <line x="469.26" y="383.58"/> + <line x="579.06" y="319.43"/> + <close/> + <move x="259.03" y="161.22"/> + <line x="149.23" y="226.37"/> + <line x="259.03" y="290.53"/> + <line x="259.03" y="248.4"/> + <line x="387.99" y="248.4"/> + <line x="387.99" y="199.69"/> + <line x="259.03" y="199.69"/> + <close/> + <move x="541.03" y="63.57"/> + <line x="541.03" y="102.04"/> + <line x="412.06" y="102.04"/> + <line x="412.06" y="150.75"/> + <line x="541.03" y="150.75"/> + <line x="541.03" y="192.88"/> + <line x="650.82" y="128.72"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="595.5" y="560.89"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="1" x="559.4" x-axis-rotation="0" y="597"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="1" x="523.29" x-axis-rotation="0" y="560.89"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="1" x="559.4" x-axis-rotation="0" y="524.78"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="1" x="595.5" x-axis-rotation="0" y="560.89"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="nexus 4k" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="14.93" y="145.42"/> + <line x="102.93" y="145.42"/> + <line x="102.93" y="162.91"/> + <line x="14.93" y="162.91"/> + <close/> + <move x="137.33" y="155.71"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="143.84" x-axis-rotation="0" y="162.31"/> + <curve x1="140.38" x2="137.1" x3="134.31" y1="165.3" y2="167.77" y3="169.55"/> + <curve x1="132.1" x2="130.18" x3="128.8" y1="170.95" y2="171.91" y3="172.34"/> + <curve x1="128.11" x2="127.56" x3="127.23" y1="172.56" y2="172.64" y3="172.63"/> + <curve x1="126.89" x2="126.85" x3="126.84" y1="172.62" y2="172.55" y3="172.55"/> + <curve x1="126.83" x2="126.77" x3="126.76" y1="172.54" y2="172.49" y3="172.16"/> + <curve x1="126.76" x2="126.85" x3="127.08" y1="171.83" y2="171.28" y3="170.59"/> + <curve x1="127.53" x2="128.52" x3="129.96" y1="169.22" y2="167.31" y3="165.13"/> + <curve x1="131.77" x2="134.29" x3="137.33" y1="162.36" y2="159.13" y3="155.71"/> + <close/> + <move x="155.74" y="155.7"/> + <curve x1="158.78" x2="161.31" x3="163.12" y1="159.12" y2="162.36" y3="165.13"/> + <curve x1="164.56" x2="165.55" x3="166" y1="167.32" y2="169.22" y3="170.59"/> + <curve x1="166.23" x2="166.32" x3="166.31" y1="171.28" y2="171.83" y3="172.16"/> + <curve x1="166.31" x2="166.24" x3="166.24" y1="172.49" y2="172.54" y3="172.55"/> + <curve x1="166.23" x2="166.18" x3="165.85" y1="172.55" y2="172.62" y3="172.63"/> + <curve x1="165.52" x2="164.97" x3="164.28" y1="172.64" y2="172.56" y3="172.34"/> + <curve x1="162.9" x2="160.98" x3="158.77" y1="171.91" y2="170.95" y3="169.55"/> + <curve x1="155.98" x2="152.7" x3="149.24" y1="167.77" y2="165.3" y3="162.31"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="155.74" x-axis-rotation="0" y="155.7"/> + <close/> + <move x="127.23" y="133.67"/> + <curve x1="127.56" x2="128.11" x3="128.8" y1="133.66" y2="133.74" y3="133.96"/> + <curve x1="130.18" x2="132.1" x3="134.31" y1="134.39" y2="135.35" y3="136.75"/> + <curve x1="137.1" x2="140.38" x3="143.84" y1="138.53" y2="141" y3="143.99"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="137.34" x-axis-rotation="0" y="150.6"/> + <curve x1="134.3" x2="131.77" x3="129.96" y1="147.18" y2="143.94" y3="141.17"/> + <curve x1="128.52" x2="127.53" x3="127.08" y1="138.98" y2="137.08" y3="135.71"/> + <curve x1="126.85" x2="126.76" x3="126.76" y1="135.02" y2="134.47" y3="134.14"/> + <curve x1="126.77" x2="126.84" x3="126.84" y1="133.81" y2="133.76" y3="133.75"/> + <curve x1="126.85" x2="126.89" x3="127.23" y1="133.75" y2="133.68" y3="133.67"/> + <close/> + <move x="165.85" y="133.67"/> + <line x="165.85" y="133.67"/> + <curve x1="166.18" x2="166.23" x3="166.24" y1="133.68" y2="133.75" y3="133.75"/> + <curve x1="166.24" x2="166.31" x3="166.31" y1="133.76" y2="133.81" y3="134.14"/> + <curve x1="166.32" x2="166.23" x3="166" y1="134.47" y2="135.02" y3="135.71"/> + <curve x1="165.55" x2="164.56" x3="163.12" y1="137.08" y2="138.98" y3="141.17"/> + <curve x1="161.31" x2="158.78" x3="155.74" y1="143.94" y2="147.17" y3="150.59"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="149.24" x-axis-rotation="0" y="143.99"/> + <curve x1="152.7" x2="155.98" x3="158.77" y1="141" y2="138.52" y3="136.75"/> + <curve x1="160.98" x2="162.9" x3="164.28" y1="135.35" y2="134.39" y3="133.96"/> + <curve x1="164.97" x2="165.52" x3="165.85" y1="133.74" y2="133.66" y3="133.67"/> + <close/> + <move x="146.64" y="126.74"/> + <line x="141.68" y="131.48"/> + <line x="145.19" y="131.48"/> + <line x="145.19" y="141.57"/> + <curve x1="141.81" x2="138.59" x3="135.76" y1="138.67" y2="136.26" y3="134.46"/> + <curve x1="133.43" x2="131.38" x3="129.62" y1="132.99" y2="131.93" y3="131.37"/> + <curve x1="128.73" x2="127.92" x3="127.13" y1="131.09" y2="130.93" y3="130.96"/> + <curve x1="126.34" x2="125.51" x3="124.91" y1="130.99" y2="131.24" y3="131.85"/> + <curve x1="124.31" x2="124.07" x3="124.05" y1="132.46" y2="133.29" y3="134.09"/> + <curve x1="124.04" x2="124.21" x3="124.5" y1="134.88" y2="135.69" y3="136.56"/> + <curve x1="125.08" x2="126.18" x3="127.69" y1="138.32" y2="140.35" y3="142.66"/> + <curve x1="129.49" x2="131.91" x3="134.78" y1="145.41" y2="148.53" y3="151.8"/> + <line x="124.87" y="151.8"/> + <line x="124.87" y="148.29"/> + <line x="120.13" y="153.25"/> + <line x="124.87" y="158.01"/> + <line x="124.87" y="154.75"/> + <line x="134.56" y="154.75"/> + <curve x1="131.78" x2="129.45" x3="127.69" y1="157.93" y2="160.96" y3="163.64"/> + <curve x1="126.18" x2="125.09" x3="124.5" y1="165.95" y2="167.98" y3="169.74"/> + <curve x1="124.21" x2="124.04" x3="124.05" y1="170.61" y2="171.42" y3="172.21"/> + <curve x1="124.07" x2="124.31" x3="124.91" y1="173" y2="173.84" y3="174.45"/> + <curve x1="125.51" x2="126.34" x3="127.13" y1="175.06" y2="175.31" y3="175.34"/> + <curve x1="127.92" x2="128.73" x3="129.62" y1="175.37" y2="175.21" y3="174.93"/> + <curve x1="131.38" x2="133.43" x3="135.76" y1="174.37" y2="173.31" y3="171.84"/> + <curve x1="138.59" x2="141.81" x3="145.19" y1="170.04" y2="167.62" y3="164.73"/> + <line x="145.19" y="174.82"/> + <line x="141.68" y="174.82"/> + <line x="146.64" y="179.56"/> + <line x="151.4" y="174.82"/> + <line x="148.14" y="174.82"/> + <line x="148.14" y="164.95"/> + <curve x1="151.43" x2="154.56" x3="157.32" y1="167.74" y2="170.09" y3="171.84"/> + <curve x1="159.65" x2="161.7" x3="163.46" y1="173.31" y2="174.37" y3="174.93"/> + <curve x1="164.34" x2="165.15" x3="165.94" y1="175.21" y2="175.37" y3="175.34"/> + <curve x1="166.74" x2="167.57" x3="168.17" y1="175.31" y2="175.06" y3="174.45"/> + <curve x1="168.77" x2="169.01" x3="169.02" y1="173.84" y2="173" y3="172.21"/> + <curve x1="169.04" x2="168.87" x3="168.58" y1="171.42" y2="170.61" y3="169.74"/> + <curve x1="167.99" x2="166.9" x3="165.39" y1="167.98" y2="165.95" y3="163.64"/> + <curve x1="163.63" x2="161.3" x3="158.52" y1="160.96" y2="157.93" y3="154.75"/> + <line x="168.21" y="154.75"/> + <line x="168.21" y="158.01"/> + <line x="172.95" y="153.25"/> + <line x="168.21" y="148.29"/> + <line x="168.21" y="151.8"/> + <line x="158.3" y="151.8"/> + <curve x1="161.17" x2="163.59" x3="165.39" y1="148.53" y2="145.41" y3="142.66"/> + <curve x1="166.9" x2="167.99" x3="168.58" y1="140.35" y2="138.32" y3="136.56"/> + <curve x1="168.87" x2="169.04" x3="169.02" y1="135.69" y2="134.88" y3="134.09"/> + <curve x1="169.01" x2="168.77" x3="168.17" y1="133.29" y2="132.46" y3="131.85"/> + <curve x1="167.57" x2="166.74" x3="165.94" y1="131.24" y2="130.99" y3="130.96"/> + <curve x1="165.15" x2="164.34" x3="163.46" y1="130.93" y2="131.09" y3="131.37"/> + <curve x1="161.7" x2="159.65" x3="157.32" y1="131.93" y2="132.99" y3="134.46"/> + <curve x1="154.56" x2="151.43" x3="148.14" y1="136.21" y2="138.55" y3="141.35"/> + <line x="148.14" y="131.48"/> + <line x="151.4" y="131.48"/> + <close/> + <move x="49" y="93.04"/> + <line x="19.95" y="110.28"/> + <line x="49" y="127.26"/> + <line x="49" y="116.11"/> + <line x="83.12" y="116.11"/> + <line x="83.12" y="103.22"/> + <line x="49" y="103.22"/> + <close/> + <move x="124.16" y="67.28"/> + <line x="124.16" y="77.46"/> + <line x="90.04" y="77.46"/> + <line x="90.04" y="90.34"/> + <line x="124.16" y="90.34"/> + <line x="124.16" y="101.49"/> + <line x="153.21" y="84.51"/> + <close/> + <move x="68.54" y="42.66"/> + <line x="39.48" y="59.89"/> + <line x="68.54" y="76.87"/> + <line x="68.54" y="65.72"/> + <line x="102.66" y="65.72"/> + <line x="102.66" y="52.84"/> + <line x="68.54" y="52.84"/> + <close/> + <move x="143.15" y="16.82"/> + <line x="143.15" y="27"/> + <line x="109.03" y="27"/> + <line x="109.03" y="39.88"/> + <line x="143.15" y="39.88"/> + <line x="143.15" y="51.03"/> + <line x="172.2" y="34.06"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <fillalpha alpha="0.5"/> + <path> + <move x="156.09" y="153.15"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="146.54" x-axis-rotation="0" y="162.7"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="136.98" x-axis-rotation="0" y="153.15"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="146.54" x-axis-rotation="0" y="143.59"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="156.09" x-axis-rotation="0" y="153.15"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="nexus 5k" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="137.33" y="155.71"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="143.84" x-axis-rotation="0" y="162.31"/> + <curve x1="140.38" x2="137.1" x3="134.31" y1="165.3" y2="167.77" y3="169.55"/> + <curve x1="132.1" x2="130.18" x3="128.8" y1="170.95" y2="171.91" y3="172.34"/> + <curve x1="128.11" x2="127.56" x3="127.23" y1="172.56" y2="172.64" y3="172.63"/> + <curve x1="126.89" x2="126.85" x3="126.84" y1="172.62" y2="172.55" y3="172.55"/> + <curve x1="126.83" x2="126.77" x3="126.76" y1="172.54" y2="172.49" y3="172.16"/> + <curve x1="126.76" x2="126.85" x3="127.08" y1="171.83" y2="171.28" y3="170.59"/> + <curve x1="127.53" x2="128.52" x3="129.96" y1="169.22" y2="167.31" y3="165.13"/> + <curve x1="131.77" x2="134.29" x3="137.33" y1="162.36" y2="159.13" y3="155.71"/> + <close/> + <move x="155.74" y="155.7"/> + <curve x1="158.78" x2="161.31" x3="163.12" y1="159.12" y2="162.36" y3="165.13"/> + <curve x1="164.56" x2="165.55" x3="166" y1="167.32" y2="169.22" y3="170.59"/> + <curve x1="166.23" x2="166.32" x3="166.31" y1="171.28" y2="171.83" y3="172.16"/> + <curve x1="166.31" x2="166.24" x3="166.24" y1="172.49" y2="172.54" y3="172.55"/> + <curve x1="166.23" x2="166.18" x3="165.85" y1="172.55" y2="172.62" y3="172.63"/> + <curve x1="165.52" x2="164.97" x3="164.28" y1="172.64" y2="172.56" y3="172.34"/> + <curve x1="162.9" x2="160.98" x3="158.77" y1="171.91" y2="170.95" y3="169.55"/> + <curve x1="155.98" x2="152.7" x3="149.24" y1="167.77" y2="165.3" y3="162.31"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="155.74" x-axis-rotation="0" y="155.7"/> + <close/> + <move x="127.23" y="133.67"/> + <curve x1="127.56" x2="128.11" x3="128.8" y1="133.66" y2="133.74" y3="133.96"/> + <curve x1="130.18" x2="132.1" x3="134.31" y1="134.39" y2="135.35" y3="136.75"/> + <curve x1="137.1" x2="140.38" x3="143.84" y1="138.53" y2="141" y3="143.99"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="137.34" x-axis-rotation="0" y="150.6"/> + <curve x1="134.3" x2="131.77" x3="129.96" y1="147.18" y2="143.94" y3="141.17"/> + <curve x1="128.52" x2="127.53" x3="127.08" y1="138.98" y2="137.08" y3="135.71"/> + <curve x1="126.85" x2="126.76" x3="126.76" y1="135.02" y2="134.47" y3="134.14"/> + <curve x1="126.77" x2="126.84" x3="126.84" y1="133.81" y2="133.76" y3="133.75"/> + <curve x1="126.85" x2="126.89" x3="127.23" y1="133.75" y2="133.68" y3="133.67"/> + <close/> + <move x="165.85" y="133.67"/> + <line x="165.85" y="133.67"/> + <curve x1="166.18" x2="166.23" x3="166.24" y1="133.68" y2="133.75" y3="133.75"/> + <curve x1="166.24" x2="166.31" x3="166.31" y1="133.76" y2="133.81" y3="134.14"/> + <curve x1="166.32" x2="166.23" x3="166" y1="134.47" y2="135.02" y3="135.71"/> + <curve x1="165.55" x2="164.56" x3="163.12" y1="137.08" y2="138.98" y3="141.17"/> + <curve x1="161.31" x2="158.78" x3="155.74" y1="143.94" y2="147.17" y3="150.59"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="0" x="149.24" x-axis-rotation="0" y="143.99"/> + <curve x1="152.7" x2="155.98" x3="158.77" y1="141" y2="138.52" y3="136.75"/> + <curve x1="160.98" x2="162.9" x3="164.28" y1="135.35" y2="134.39" y3="133.96"/> + <curve x1="164.97" x2="165.52" x3="165.85" y1="133.74" y2="133.66" y3="133.67"/> + <close/> + <move x="146.64" y="126.74"/> + <line x="141.68" y="131.48"/> + <line x="145.19" y="131.48"/> + <line x="145.19" y="141.57"/> + <curve x1="141.81" x2="138.59" x3="135.76" y1="138.67" y2="136.26" y3="134.46"/> + <curve x1="133.43" x2="131.38" x3="129.62" y1="132.99" y2="131.93" y3="131.37"/> + <curve x1="128.73" x2="127.92" x3="127.13" y1="131.09" y2="130.93" y3="130.96"/> + <curve x1="126.34" x2="125.51" x3="124.91" y1="130.99" y2="131.24" y3="131.85"/> + <curve x1="124.31" x2="124.07" x3="124.05" y1="132.46" y2="133.29" y3="134.09"/> + <curve x1="124.04" x2="124.21" x3="124.5" y1="134.88" y2="135.69" y3="136.56"/> + <curve x1="125.08" x2="126.18" x3="127.69" y1="138.32" y2="140.35" y3="142.66"/> + <curve x1="129.49" x2="131.91" x3="134.78" y1="145.41" y2="148.53" y3="151.8"/> + <line x="124.87" y="151.8"/> + <line x="124.87" y="148.29"/> + <line x="120.13" y="153.25"/> + <line x="124.87" y="158.01"/> + <line x="124.87" y="154.75"/> + <line x="134.56" y="154.75"/> + <curve x1="131.78" x2="129.45" x3="127.69" y1="157.93" y2="160.96" y3="163.64"/> + <curve x1="126.18" x2="125.09" x3="124.5" y1="165.95" y2="167.98" y3="169.74"/> + <curve x1="124.21" x2="124.04" x3="124.05" y1="170.61" y2="171.42" y3="172.21"/> + <curve x1="124.07" x2="124.31" x3="124.91" y1="173" y2="173.84" y3="174.45"/> + <curve x1="125.51" x2="126.34" x3="127.13" y1="175.06" y2="175.31" y3="175.34"/> + <curve x1="127.92" x2="128.73" x3="129.62" y1="175.37" y2="175.21" y3="174.93"/> + <curve x1="131.38" x2="133.43" x3="135.76" y1="174.37" y2="173.31" y3="171.84"/> + <curve x1="138.59" x2="141.81" x3="145.19" y1="170.04" y2="167.62" y3="164.73"/> + <line x="145.19" y="174.82"/> + <line x="141.68" y="174.82"/> + <line x="146.64" y="179.56"/> + <line x="151.4" y="174.82"/> + <line x="148.14" y="174.82"/> + <line x="148.14" y="164.95"/> + <curve x1="151.43" x2="154.56" x3="157.32" y1="167.74" y2="170.09" y3="171.84"/> + <curve x1="159.65" x2="161.7" x3="163.46" y1="173.31" y2="174.37" y3="174.93"/> + <curve x1="164.34" x2="165.15" x3="165.94" y1="175.21" y2="175.37" y3="175.34"/> + <curve x1="166.74" x2="167.57" x3="168.17" y1="175.31" y2="175.06" y3="174.45"/> + <curve x1="168.77" x2="169.01" x3="169.02" y1="173.84" y2="173" y3="172.21"/> + <curve x1="169.04" x2="168.87" x3="168.58" y1="171.42" y2="170.61" y3="169.74"/> + <curve x1="167.99" x2="166.9" x3="165.39" y1="167.98" y2="165.95" y3="163.64"/> + <curve x1="163.63" x2="161.3" x3="158.52" y1="160.96" y2="157.93" y3="154.75"/> + <line x="168.21" y="154.75"/> + <line x="168.21" y="158.01"/> + <line x="172.95" y="153.25"/> + <line x="168.21" y="148.29"/> + <line x="168.21" y="151.8"/> + <line x="158.3" y="151.8"/> + <curve x1="161.17" x2="163.59" x3="165.39" y1="148.53" y2="145.41" y3="142.66"/> + <curve x1="166.9" x2="167.99" x3="168.58" y1="140.35" y2="138.32" y3="136.56"/> + <curve x1="168.87" x2="169.04" x3="169.02" y1="135.69" y2="134.88" y3="134.09"/> + <curve x1="169.01" x2="168.77" x3="168.17" y1="133.29" y2="132.46" y3="131.85"/> + <curve x1="167.57" x2="166.74" x3="165.94" y1="131.24" y2="130.99" y3="130.96"/> + <curve x1="165.15" x2="164.34" x3="163.46" y1="130.93" y2="131.09" y3="131.37"/> + <curve x1="161.7" x2="159.65" x3="157.32" y1="131.93" y2="132.99" y3="134.46"/> + <curve x1="154.56" x2="151.43" x3="148.14" y1="136.21" y2="138.55" y3="141.35"/> + <line x="148.14" y="131.48"/> + <line x="151.4" y="131.48"/> + <close/> + <move x="49" y="93.04"/> + <line x="19.95" y="110.28"/> + <line x="49" y="127.26"/> + <line x="49" y="116.11"/> + <line x="83.12" y="116.11"/> + <line x="83.12" y="103.22"/> + <line x="49" y="103.22"/> + <close/> + <move x="124.16" y="67.28"/> + <line x="124.16" y="77.46"/> + <line x="90.04" y="77.46"/> + <line x="90.04" y="90.34"/> + <line x="124.16" y="90.34"/> + <line x="124.16" y="101.49"/> + <line x="153.21" y="84.51"/> + <close/> + <move x="68.54" y="42.66"/> + <line x="39.48" y="59.89"/> + <line x="68.54" y="76.87"/> + <line x="68.54" y="65.72"/> + <line x="102.66" y="65.72"/> + <line x="102.66" y="52.84"/> + <line x="68.54" y="52.84"/> + <close/> + <move x="143.15" y="16.82"/> + <line x="143.15" y="27"/> + <line x="109.03" y="27"/> + <line x="109.03" y="39.88"/> + <line x="143.15" y="39.88"/> + <line x="143.15" y="51.03"/> + <line x="172.2" y="34.06"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="156.09" y="153.15"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="146.54" x-axis-rotation="0" y="162.7"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="136.98" x-axis-rotation="0" y="153.15"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="146.54" x-axis-rotation="0" y="143.59"/> + <arc large-arc-flag="0" rx="9.56" ry="9.56" sweep-flag="1" x="156.09" x-axis-rotation="0" y="153.15"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nexus 5k with integrated vsm" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="541.03" y="63.57"/> + <line x="541.03" y="102.04"/> + <line x="412.06" y="102.04"/> + <line x="412.06" y="150.75"/> + <line x="541.03" y="150.75"/> + <line x="541.03" y="192.88"/> + <line x="650.82" y="128.72"/> + <close/> + <move x="259.03" y="161.22"/> + <line x="149.23" y="226.37"/> + <line x="259.03" y="290.53"/> + <line x="259.03" y="248.4"/> + <line x="387.99" y="248.4"/> + <line x="387.99" y="199.69"/> + <line x="259.03" y="199.69"/> + <close/> + <move x="469.26" y="254.27"/> + <line x="469.26" y="292.75"/> + <line x="340.3" y="292.75"/> + <line x="340.3" y="341.45"/> + <line x="469.26" y="341.45"/> + <line x="469.26" y="383.58"/> + <line x="579.06" y="319.43"/> + <close/> + <move x="185.21" y="351.66"/> + <line x="75.41" y="416.82"/> + <line x="185.21" y="480.98"/> + <line x="185.21" y="438.84"/> + <line x="314.17" y="438.84"/> + <line x="314.17" y="390.14"/> + <line x="185.21" y="390.14"/> + <close/> + <move x="154.21" y="479.01"/> + <line x="135.48" y="496.94"/> + <line x="148.74" y="496.94"/> + <line x="148.74" y="535.06"/> + <curve x1="135.96" x2="123.79" x3="113.1" y1="524.12" y2="514.98" y3="508.2"/> + <curve x1="104.31" x2="96.55" x3="89.89" y1="502.62" y2="498.62" y3="496.52"/> + <curve x1="86.56" x2="83.49" x3="80.5" y1="495.46" y2="494.86" y3="494.96"/> + <curve x1="77.51" x2="74.37" x3="72.09" y1="495.07" y2="496.02" y3="498.32"/> + <curve x1="69.82" x2="68.92" x3="68.86" y1="500.63" y2="503.79" y3="506.78"/> + <curve x1="68.8" x2="69.45" x3="70.56" y1="509.77" y2="512.83" y3="516.14"/> + <curve x1="72.76" x2="76.89" x3="82.6" y1="522.77" y2="530.47" y3="539.18"/> + <curve x1="89.42" x2="98.54" x3="109.41" y1="549.57" y2="561.36" y3="573.72"/> + <line x="71.96" y="573.72"/> + <line x="71.96" y="560.46"/> + <line x="54.03" y="579.2"/> + <line x="71.96" y="597.2"/> + <line x="71.96" y="584.9"/> + <line x="108.57" y="584.9"/> + <curve x1="98.07" x2="89.24" x3="82.6" y1="596.92" y2="608.36" y3="618.49"/> + <curve x1="76.89" x2="72.76" x3="70.56" y1="627.2" y2="634.9" y3="641.52"/> + <curve x1="69.46" x2="68.8" x3="68.86" y1="644.84" y2="647.89" y3="650.88"/> + <curve x1="68.92" x2="69.82" x3="72.09" y1="653.87" y2="657.03" y3="659.34"/> + <curve x1="74.36" x2="77.51" x3="80.5" y1="661.65" y2="662.6" y3="662.7"/> + <curve x1="83.49" x2="86.56" x3="89.88" y1="662.8" y2="662.2" y3="661.15"/> + <curve x1="96.54" x2="104.3" x3="113.1" y1="659.05" y2="655.04" y3="649.46"/> + <curve x1="123.79" x2="135.96" x3="148.74" y1="642.68" y2="633.54" y3="622.61"/> + <line x="148.74" y="660.72"/> + <line x="135.48" y="660.72"/> + <line x="154.21" y="678.65"/> + <line x="172.22" y="660.72"/> + <line x="159.91" y="660.72"/> + <line x="159.91" y="623.42"/> + <curve x1="172.35" x2="184.17" x3="194.6" y1="633.99" y2="642.85" y3="649.46"/> + <curve x1="203.39" x2="211.15" x3="217.81" y1="655.04" y2="659.05" y3="661.15"/> + <curve x1="221.14" x2="224.2" x3="227.19" y1="662.2" y2="662.8" y3="662.7"/> + <curve x1="230.18" x2="233.33" x3="235.6" y1="662.6" y2="661.65" y3="659.34"/> + <curve x1="237.88" x2="238.78" x3="238.83" y1="657.04" y2="653.87" y3="650.88"/> + <curve x1="238.89" x2="238.24" x3="237.14" y1="647.89" y2="644.83" y3="641.52"/> + <curve x1="234.93" x2="230.81" x3="225.1" y1="634.9" y2="627.2" y3="618.49"/> + <curve x1="218.45" x2="209.63" x3="199.13" y1="608.36" y2="596.92" y3="584.9"/> + <line x="235.74" y="584.9"/> + <line x="235.74" y="597.2"/> + <line x="253.67" y="579.2"/> + <line x="235.74" y="560.46"/> + <line x="235.74" y="573.72"/> + <line x="198.28" y="573.72"/> + <curve x1="209.15" x2="218.28" x3="225.1" y1="561.36" y2="549.57" y3="539.17"/> + <curve x1="230.81" x2="234.93" x3="237.14" y1="530.46" y2="522.77" y3="516.14"/> + <curve x1="238.24" x2="238.89" x3="238.83" y1="512.83" y2="509.77" y3="506.78"/> + <curve x1="238.78" x2="237.87" x3="235.6" y1="503.79" y2="500.63" y3="498.32"/> + <curve x1="233.33" x2="230.18" x3="227.19" y1="496.02" y2="495.07" y3="494.96"/> + <curve x1="224.2" x2="221.14" x3="217.81" y1="494.86" y2="495.47" y3="496.52"/> + <curve x1="211.15" x2="203.39" x3="194.59" y1="498.62" y2="502.62" y3="508.2"/> + <curve x1="184.17" x2="172.35" x3="159.91" y1="514.81" y2="523.67" y3="534.24"/> + <line x="159.91" y="496.94"/> + <line x="172.22" y="496.94"/> + <close/> + <move x="306.06" y="493"/> + <line x="306.06" y="498.67"/> + <line x="306.06" y="536.82"/> + <line x="317.4" y="536.82"/> + <line x="317.4" y="504.34"/> + <line x="349.94" y="504.34"/> + <line x="349.94" y="493"/> + <close/> + <move x="403.95" y="493"/> + <line x="403.95" y="504.34"/> + <line x="458.45" y="504.34"/> + <line x="458.45" y="493"/> + <close/> + <move x="512.73" y="493"/> + <line x="512.73" y="504.34"/> + <line x="565.76" y="504.34"/> + <line x="565.76" y="493"/> + <close/> + <move x="619.82" y="493"/> + <line x="619.82" y="504.34"/> + <line x="652.37" y="504.34"/> + <line x="652.37" y="536.91"/> + <line x="663.71" y="536.91"/> + <line x="663.71" y="493"/> + <close/> + <move x="226.84" y="505.2"/> + <line x="226.84" y="505.21"/> + <curve x1="228.09" x2="228.28" x3="228.3" y1="505.25" y2="505.49" y3="505.51"/> + <curve x1="228.32" x2="228.56" x3="228.59" y1="505.53" y2="505.72" y3="506.97"/> + <curve x1="228.61" x2="228.27" x3="227.41" y1="508.23" y2="510.31" y3="512.91"/> + <curve x1="225.68" x2="221.94" x3="216.53" y1="518.1" y2="525.29" y3="533.55"/> + <curve x1="209.66" x2="200.13" x3="188.64" y1="544.01" y2="556.25" y3="569.15"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="164.04" x-axis-rotation="0" y="544.21"/> + <curve x1="177.13" x2="189.51" x3="200.08" y1="532.91" y2="523.56" y3="516.86"/> + <curve x1="208.43" x2="215.68" x3="220.89" y1="511.57" y2="507.94" y3="506.29"/> + <curve x1="223.5" x2="225.59" x3="226.84" y1="505.47" y2="505.16" y3="505.2"/> + <close/> + <move x="80.85" y="505.21"/> + <curve x1="82.1" x2="84.19" x3="86.8" y1="505.16" y2="505.47" y3="506.29"/> + <curve x1="92.02" x2="99.27" x3="107.61" y1="507.94" y2="511.57" y3="516.86"/> + <curve x1="118.18" x2="130.57" x3="143.65" y1="523.56" y2="532.91" y3="544.21"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="119.08" x-axis-rotation="0" y="569.18"/> + <curve x1="107.58" x2="98.04" x3="91.17" y1="556.27" y2="544.02" y3="533.55"/> + <curve x1="85.75" x2="82.01" x3="80.29" y1="525.29" y2="518.09" y3="512.9"/> + <curve x1="79.42" x2="79.09" x3="79.11" y1="510.31" y2="508.23" y3="506.97"/> + <curve x1="79.13" x2="79.38" x3="79.4" y1="505.72" y2="505.53" y3="505.51"/> + <curve x1="79.42" x2="79.6" x3="80.85" y1="505.49" y2="505.25" y3="505.21"/> + <close/> + <move x="488.53" y="533.81"/> + <curve x1="478.57" x2="469.88" x3="463.99" y1="533.81" y2="539.83" y3="548.62"/> + <curve x1="458.09" x2="454.65" x3="454.65" y1="557.4" y2="569.1" y3="581.95"/> + <curve x1="454.65" x2="458.09" x3="463.99" y1="594.8" y2="606.51" y3="615.29"/> + <curve x1="469.88" x2="478.57" x3="488.53" y1="624.08" y2="630.1" y3="630.1"/> + <curve x1="498.48" x2="507.17" x3="513.07" y1="630.1" y2="624.08" y3="615.29"/> + <curve x1="518.97" x2="522.41" x3="522.41" y1="606.51" y2="594.8" y3="581.95"/> + <curve x1="522.41" x2="518.97" x3="513.07" y1="569.1" y2="557.4" y3="548.62"/> + <curve x1="507.17" x2="498.48" x3="488.53" y1="539.83" y2="533.81" y3="533.81"/> + <close/> + <move x="488.53" y="543.26"/> + <curve x1="494.68" x2="500.57" x3="505.22" y1="543.26" y2="546.95" y3="553.88"/> + <curve x1="509.88" x2="512.96" x3="512.96" y1="560.82" y2="570.82" y3="581.95"/> + <curve x1="512.96" x2="509.88" x3="505.22" y1="593.09" y2="603.09" y3="610.03"/> + <curve x1="500.57" x2="494.68" x3="488.53" y1="616.96" y2="620.65" y3="620.65"/> + <curve x1="482.38" x2="476.49" x3="471.83" y1="620.65" y2="616.96" y3="610.03"/> + <curve x1="467.18" x2="464.1" x3="464.1" y1="603.09" y2="593.09" y3="581.95"/> + <curve x1="464.1" x2="467.18" x3="471.83" y1="570.82" y2="560.82" y3="553.88"/> + <curve x1="476.49" x2="482.38" x3="488.53" y1="546.95" y2="543.26" y3="543.26"/> + <close/> + <move x="652.37" y="551.22"/> + <line x="652.37" y="566.52"/> + <line x="663.71" y="566.52"/> + <line x="663.71" y="551.22"/> + <close/> + <move x="306.06" y="551.29"/> + <line x="306.06" y="566.52"/> + <line x="317.4" y="566.6"/> + <line x="317.4" y="551.29"/> + <close/> + <move x="382.12" y="556.97"/> + <line x="342.79" y="580.31"/> + <line x="382.12" y="603.29"/> + <line x="382.12" y="588.2"/> + <line x="428.31" y="588.2"/> + <line x="428.31" y="570.75"/> + <line x="382.12" y="570.75"/> + <close/> + <move x="595.56" y="556.97"/> + <line x="595.56" y="570.75"/> + <line x="549.36" y="570.75"/> + <line x="549.36" y="588.2"/> + <line x="595.56" y="588.2"/> + <line x="595.56" y="603.29"/> + <line x="634.89" y="580.31"/> + <close/> + <move x="652.37" y="579.79"/> + <line x="652.37" y="594.94"/> + <line x="663.71" y="594.94"/> + <line x="663.71" y="579.79"/> + <close/> + <move x="306.06" y="579.94"/> + <line x="306.06" y="595.14"/> + <line x="317.4" y="595.14"/> + <line x="317.4" y="580.02"/> + <close/> + <move x="188.61" y="588.48"/> + <curve x1="200.11" x2="209.66" x3="216.53" y1="601.4" y2="613.64" y3="624.11"/> + <curve x1="221.95" x2="225.68" x3="227.41" y1="632.37" y2="639.57" y3="644.76"/> + <curve x1="228.27" x2="228.61" x3="228.59" y1="647.35" y2="649.44" y3="650.69"/> + <curve x1="228.56" x2="228.32" x3="228.3" y1="651.94" y2="652.13" y3="652.15"/> + <curve x1="228.28" x2="228.09" x3="226.84" y1="652.17" y2="652.41" y3="652.46"/> + <curve x1="225.59" x2="223.51" x3="220.9" y1="652.5" y2="652.2" y3="651.37"/> + <curve x1="215.68" x2="208.43" x3="200.08" y1="649.73" y2="646.1" y3="640.81"/> + <curve x1="189.51" x2="177.13" x3="164.04" y1="634.1" y2="624.75" y3="613.45"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="188.61" x-axis-rotation="0" y="588.48"/> + <close/> + <move x="119.05" y="588.51"/> + <arc large-arc-flag="0" rx="36.11" ry="36.11" sweep-flag="0" x="143.65" x-axis-rotation="0" y="613.46"/> + <curve x1="130.57" x2="118.18" x3="107.61" y1="624.75" y2="634.1" y3="640.81"/> + <curve x1="99.27" x2="92.01" x3="86.8" y1="646.1" y2="649.73" y3="651.37"/> + <curve x1="84.19" x2="82.1" x3="80.85" y1="652.2" y2="652.5" y3="652.46"/> + <curve x1="79.6" x2="79.41" x3="79.39" y1="652.41" y2="652.17" y3="652.15"/> + <curve x1="79.38" x2="79.13" x3="79.11" y1="652.13" y2="651.94" y3="650.69"/> + <curve x1="79.09" x2="79.42" x3="80.28" y1="649.44" y2="647.36" y3="644.76"/> + <curve x1="82.01" x2="85.75" x3="91.17" y1="639.57" y2="632.37" y3="624.11"/> + <curve x1="98.03" x2="107.57" x3="119.05" y1="613.65" y2="601.42" y3="588.51"/> + <close/> + <move x="652.37" y="610.61"/> + <line x="652.37" y="642.35"/> + <line x="619.85" y="642.35"/> + <line x="619.85" y="653.69"/> + <line x="663.71" y="653.69"/> + <line x="663.71" y="610.61"/> + <close/> + <move x="306.06" y="610.65"/> + <line x="306.06" y="653.69"/> + <line x="350.03" y="653.69"/> + <line x="350.03" y="642.35"/> + <line x="317.4" y="642.35"/> + <line x="317.4" y="610.65"/> + <close/> + <move x="404.31" y="642.35"/> + <line x="404.31" y="653.69"/> + <line x="458.36" y="653.69"/> + <line x="458.36" y="642.35"/> + <close/> + <move x="512.49" y="642.35"/> + <line x="512.49" y="653.69"/> + <line x="565.41" y="653.69"/> + <line x="565.41" y="642.35"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="189.89" y="578.8"/> + <arc large-arc-flag="0" rx="36.12" ry="36.12" sweep-flag="1" x="153.78" x-axis-rotation="0" y="614.92"/> + <arc large-arc-flag="0" rx="36.12" ry="36.12" sweep-flag="1" x="117.66" x-axis-rotation="0" y="578.8"/> + <arc large-arc-flag="0" rx="36.12" ry="36.12" sweep-flag="1" x="153.78" x-axis-rotation="0" y="542.68"/> + <arc large-arc-flag="0" rx="36.12" ry="36.12" sweep-flag="1" x="189.89" x-axis-rotation="0" y="578.8"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="279.26" name="nexus 7k" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="71.74" y="189.93"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="88.53" x-axis-rotation="0" y="206.96"/> + <curve x1="79.6" x2="71.14" x3="63.92" y1="214.68" y2="221.07" y3="225.64"/> + <curve x1="58.22" x2="53.27" x3="49.71" y1="229.26" y2="231.73" y3="232.86"/> + <curve x1="47.92" x2="46.5" x3="45.64" y1="233.42" y2="233.63" y3="233.6"/> + <curve x1="44.79" x2="44.66" x3="44.65" y1="233.57" y2="233.4" y3="233.39"/> + <curve x1="44.64" x2="44.47" x3="44.46" y1="233.37" y2="233.25" y3="232.39"/> + <curve x1="44.44" x2="44.67" x3="45.26" y1="231.54" y2="230.11" y3="228.34"/> + <curve x1="46.44" x2="48.99" x3="52.69" y1="224.8" y2="219.88" y3="214.24"/> + <curve x1="57.38" x2="63.89" x3="71.74" y1="207.1" y2="198.74" y3="189.93"/> + <close/> + <move x="119.24" y="189.91"/> + <curve x1="127.09" x2="133.61" x3="138.3" y1="198.73" y2="207.09" y3="214.24"/> + <curve x1="142" x2="144.55" x3="145.73" y1="219.88" y2="224.8" y3="228.34"/> + <curve x1="146.32" x2="146.55" x3="146.54" y1="230.11" y2="231.54" y3="232.39"/> + <curve x1="146.52" x2="146.35" x3="146.34" y1="233.25" y2="233.38" y3="233.39"/> + <curve x1="146.33" x2="146.2" x3="145.35" y1="233.4" y2="233.57" y3="233.6"/> + <curve x1="144.49" x2="143.07" x3="141.28" y1="233.63" y2="233.42" y3="232.86"/> + <curve x1="137.72" x2="132.77" x3="127.07" y1="231.73" y2="229.26" y3="225.64"/> + <curve x1="119.85" x2="111.39" x3="102.46" y1="221.07" y2="214.68" y3="206.96"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="119.24" x-axis-rotation="0" y="189.91"/> + <close/> + <move x="45.65" y="133.04"/> + <curve x1="46.5" x2="47.92" x3="49.71" y1="133.01" y2="133.22" y3="133.78"/> + <curve x1="53.27" x2="58.22" x3="63.92" y1="134.9" y2="137.38" y3="141"/> + <curve x1="71.14" x2="79.6" x3="88.53" y1="145.57" y2="151.96" y3="159.68"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="71.75" x-axis-rotation="0" y="176.73"/> + <curve x1="63.9" x2="57.38" x3="52.69" y1="167.91" y2="159.55" y3="152.4"/> + <curve x1="48.99" x2="46.44" x3="45.26" y1="146.76" y2="141.84" y3="138.3"/> + <curve x1="44.67" x2="44.44" x3="44.46" y1="136.52" y2="135.1" y3="134.25"/> + <curve x1="44.47" x2="44.64" x3="44.65" y1="133.39" y2="133.26" y3="133.25"/> + <curve x1="44.66" x2="44.79" x3="45.65" y1="133.24" y2="133.07" y3="133.04"/> + <close/> + <move x="145.35" y="133.04"/> + <curve x1="146.2" x2="146.33" x3="146.34" y1="133.07" y2="133.23" y3="133.25"/> + <curve x1="146.35" x2="146.52" x3="146.54" y1="133.26" y2="133.39" y3="134.25"/> + <curve x1="146.55" x2="146.32" x3="145.73" y1="135.1" y2="136.52" y3="138.3"/> + <curve x1="144.55" x2="142" x3="138.3" y1="141.84" y2="146.76" y3="152.4"/> + <curve x1="133.61" x2="127.1" x3="119.25" y1="159.54" y2="167.89" y3="176.71"/> + <arc large-arc-flag="0" rx="24.66" ry="24.66" sweep-flag="0" x="102.46" x-axis-rotation="0" y="159.67"/> + <curve x1="111.39" x2="119.85" x3="127.07" y1="151.96" y2="145.57" y3="140.99"/> + <curve x1="132.77" x2="137.72" x3="141.28" y1="137.38" y2="134.9" y3="133.78"/> + <curve x1="143.06" x2="144.49" x3="145.35" y1="133.22" y2="133.01" y3="133.04"/> + <close/> + <move x="95.75" y="115.15"/> + <line x="82.95" y="127.39"/> + <line x="92.01" y="127.39"/> + <line x="92.01" y="153.42"/> + <curve x1="83.28" x2="74.97" x3="67.67" y1="145.96" y2="139.71" y3="135.08"/> + <curve x1="61.66" x2="56.36" x3="51.82" y1="131.27" y2="128.54" y3="127.1"/> + <curve x1="49.54" x2="47.45" x3="45.41" y1="126.38" y2="125.97" y3="126.04"/> + <curve x1="43.36" x2="41.22" x3="39.66" y1="126.11" y2="126.76" y3="128.34"/> + <curve x1="38.11" x2="37.5" x3="37.46" y1="129.91" y2="132.07" y3="134.11"/> + <curve x1="37.42" x2="37.86" x3="38.61" y1="136.16" y2="138.24" y3="140.51"/> + <curve x1="40.12" x2="42.94" x3="46.84" y1="145.03" y2="150.29" y3="156.24"/> + <curve x1="51.5" x2="57.73" x3="65.15" y1="163.34" y2="171.38" y3="179.83"/> + <line x="39.57" y="179.83"/> + <line x="39.57" y="170.77"/> + <line x="27.33" y="183.57"/> + <line x="39.57" y="195.86"/> + <line x="39.57" y="187.46"/> + <line x="64.57" y="187.46"/> + <curve x1="57.4" x2="51.38" x3="46.84" y1="195.67" y2="203.48" y3="210.4"/> + <curve x1="42.94" x2="40.12" x3="38.62" y1="216.35" y2="221.61" y3="226.13"/> + <curve x1="37.86" x2="37.42" x3="37.46" y1="228.39" y2="230.48" y3="232.52"/> + <curve x1="37.49" x2="38.11" x3="39.66" y1="234.57" y2="236.72" y3="238.3"/> + <curve x1="41.21" x2="43.36" x3="45.4" y1="239.87" y2="240.52" y3="240.59"/> + <curve x1="47.45" x2="49.54" x3="51.81" y1="240.66" y2="240.25" y3="239.53"/> + <curve x1="56.36" x2="61.66" x3="67.67" y1="238.1" y2="235.36" y3="231.55"/> + <curve x1="74.97" x2="83.28" x3="92.01" y1="226.92" y2="220.68" y3="213.21"/> + <line x="92.01" y="239.24"/> + <line x="82.95" y="239.24"/> + <line x="95.75" y="251.49"/> + <line x="108.04" y="239.24"/> + <line x="99.64" y="239.24"/> + <line x="99.64" y="213.77"/> + <curve x1="108.13" x2="116.2" x3="123.32" y1="220.99" y2="227.04" y3="231.56"/> + <curve x1="129.33" x2="134.63" x3="139.18" y1="235.36" y2="238.1" y3="239.54"/> + <curve x1="141.45" x2="143.54" x3="145.59" y1="240.25" y2="240.67" y3="240.6"/> + <curve x1="147.63" x2="149.78" x3="151.33" y1="240.53" y2="239.88" y3="238.3"/> + <curve x1="152.88" x2="153.49" x3="153.53" y1="236.73" y2="234.57" y3="232.52"/> + <curve x1="153.57" x2="153.13" x3="152.38" y1="230.48" y2="228.39" y3="226.13"/> + <curve x1="150.87" x2="148.05" x3="144.15" y1="221.61" y2="216.35" y3="210.4"/> + <curve x1="139.62" x2="133.59" x3="126.42" y1="203.49" y2="195.67" y3="187.46"/> + <line x="151.42" y="187.46"/> + <line x="151.42" y="195.86"/> + <line x="163.66" y="183.57"/> + <line x="151.42" y="170.77"/> + <line x="151.42" y="179.83"/> + <line x="125.84" y="179.83"/> + <curve x1="133.26" x2="139.5" x3="144.15" y1="171.38" y2="163.34" y3="156.24"/> + <curve x1="148.05" x2="150.87" x3="152.37" y1="150.29" y2="145.03" y3="140.51"/> + <curve x1="153.13" x2="153.57" x3="153.53" y1="138.24" y2="136.16" y3="134.11"/> + <curve x1="153.49" x2="152.88" x3="151.33" y1="132.07" y2="129.91" y3="128.34"/> + <curve x1="149.78" x2="147.63" x3="145.58" y1="126.76" y2="126.11" y3="126.04"/> + <curve x1="143.54" x2="141.45" x3="139.18" y1="125.97" y2="126.39" y3="127.1"/> + <curve x1="134.63" x2="129.33" x3="123.32" y1="128.54" y2="131.27" y3="135.08"/> + <curve x1="116.2" x2="108.13" x3="99.64" y1="139.6" y2="145.65" y3="152.87"/> + <line x="99.64" y="127.39"/> + <line x="108.04" y="127.39"/> + <close/> + <move x="95.8" y="41.74"/> + <line x="126.42" y="53.71"/> + <line x="126.42" y="55.93"/> + <line x="64.57" y="55.93"/> + <line x="64.57" y="53.95"/> + <close/> + <move x="64.57" y="23.65"/> + <line x="126.42" y="23.65"/> + <line x="126.42" y="26.55"/> + <line x="95.8" y="38.52"/> + <line x="64.57" y="26.31"/> + <close/> + <move x="36.12" y="15.11"/> + <line x="36.12" y="29.19"/> + <line x="63.68" y="29.19"/> + <line x="91.68" y="40.13"/> + <line x="64.57" y="50.73"/> + <line x="64.57" y="50.48"/> + <line x="36.12" y="50.48"/> + <line x="36.12" y="64.56"/> + <line x="64.57" y="64.56"/> + <line x="64.57" y="58.93"/> + <line x="126.42" y="58.93"/> + <line x="126.42" y="64.56"/> + <line x="154.87" y="64.56"/> + <line x="154.87" y="50.48"/> + <line x="126.42" y="50.48"/> + <line x="126.42" y="50.49"/> + <line x="99.92" y="40.13"/> + <line x="127.93" y="29.19"/> + <line x="154.87" y="29.19"/> + <line x="154.87" y="15.11"/> + <line x="126.42" y="15.11"/> + <line x="126.42" y="20.65"/> + <line x="64.57" y="20.65"/> + <line x="64.57" y="15.11"/> + <close/> + <move x="11.72" y="92.66"/> + <line x="179.27" y="92.66"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="92.66" y2="95.48" y3="99.09"/> + <line x="185.7" y="267.55"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="271.15" y2="273.97" y3="273.97"/> + <line x="11.72" y="273.97"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="273.97" y2="271.15" y3="267.55"/> + <line x="5.29" y="99.09"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="95.48" y2="92.66" y3="92.66"/> + <close/> + <move x="11.72" y="87.37"/> + <curve x1="5.27" x2="0" x3="0" y1="87.37" y2="92.64" y3="99.09"/> + <line x="0" y="267.55"/> + <curve x1="0" x2="5.27" x3="11.72" y1="273.99" y2="279.26" y3="279.26"/> + <line x="179.27" y="279.26"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="279.26" y2="273.99" y3="267.55"/> + <line x="190.99" y="99.09"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="92.64" y2="87.37" y3="87.37"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="nexus 9300" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="207.06" y="215.11"/> + <line x="207.06" y="287.97"/> + <line x="240.12" y="287.97"/> + <line x="183.29" y="400.23"/> + <line x="113.21" y="400.23"/> + <line x="113.21" y="473.08"/> + <line x="233.56" y="473.08"/> + <line x="233.56" y="408.64"/> + <line x="317.13" y="357.33"/> + <line x="341.35" y="400.23"/> + <line x="310.02" y="400.23"/> + <line x="310.02" y="473.08"/> + <line x="430.37" y="473.08"/> + <line x="430.37" y="400.23"/> + <line x="399.54" y="400.23"/> + <line x="423.64" y="357.57"/> + <line x="506.83" y="409.54"/> + <line x="506.83" y="473.08"/> + <line x="627.18" y="473.08"/> + <line x="627.18" y="400.23"/> + <line x="558.42" y="400.23"/> + <line x="500.37" y="287.97"/> + <line x="534.84" y="287.97"/> + <line x="534.84" y="215.11"/> + <line x="414.48" y="215.11"/> + <line x="414.48" y="279.8"/> + <line x="370.71" y="306.68"/> + <line x="327.42" y="279.64"/> + <line x="327.42" y="215.11"/> + <close/> + <move x="257.07" y="287.97"/> + <line x="277.97" y="287.97"/> + <line x="309.69" y="344.15"/> + <line x="218.37" y="400.23"/> + <line x="200.23" y="400.23"/> + <close/> + <move x="295.33" y="287.97"/> + <line x="312.22" y="287.97"/> + <line x="356.32" y="315.52"/> + <line x="322.59" y="336.24"/> + <close/> + <move x="430.09" y="287.97"/> + <line x="445.6" y="287.97"/> + <line x="418.25" y="336.38"/> + <line x="385.04" y="315.63"/> + <close/> + <move x="462.96" y="287.97"/> + <line x="483.35" y="287.97"/> + <line x="541.39" y="400.23"/> + <line x="520.45" y="400.23"/> + <line x="431.08" y="344.39"/> + <close/> + <move x="370.64" y="324.47"/> + <line x="410.8" y="349.55"/> + <line x="382.18" y="400.23"/> + <line x="358.71" y="400.23"/> + <line x="330.02" y="349.41"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="279.26" name="nexus 9500" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="33.61" y="153.29"/> + <line x="33.61" y="183.45"/> + <line x="37.56" y="183.45"/> + <line x="37.56" y="171.13"/> + <line x="44.27" y="171.13"/> + <curve x1="47.21" x2="53.62" x3="53.62" y1="171.13" y2="169.14" y3="162.14"/> + <curve x1="53.62" x2="47.46" x3="44.02" y1="155.2" y2="153.29" y3="153.29"/> + <close/> + <move x="37.56" y="156.29"/> + <line x="43.53" y="156.29"/> + <curve x1="46.55" x2="49.14" x3="49.14" y1="156.29" y2="158.68" y3="162.14"/> + <curve x1="49.14" x2="46.85" x3="43.78" y1="165.15" y2="168.13" y3="168.13"/> + <line x="37.56" y="168.13"/> + <close/> + <move x="26.37" y="144.86"/> + <curve x1="22.38" x2="19.11" x3="19.11" y1="144.86" y2="148.13" y3="152.12"/> + <line x="19.11" y="183.57"/> + <curve x1="19.11" x2="22.38" x3="26.37" y1="187.56" y2="190.83" y3="190.83"/> + <line x="58.97" y="190.83"/> + <curve x1="62.96" x2="66.23" x3="66.23" y1="190.83" y2="187.56" y3="183.57"/> + <line x="66.23" y="152.12"/> + <curve x1="66.23" x2="62.96" x3="58.97" y1="148.13" y2="144.86" y3="144.86"/> + <close/> + <move x="26.37" y="148.36"/> + <line x="58.97" y="148.36"/> + <curve x1="61.08" x2="62.73" x3="62.73" y1="148.36" y2="150.01" y3="152.12"/> + <line x="62.73" y="183.57"/> + <curve x1="62.73" x2="61.08" x3="58.97" y1="185.68" y2="187.33" y3="187.33"/> + <line x="26.37" y="187.33"/> + <curve x1="24.26" x2="22.61" x3="22.61" y1="187.33" y2="185.68" y3="183.57"/> + <line x="22.61" y="152.12"/> + <curve x1="22.61" x2="24.26" x3="26.37" y1="150.01" y2="148.36" y3="148.36"/> + <close/> + <move x="76.69" y="104.25"/> + <line x="55.28" y="125.53"/> + <line x="76.69" y="146.8"/> + <line x="76.69" y="132.53"/> + <line x="106.02" y="132.53"/> + <line x="106.02" y="211.91"/> + <curve x1="106.02" x2="103.71" x3="99.07" y1="221.31" y2="230.39" y3="236.64"/> + <curve x1="94.43" x2="87.81" x3="76.14" y1="242.9" y2="246.97" y3="246.97"/> + <curve x1="70.7" x2="64.63" x3="59.85" y1="246.97" y2="244.96" y3="239.93"/> + <curve x1="55.83" x2="52.45" x3="51.48" y1="235.7" y2="229.15" y3="218.91"/> + <line x="65.47" y="218.91"/> + <line x="44.19" y="197.5"/> + <line x="22.91" y="218.91"/> + <line x="37.44" y="218.91"/> + <curve x1="38.51" x2="43.09" x3="49.7" y1="232.39" y2="242.62" y3="249.57"/> + <curve x1="57.29" x2="67.2" x3="76.14" y1="257.57" y2="260.97" y3="260.97"/> + <curve x1="91.45" x2="103.26" x3="110.32" y1="260.97" y2="254.5" y3="244.98"/> + <curve x1="117.38" x2="120.02" x3="120.02" y1="235.46" y2="223.51" y3="211.91"/> + <line x="120.02" y="132.53"/> + <line x="148.66" y="132.53"/> + <line x="148.66" y="146.8"/> + <line x="170.07" y="125.53"/> + <line x="148.66" y="104.25"/> + <line x="148.66" y="118.53"/> + <line x="76.69" y="118.53"/> + <close/> + <move x="95.58" y="35.9"/> + <line x="103.39" y="40.77"/> + <line x="97.82" y="50.62"/> + <line x="93.26" y="50.62"/> + <line x="87.69" y="40.74"/> + <close/> + <move x="113.52" y="28.8"/> + <line x="117.49" y="28.8"/> + <line x="128.77" y="50.62"/> + <line x="124.7" y="50.62"/> + <line x="107.33" y="39.77"/> + <close/> + <move x="107.14" y="28.8"/> + <line x="110.15" y="28.8"/> + <line x="104.83" y="38.21"/> + <line x="98.38" y="34.18"/> + <close/> + <move x="80.95" y="28.8"/> + <line x="84.23" y="28.8"/> + <line x="92.8" y="34.16"/> + <line x="86.24" y="38.18"/> + <close/> + <move x="73.51" y="28.8"/> + <line x="77.57" y="28.8"/> + <line x="83.74" y="39.72"/> + <line x="65.99" y="50.62"/> + <line x="62.46" y="50.62"/> + <close/> + <move x="63.79" y="14.64"/> + <line x="63.79" y="28.8"/> + <line x="70.22" y="28.8"/> + <line x="59.17" y="50.62"/> + <line x="45.55" y="50.62"/> + <line x="45.55" y="64.78"/> + <line x="68.94" y="64.78"/> + <line x="68.94" y="52.25"/> + <line x="85.18" y="42.28"/> + <line x="89.89" y="50.62"/> + <line x="83.8" y="50.62"/> + <line x="83.8" y="64.78"/> + <line x="107.19" y="64.78"/> + <line x="107.19" y="50.62"/> + <line x="101.2" y="50.62"/> + <line x="105.88" y="42.33"/> + <line x="122.05" y="52.43"/> + <line x="122.05" y="64.78"/> + <line x="145.44" y="64.78"/> + <line x="145.44" y="50.62"/> + <line x="132.07" y="50.62"/> + <line x="120.79" y="28.8"/> + <line x="127.49" y="28.8"/> + <line x="127.49" y="14.64"/> + <line x="104.1" y="14.64"/> + <line x="104.1" y="27.22"/> + <line x="95.6" y="32.44"/> + <line x="87.18" y="27.18"/> + <line x="87.18" y="14.64"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="87.37"/> + <curve x1="5.27" x2="0" x3="0" y1="87.37" y2="92.64" y3="99.09"/> + <line x="0" y="267.55"/> + <curve x1="0" x2="5.27" x3="11.72" y1="273.99" y2="279.26" y3="279.26"/> + <line x="179.27" y="279.26"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="279.26" y2="273.99" y3="267.55"/> + <line x="190.99" y="99.09"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="92.64" y2="87.37" y3="87.37"/> + <close/> + <move x="11.72" y="92.66"/> + <line x="179.27" y="92.66"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="92.66" y2="95.48" y3="99.09"/> + <line x="185.7" y="267.55"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="271.15" y2="273.97" y3="273.97"/> + <line x="11.72" y="273.97"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="273.97" y2="271.15" y3="267.55"/> + <line x="5.29" y="99.09"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="95.48" y2="92.66" y3="92.66"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="operations manager" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="512.71" y="454.84"/> + <curve x1="506.08" x2="500.03" x3="495.16" y1="454.84" y2="456.16" y3="458.7"/> + <curve x1="490.29" x2="485.94" x3="485.94" y1="461.25" y2="465.55" y3="471.53"/> + <curve x1="485.94" x2="487.96" x3="490.78" y1="475.59" y2="478.88" y3="481.37"/> + <line x="492.27" y="492.05"/> + <line x="354.9" y="492.05"/> + <curve x1="340.79" x2="328.25" x3="318.53" y1="492.05" y2="498.1" y3="506.36"/> + <curve x1="308.81" x2="301.75" x3="298.32" y1="514.63" y2="525.1" y3="535.15"/> + <line x="298.27" y="535.32"/> + <line x="282.02" y="595.62"/> + <line x="281.98" y="595.77"/> + <curve x1="279.26" x2="284.47" x3="292.08" y1="608.5" y2="620.87" y3="630"/> + <curve x1="299.69" x2="309.72" x3="320.06" y1="639.13" y2="645.72" y3="645.72"/> + <line x="613.83" y="645.72"/> + <curve x1="626.17" x2="638.33" x3="646.96" y1="645.72" y2="639.51" y3="630.3"/> + <curve x1="655.58" x2="660.83" x3="656.98" y1="621.09" y2="608.17" y3="595.14"/> + <line x="656.97" y="595.12"/> + <line x="638.08" y="532.79"/> + <line x="638.07" y="532.77"/> + <curve x1="630.54" x2="604" x3="582.49" y1="506.82" y2="492.05" y3="492.05"/> + <line x="537.26" y="492.05"/> + <line x="537.25" y="478.46"/> + <curve x1="538.62" x2="539.48" x3="539.48" y1="476.48" y2="474.17" y3="471.53"/> + <curve x1="539.48" x2="535.11" x3="530.25" y1="465.55" y2="461.25" y3="458.7"/> + <curve x1="525.38" x2="519.33" x3="512.71" y1="456.16" y2="454.84" y3="454.84"/> + <close/> + <move x="393.54" y="235.76"/> + <line x="393.54" y="243.31"/> + <line x="393.54" y="396.74"/> + <line x="551.49" y="396.74"/> + <line x="551.49" y="235.76"/> + <close/> + <move x="100.26" y="168.95"/> + <line x="133.56" y="232.65"/> + <line x="147.6" y="210.68"/> + <line x="207.88" y="249.2"/> + <line x="207.88" y="307.16"/> + <line x="129.98" y="307.16"/> + <line x="129.98" y="281.09"/> + <line x="67.63" y="316.84"/> + <line x="129.98" y="350.44"/> + <line x="129.98" y="324.37"/> + <line x="207.88" y="324.37"/> + <line x="207.88" y="382.33"/> + <line x="147.6" y="420.85"/> + <line x="133.56" y="398.88"/> + <line x="100.26" y="462.58"/> + <line x="170.9" y="457.32"/> + <line x="156.86" y="435.35"/> + <line x="216.16" y="397.46"/> + <line x="365.82" y="397.46"/> + <line x="365.82" y="236.46"/> + <line x="219.89" y="236.46"/> + <line x="156.86" y="196.18"/> + <line x="170.9" y="174.21"/> + <close/> + <move x="844.77" y="167.91"/> + <line x="774.13" y="173.18"/> + <line x="788.17" y="195.14"/> + <line x="725.14" y="235.43"/> + <line x="579.21" y="235.43"/> + <line x="579.21" y="396.42"/> + <line x="728.88" y="396.42"/> + <line x="788.17" y="434.31"/> + <line x="774.13" y="456.28"/> + <line x="844.77" y="461.54"/> + <line x="811.48" y="397.84"/> + <line x="797.44" y="419.81"/> + <line x="737.16" y="381.29"/> + <line x="737.16" y="323.33"/> + <line x="815.05" y="323.33"/> + <line x="815.05" y="349.4"/> + <line x="877.41" y="315.8"/> + <line x="815.05" y="280.05"/> + <line x="815.05" y="306.12"/> + <line x="737.16" y="306.12"/> + <line x="737.16" y="248.16"/> + <line x="797.44" y="209.64"/> + <line x="811.48" y="231.61"/> + <close/> + <move x="463.92" y="84.2"/> + <line x="463.92" y="164.84"/> + <line x="437.84" y="164.84"/> + <line x="473.59" y="227.2"/> + <line x="507.19" y="164.84"/> + <line x="481.12" y="164.84"/> + <line x="481.12" y="84.2"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="354.9" y="503.39"/> + <line x="493.86" y="503.39"/> + <line x="499.67" y="545.04"/> + <curve x1="500.97" x2="509.09" x3="520.71" y1="554.42" y2="561.67" y3="561.67"/> + <curve x1="531.44" x2="537.3" x3="537.3" y1="561.67" y2="554.63" y3="546.76"/> + <line x="537.27" y="503.39"/> + <line x="582.49" y="503.39"/> + <curve x1="598.47" x2="621.43" x3="627.19" y1="503.39" y2="516.06" y3="535.95"/> + <line x="627.2" y="535.98"/> + <line x="646.12" y="598.39"/> + <curve x1="648.57" x2="645.31" x3="638.68" y1="606.77" y2="615.47" y3="622.55"/> + <curve x1="632.04" x2="622.18" x3="613.83" y1="629.64" y2="634.39" y3="634.39"/> + <line x="320.06" y="634.39"/> + <curve x1="315.25" x2="306.78" x3="300.79" y1="634.39" y2="629.92" y3="622.74"/> + <curve x1="294.81" x2="291.33" x3="293.07" y1="615.57" y2="606.4" y3="598.17"/> + <line x="309.07" y="538.78"/> + <curve x1="311.71" x2="317.75" x3="325.87" y1="531.05" y2="521.9" y3="515"/> + <curve x1="334" x2="344.03" x3="354.9" y1="508.08" y2="503.39" y3="503.39"/> + <close/> + <move x="512.71" y="466.17"/> + <curve x1="517.74" x2="522.23" x3="525" y1="466.17" y2="467.31" y3="468.76"/> + <curve x1="527.77" x2="528.14" x3="528.14" y1="470.2" y2="471.42" y3="471.53"/> + <curve x1="528.14" x2="527.77" x3="525" y1="471.64" y2="472.84" y3="474.29"/> + <curve x1="522.23" x2="517.74" x3="512.71" y1="475.73" y2="476.87" y3="476.87"/> + <curve x1="507.68" x2="503.18" x3="500.41" y1="476.87" y2="475.73" y3="474.29"/> + <curve x1="497.64" x2="497.27" x3="497.27" y1="472.84" y2="471.64" y3="471.53"/> + <curve x1="497.27" x2="497.64" x3="500.41" y1="471.42" y2="470.2" y3="468.76"/> + <curve x1="503.18" x2="507.68" x3="512.71" y1="467.31" y2="466.17" y3="466.17"/> + <close/> + <move x="222.99" y="251.58"/> + <line x="350.71" y="251.58"/> + <line x="350.71" y="382.34"/> + <line x="222.99" y="382.34"/> + <close/> + <move x="408.66" y="250.87"/> + <line x="536.38" y="250.87"/> + <line x="536.38" y="381.62"/> + <line x="408.66" y="381.62"/> + <close/> + <move x="594.33" y="250.54"/> + <line x="722.04" y="250.54"/> + <line x="722.04" y="381.3"/> + <line x="594.33" y="381.3"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="205.15" name="phone polycom" strokewidth="inherit" w="194.27"> + <connections/> + <foreground> + <save/> + <fillcolor color="#00bceb"/> + <fillalpha alpha="1"/> + <path> + <move x="137.62" y="101.4"/> + <arc large-arc-flag="0" rx="42.52" ry="42.52" sweep-flag="1" x="95.1" x-axis-rotation="0" y="143.93"/> + <arc large-arc-flag="0" rx="42.52" ry="42.52" sweep-flag="1" x="52.58" x-axis-rotation="0" y="101.4"/> + <arc large-arc-flag="0" rx="42.52" ry="42.52" sweep-flag="1" x="95.1" x-axis-rotation="0" y="58.88"/> + <arc large-arc-flag="0" rx="42.52" ry="42.52" sweep-flag="1" x="137.62" x-axis-rotation="0" y="101.4"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <path> + <move x="103.23" y="183.8"/> + <line x="103.23" y="189.01"/> + <line x="111.11" y="189.01"/> + <line x="111.11" y="183.8"/> + <close/> + <move x="91.51" y="183.8"/> + <line x="91.51" y="189.01"/> + <line x="99.39" y="189.01"/> + <line x="99.39" y="183.8"/> + <close/> + <move x="79.8" y="183.8"/> + <line x="79.8" y="189.01"/> + <line x="87.68" y="189.01"/> + <line x="87.68" y="183.8"/> + <close/> + <move x="103.23" y="173.79"/> + <line x="103.23" y="179"/> + <line x="111.11" y="179"/> + <line x="111.11" y="173.79"/> + <close/> + <move x="91.51" y="173.79"/> + <line x="91.51" y="179"/> + <line x="99.39" y="179"/> + <line x="99.39" y="173.79"/> + <close/> + <move x="79.8" y="173.79"/> + <line x="79.8" y="179"/> + <line x="87.68" y="179"/> + <line x="87.68" y="173.79"/> + <close/> + <move x="103.23" y="163.78"/> + <line x="103.23" y="169"/> + <line x="111.11" y="169"/> + <line x="111.11" y="163.78"/> + <close/> + <move x="91.51" y="163.78"/> + <line x="91.51" y="169"/> + <line x="99.39" y="169"/> + <line x="99.39" y="163.78"/> + <close/> + <move x="79.8" y="163.78"/> + <line x="79.8" y="169"/> + <line x="87.68" y="169"/> + <line x="87.68" y="163.78"/> + <close/> + <move x="96.15" y="157.1"/> + <curve x1="111.26" x2="125.98" x3="140" y1="157.11" y2="158.22" y3="160.42"/> + <curve x1="136.19" x2="117.47" x3="94.89" y1="181.89" y2="198.15" y3="198.15"/> + <curve x1="72.27" x2="53.54" x3="49.76" y1="198.15" y2="181.85" y3="160.33"/> + <curve x1="65.41" x2="80.98" x3="96.15" y1="158.17" y2="157.09" y3="157.1"/> + <close/> + <move x="85.47" y="6"/> + <line x="88.89" y="6"/> + <line x="88.89" y="28.05"/> + <line x="91.54" y="28.05"/> + <line x="91.54" y="6"/> + <line x="94" y="6"/> + <line x="94" y="28.05"/> + <line x="96.64" y="28.05"/> + <line x="96.64" y="6"/> + <line x="99.1" y="6"/> + <line x="99.1" y="28.05"/> + <line x="101.75" y="28.05"/> + <line x="101.75" y="6"/> + <line x="107.02" y="6"/> + <curve x1="120.97" x2="157.87" x3="187" y1="60.31" y2="108.16" y3="134.68"/> + <line x="183.43" y="142.43"/> + <line x="164.14" y="131.78"/> + <line x="162.86" y="134.1"/> + <line x="182.32" y="144.84"/> + <line x="181.28" y="147.08"/> + <line x="161.67" y="136.25"/> + <line x="160.39" y="138.57"/> + <line x="180.17" y="149.49"/> + <line x="179.14" y="151.73"/> + <line x="159.21" y="140.72"/> + <line x="157.93" y="143.03"/> + <line x="178.03" y="154.14"/> + <line x="174.27" y="162.3"/> + <curve x1="129.58" x2="74.44" x3="20.34" y1="148.24" y2="147.64" y3="159.57"/> + <line x="16.77" y="152.5"/> + <line x="36.56" y="141.56"/> + <line x="35.28" y="139.25"/> + <line x="15.57" y="150.13"/> + <line x="14.47" y="147.94"/> + <line x="34.1" y="137.1"/> + <line x="32.82" y="134.78"/> + <line x="13.27" y="145.57"/> + <line x="12.16" y="143.38"/> + <line x="31.63" y="132.63"/> + <line x="30.35" y="130.32"/> + <line x="10.97" y="141.02"/> + <line x="7.29" y="133.72"/> + <curve x1="48.33" x2="74.97" x3="85.47" y1="92.52" y2="46.82" y3="6"/> + <close/> + <move x="80.87" y="0"/> + <line x="80.31" y="2.29"/> + <curve x1="70.44" x2="43.57" x3="1.55" y1="42.79" y2="89.36" y3="131.06"/> + <line x="0" y="132.59"/> + <line x="17.06" y="166.4"/> + <line x="19.35" y="165.88"/> + <curve x1="27.16" x2="35.01" x3="42.84" y1="164.1" y2="162.6" y3="161.36"/> + <curve x1="47.14" x2="68.83" x3="94.89" y1="186.2" y2="205.15" y3="205.15"/> + <curve x1="120.85" x2="142.5" x3="146.9" y1="205.15" y2="186.32" y3="161.6"/> + <curve x1="156.67" x2="166.07" x3="174.98" y1="163.42" y2="165.8" y3="168.73"/> + <line x="177.53" y="169.57"/> + <line x="194.27" y="133.23"/> + <line x="192.62" y="131.75"/> + <curve x1="163.71" x2="125.52" x3="112.22" y1="105.95" y2="56.79" y3="2.29"/> + <line x="111.66" y="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="policy configuration" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="93.58" y="142.68"/> + <line x="86.84" y="155.35"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="85.7" x-axis-rotation="0" y="159.4"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="93.58" x-axis-rotation="0" y="167.29"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="101.47" x-axis-rotation="0" y="159.4"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="100.24" x-axis-rotation="0" y="155.19"/> + <close/> + <move x="65.62" y="142.68"/> + <line x="58.88" y="155.35"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="57.74" x-axis-rotation="0" y="159.4"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="65.63" x-axis-rotation="0" y="167.29"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="73.51" x-axis-rotation="0" y="159.4"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="72.28" x-axis-rotation="0" y="155.19"/> + <close/> + <move x="121.54" y="142.68"/> + <line x="114.79" y="155.35"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="113.66" x-axis-rotation="0" y="159.4"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="121.54" x-axis-rotation="0" y="167.29"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="129.42" x-axis-rotation="0" y="159.4"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="128.2" x-axis-rotation="0" y="155.19"/> + <close/> + <move x="79.6" y="119.26"/> + <line x="72.86" y="131.93"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="71.72" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="79.6" x-axis-rotation="0" y="143.87"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="87.49" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="86.26" x-axis-rotation="0" y="131.77"/> + <close/> + <move x="51.64" y="119.26"/> + <line x="44.9" y="131.93"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="43.76" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="51.65" x-axis-rotation="0" y="143.87"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="59.53" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="58.3" x-axis-rotation="0" y="131.77"/> + <close/> + <move x="107.56" y="119.26"/> + <line x="100.81" y="131.93"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="99.68" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="107.56" x-axis-rotation="0" y="143.87"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="115.44" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="114.22" x-axis-rotation="0" y="131.77"/> + <close/> + <move x="135.52" y="119.26"/> + <line x="128.77" y="131.93"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="127.64" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="135.52" x-axis-rotation="0" y="143.87"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="143.4" x-axis-rotation="0" y="135.99"/> + <arc large-arc-flag="0" rx="7.88" ry="7.88" sweep-flag="0" x="142.18" x-axis-rotation="0" y="131.77"/> + <close/> + <move x="104.93" y="26.84"/> + <curve x1="102.43" x2="99.89" x3="97.38" y1="26.88" y2="27.14" y3="27.65"/> + <curve x1="85.8" x2="78.35" x3="76.49" y1="30.67" y2="36.99" y3="47.5"/> + <curve x1="68.17" x2="60.01" x3="54.98" y1="43.1" y2="44.13" y3="47.92"/> + <curve x1="48.84" x2="46.96" x3="47.8" y1="52.89" y2="59.07" y3="64.84"/> + <curve x1="33.04" x2="22.93" x3="22.93" y1="64.7" y2="74.51" y3="89.56"/> + <curve x1="22.93" x2="28.65" x3="47.11" y1="99.31" y2="115.3" y3="115.3"/> + <line x="139.02" y="115.27"/> + <curve x1="155.77" x2="163.14" x3="164.02" y1="115.27" y2="108.75" y3="97.83"/> + <curve x1="165.37" x2="160.46" x3="150.03" y1="88.37" y2="78.26" y3="76.14"/> + <curve x1="150" x2="149.13" x3="146.91" y1="72.35" y2="70.69" y3="67.82"/> + <curve x1="144.59" x2="141.78" x3="138.83" y1="65.38" y2="64.55" y3="64.7"/> + <curve x1="140.13" x2="140.39" x3="132.21" y1="56.44" y2="46.87" y3="37.57"/> + <curve x1="126.14" x2="115.79" x3="104.93" y1="30.78" y2="26.68" y3="26.84"/> + <close/> + <move x="96.79" y="53.4"/> + <line x="118.81" y="58.34"/> + <line x="118.81" y="75.98"/> + <curve x1="118.81" x2="109.95" x3="97.41" y1="88.32" y2="101.77" y3="106.16"/> + <line x="96.78" y="106.38"/> + <line x="96.16" y="106.16"/> + <curve x1="85.54" x2="74.76" x3="74.76" y1="102.43" y2="91.83" y3="75.98"/> + <line x="74.76" y="59.84"/> + <line x="74.76" y="58.34"/> + <close/> + <move x="96.79" y="57.25"/> + <line x="92.51" y="58.21"/> + <line x="92.53" y="60.32"/> + <line x="85.31" y="61.94"/> + <line x="85.34" y="59.82"/> + <line x="78.52" y="61.35"/> + <line x="78.52" y="75.98"/> + <curve x1="78.52" x2="87.68" x3="96.77" y1="89.8" y2="98.88" y3="102.34"/> + <curve x1="107.2" x2="115.05" x3="115.05" y1="98.33" y2="86.25" y3="75.98"/> + <line x="115.05" y="61.35"/> + <line x="108.23" y="59.82"/> + <line x="108.27" y="61.94"/> + <line x="101.04" y="60.32"/> + <line x="101.06" y="58.21"/> + <close/> + <move x="96.71" y="64.64"/> + <line x="108.13" y="67.94"/> + <line x="87.62" y="88.99"/> + <curve x1="85.15" x2="83.45" x3="83.45" y1="85.24" y2="80.29" y3="73.95"/> + <line x="83.31" y="67.99"/> + <close/> + <move x="110.26" y="70.47"/> + <line x="110.25" y="73.95"/> + <curve x1="110.25" x2="103.81" x3="96.85" y1="84.38" y2="93.58" y3="97.06"/> + <curve x1="94.43" x2="91.87" x3="89.64" y1="95.92" y2="94.14" y3="91.63"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="pos" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="102.24" y="54.02"/> + <line x="106.12" y="53.5"/> + <quad x1="106.79" x2="108.38" y1="56.8" y2="58.26"/> + <quad x1="109.99" x2="112.3" y1="59.7" y2="59.7"/> + <quad x1="115.03" x2="116.91" y1="59.7" y2="57.81"/> + <quad x1="118.8" x2="118.8" y1="55.91" y2="53.12"/> + <quad x1="118.8" x2="117.06" y1="50.45" y2="48.72"/> + <quad x1="115.31" x2="112.62" y1="46.98" y2="46.98"/> + <quad x1="111.52" x2="109.89" y1="46.98" y2="47.41"/> + <line x="110.32" y="44.01"/> + <quad x1="110.71" x2="110.94" y1="44.05" y2="44.05"/> + <quad x1="113.42" x2="115.4" y1="44.05" y2="42.76"/> + <quad x1="117.38" x2="117.38" y1="41.47" y2="38.77"/> + <quad x1="117.38" x2="115.94" y1="36.64" y2="35.24"/> + <quad x1="114.49" x2="112.21" y1="33.84" y2="33.84"/> + <quad x1="109.95" x2="108.44" y1="33.84" y2="35.27"/> + <quad x1="106.94" x2="106.51" y1="36.69" y2="39.53"/> + <line x="102.63" y="38.84"/> + <quad x1="103.34" x2="105.86" y1="34.94" y2="32.81"/> + <quad x1="108.38" x2="112.13" y1="30.66" y2="30.66"/> + <quad x1="114.71" x2="116.88" y1="30.66" y2="31.78"/> + <quad x1="119.06" x2="120.2" y1="32.88" y2="34.79"/> + <quad x1="121.36" x2="121.36" y1="36.71" y2="38.86"/> + <quad x1="121.36" x2="120.27" y1="40.91" y2="42.59"/> + <quad x1="119.17" x2="117.01" y1="44.27" y2="45.26"/> + <quad x1="119.81" x2="121.36" y1="45.9" y2="47.95"/> + <quad x1="122.91" x2="122.91" y1="49.97" y2="53.03"/> + <quad x1="122.91" x2="119.9" y1="57.16" y2="60.05"/> + <quad x1="116.88" x2="112.28" y1="62.91" y2="62.91"/> + <quad x1="108.12" x2="105.37" y1="62.91" y2="60.44"/> + <quad x1="102.63" x2="102.24" y1="57.96" y2="54.02"/> + <close/> + <move x="98.04" y="58.63"/> + <line x="98.04" y="62.35"/> + <line x="77.18" y="62.35"/> + <quad x1="77.14" x2="77.63" y1="60.95" y2="59.66"/> + <quad x1="78.43" x2="80.17" y1="57.53" y2="55.46"/> + <quad x1="81.94" x2="85.25" y1="53.4" y2="50.68"/> + <quad x1="90.4" x2="92.21" y1="46.46" y2="44.01"/> + <quad x1="94.02" x2="94.02" y1="41.53" y2="39.33"/> + <quad x1="94.02" x2="92.36" y1="37.03" y2="35.46"/> + <quad x1="90.72" x2="88.08" y1="33.87" y2="33.87"/> + <quad x1="85.28" x2="83.6" y1="33.87" y2="35.55"/> + <quad x1="81.92" x2="81.9" y1="37.22" y2="40.2"/> + <line x="77.91" y="39.79"/> + <quad x1="78.32" x2="80.99" y1="35.33" y2="33"/> + <quad x1="83.66" x2="88.16" y1="30.66" y2="30.66"/> + <quad x1="92.7" x2="95.35" y1="30.66" y2="33.18"/> + <quad x1="98" x2="98" y1="35.7" y2="39.42"/> + <quad x1="98" x2="97.23" y1="41.32" y2="43.15"/> + <quad x1="96.45" x2="94.64" y1="44.98" y2="47"/> + <quad x1="92.86" x2="88.68" y1="49.02" y2="52.56"/> + <quad x1="85.19" x2="84.2" y1="55.48" y2="56.54"/> + <quad x1="83.21" x2="82.56" y1="57.57" y2="58.63"/> + <close/> + <move x="67.73" y="62.35"/> + <line x="63.85" y="62.35"/> + <line x="63.85" y="37.66"/> + <quad x1="62.45" x2="60.17" y1="38.99" y2="40.33"/> + <quad x1="57.91" x2="56.1" y1="41.66" y2="42.33"/> + <line x="56.1" y="38.58"/> + <quad x1="59.35" x2="61.78" y1="37.05" y2="34.88"/> + <quad x1="64.22" x2="65.23" y1="32.7" y2="30.66"/> + <line x="67.73" y="30.66"/> + <close/> + <move x="37.73" y="66.9"/> + <line x="37.73" y="63.02"/> + <quad x1="34.83" x2="33" y1="62.65" y2="61.73"/> + <quad x1="31.19" x2="29.85" y1="60.78" y2="58.69"/> + <quad x1="28.54" x2="28.32" y1="56.6" y2="53.59"/> + <line x="32.22" y="52.86"/> + <quad x1="32.67" x2="33.81" y1="55.98" y2="57.44"/> + <quad x1="35.45" x2="37.73" y1="59.51" y2="59.75"/> + <line x="37.73" y="47.41"/> + <quad x1="35.34" x2="32.85" y1="46.96" y2="45.56"/> + <quad x1="30.99" x2="29.98" y1="44.52" y2="42.69"/> + <quad x1="28.99" x2="28.99" y1="40.86" y2="38.54"/> + <quad x1="28.99" x2="31.92" y1="34.4" y2="31.84"/> + <quad x1="33.88" x2="37.73" y1="30.12" y2="29.73"/> + <line x="37.73" y="27.88"/> + <line x="40.02" y="27.88"/> + <line x="40.02" y="29.73"/> + <quad x1="43.4" x2="45.38" y1="30.05" y2="31.71"/> + <quad x1="47.92" x2="48.44" y1="33.82" y2="37.5"/> + <line x="44.43" y="38.11"/> + <quad x1="44.09" x2="42.99" y1="35.83" y2="34.62"/> + <quad x1="41.91" x2="40.02" y1="33.39" y2="33"/> + <line x="40.02" y="44.18"/> + <quad x1="42.94" x2="43.89" y1="44.91" y2="45.32"/> + <quad x1="45.7" x2="46.84" y1="46.12" y2="47.26"/> + <quad x1="47.98" x2="48.59" y1="48.4" y2="49.97"/> + <quad x1="49.21" x2="49.21" y1="51.54" y2="53.37"/> + <quad x1="49.21" x2="46.65" y1="57.4" y2="60.09"/> + <quad x1="44.09" x2="40.02" y1="62.78" y2="62.98"/> + <line x="40.02" y="66.9"/> + <close/> + <move x="37.73" y="32.96"/> + <quad x1="35.47" x2="34.16" y1="33.31" y2="34.77"/> + <quad x1="32.87" x2="32.87" y1="36.23" y2="38.24"/> + <quad x1="32.87" x2="33.97" y1="40.22" y2="41.55"/> + <quad x1="35.09" x2="37.73" y1="42.89" y2="43.68"/> + <close/> + <move x="40.02" y="59.75"/> + <quad x1="42.28" x2="43.74" y1="59.47" y2="57.79"/> + <quad x1="45.23" x2="45.23" y1="56.11" y2="53.63"/> + <quad x1="45.23" x2="44.17" y1="51.52" y2="50.25"/> + <quad x1="43.14" x2="40.02" y1="48.96" y2="47.95"/> + <close/> + <move x="84.9" y="134.43"/> + <line x="109.02" y="134.43"/> + <line x="109.02" y="158.23"/> + <line x="84.9" y="158.23"/> + <close/> + <move x="53.41" y="134.43"/> + <line x="77.54" y="134.43"/> + <line x="77.54" y="158.23"/> + <line x="53.41" y="158.23"/> + <close/> + <move x="21.93" y="134.43"/> + <line x="46.05" y="134.43"/> + <line x="46.05" y="158.23"/> + <line x="21.93" y="158.23"/> + <close/> + <move x="84.9" y="103.33"/> + <line x="109.02" y="103.33"/> + <line x="109.02" y="127.14"/> + <line x="84.9" y="127.14"/> + <close/> + <move x="53.41" y="103.33"/> + <line x="77.54" y="103.33"/> + <line x="77.54" y="127.14"/> + <line x="53.41" y="127.14"/> + <close/> + <move x="21.93" y="103.33"/> + <line x="46.05" y="103.33"/> + <line x="46.05" y="127.14"/> + <line x="21.93" y="127.14"/> + <close/> + <move x="84.9" y="72.23"/> + <line x="109.02" y="72.23"/> + <line x="109.02" y="96.04"/> + <line x="84.9" y="96.04"/> + <close/> + <move x="53.41" y="72.23"/> + <line x="77.54" y="72.23"/> + <line x="77.54" y="96.04"/> + <line x="53.41" y="96.04"/> + <close/> + <move x="21.93" y="72.23"/> + <line x="46.05" y="72.23"/> + <line x="46.05" y="96.04"/> + <line x="21.93" y="96.04"/> + <close/> + <move x="138.14" y="143.06"/> + <line x="227" y="143.06"/> + <line x="227" y="158.48"/> + <line x="138.14" y="158.48"/> + <close/> + <move x="145.58" y="31.63"/> + <line x="219.65" y="31.63"/> + <curve x1="223.75" x2="227" x3="227" y1="31.63" y2="34.93" y3="39.02"/> + <line x="227" y="127.22"/> + <curve x1="227" x2="223.75" x3="219.65" y1="131.32" y2="134.61" y3="134.61"/> + <line x="145.58" y="134.61"/> + <curve x1="141.49" x2="138.14" x3="138.14" y1="134.61" y2="131.32" y3="127.22"/> + <line x="138.14" y="39.02"/> + <curve x1="138.14" x2="141.49" x3="145.58" y1="34.93" y2="31.63" y3="31.63"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="posture assessment" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="115.29" y="84.86"/> + <arc large-arc-flag="0" rx="3.29" ry="3.29" sweep-flag="0" x="112" x-axis-rotation="0" y="81.57"/> + <arc large-arc-flag="0" rx="3.29" ry="3.29" sweep-flag="0" x="108.7" x-axis-rotation="0" y="84.86"/> + <arc large-arc-flag="0" rx="3.29" ry="3.29" sweep-flag="0" x="112" x-axis-rotation="0" y="88.16"/> + <arc large-arc-flag="0" rx="3.29" ry="3.29" sweep-flag="0" x="115.29" x-axis-rotation="0" y="84.86"/> + <close/> + <move x="63.45" y="106.75"/> + <line x="65.01" y="102.9"/> + <curve x1="65.6" x2="66.25" x3="67.91" y1="101.36" y2="100.47" y3="99.83"/> + <line x="90.59" y="90.43"/> + <curve x1="92.64" x2="92.74" x3="93.18" y1="89.34" y2="88.81" y3="85.82"/> + <curve x1="94.39" x2="99.38" x3="107.88" y1="78.79" y2="73.12" y3="73.12"/> + <curve x1="115.89" x2="123.12" x3="123.12" y1="73.12" y2="79.38" y3="88.01"/> + <curve x1="123.12" x2="115.84" x3="108.01" y1="96.18" y2="103.47" y3="103.47"/> + <curve x1="104.3" x2="99.73" x3="97.2" y1="103.47" y2="101.84" y3="98.77"/> + <curve x1="96.6" x2="96.07" x3="95.58" y1="98.62" y2="98.84" y3="99.28"/> + <line x="93.93" y="103.89"/> + <line x="92.28" y="104.33"/> + <line x="90.48" y="100.84"/> + <line x="86.4" y="103.23"/> + <line x="84.75" y="106.02"/> + <line x="83.67" y="106.55"/> + <line x="81.89" y="105.93"/> + <line x="79.55" y="106.55"/> + <line x="79.11" y="108.48"/> + <line x="77.04" y="109.56"/> + <line x="74.45" y="108.92"/> + <line x="73.42" y="109.4"/> + <line x="72.3" y="111.91"/> + <line x="70.47" y="112.5"/> + <line x="64.35" y="110.15"/> + <curve x1="63.33" x2="62.67" x3="63.45" y1="109.68" y2="108.41" y3="106.75"/> + <close/> + <move x="93.67" y="21.64"/> + <curve x1="52.11" x2="18.33" x3="18.33" y1="21.64" y2="55.41" y3="96.98"/> + <curve x1="18.33" x2="52.11" x3="93.67" y1="138.54" y2="172.31" y3="172.31"/> + <curve x1="135.24" x2="169.01" x3="169.01" y1="172.31" y2="138.54" y3="96.98"/> + <curve x1="169.01" x2="135.24" x3="93.67" y1="55.41" y2="21.64" y3="21.64"/> + <close/> + <move x="95.04" y="28.66"/> + <curve x1="104.02" x2="112.57" x3="120.37" y1="28.83" y2="30.73" y3="34.04"/> + <curve x1="120.41" x2="120.43" x3="120.41" y1="37.35" y2="40.49" y3="43.54"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="109.15" x-axis-rotation="0" y="55.15"/> + <curve x1="108.85" x2="108.55" x3="108.24" y1="55.06" y2="54.97" y3="54.88"/> + <curve x1="97.19" x2="86.97" x3="77.69" y1="51.68" y2="50.34" y3="50.13"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="75.46" x-axis-rotation="0" y="45.5"/> + <curve x1="83.25" x2="90.63" x3="95.04" y1="37.28" y2="31.68" y3="28.66"/> + <close/> + <move x="91.52" y="28.68"/> + <curve x1="86.99" x2="80.67" x3="74.05" y1="31.95" y2="37.04" y3="44.01"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="66.09" x-axis-rotation="0" y="40.95"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="56.76" x-axis-rotation="0" y="45.47"/> + <curve x1="55.49" x2="54.27" x3="53.14" y1="44.19" y2="42.99" y3="41.93"/> + <curve x1="63.94" x2="77.16" x3="91.52" y1="33.97" y2="29.12" y3="28.68"/> + <close/> + <move x="122.38" y="34.93"/> + <curve x1="130.78" x2="138.25" x3="144.38" y1="38.82" y2="44.36" y3="51.14"/> + <curve x1="143.24" x2="141.75" x3="139.28" y1="57.4" y2="64.46" y3="71.94"/> + <curve x1="136.03" x2="132.58" x3="128.9" y1="69.31" y2="66.75" y3="64.41"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="132.99" x-axis-rotation="0" y="55.44"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="122.4" x-axis-rotation="0" y="43.6"/> + <curve x1="122.43" x2="122.42" x3="122.38" y1="40.8" y2="37.93" y3="34.93"/> + <close/> + <move x="51.53" y="43.16"/> + <curve x1="52.79" x2="54.18" x3="55.63" y1="44.34" y2="45.69" y3="47.15"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="54.21" x-axis-rotation="0" y="51.98"/> + <curve x1="48.67" x2="43.7" x3="39.4" y1="52.96" y2="54.19" y3="55.42"/> + <curve x1="42.91" x2="46.98" x3="51.53" y1="50.84" y2="46.72" y3="43.16"/> + <close/> + <move x="71.2" y="47.89"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="72.41" x-axis-rotation="0" y="50.35"/> + <line x="65.65" y="58.73"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="63.45" x-axis-rotation="0" y="58.88"/> + <line x="58.57" y="54.27"/> + <arc large-arc-flag="1" rx="1.5" ry="1.5" sweep-flag="1" x="60.64" x-axis-rotation="0" y="52.09"/> + <line x="64.33" y="55.59"/> + <line x="70.08" y="48.46"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="71.2" x-axis-rotation="0" y="47.89"/> + <close/> + <move x="117.11" y="49.61"/> + <curve x1="117.44" x2="117.77" x3="118" y1="49.61" y2="49.75" y3="49.99"/> + <line x="121.78" y="53.75"/> + <line x="125.4" y="50.14"/> + <curve x1="126.58" x2="128.39" x3="127.16" y1="48.92" y2="50.74" y3="51.91"/> + <line x="123.56" y="55.51"/> + <line x="127.18" y="59.13"/> + <curve x1="128.41" x2="126.6" x3="125.42" y1="60.3" y2="62.12" y3="60.9"/> + <line x="121.79" y="57.28"/> + <line x="117.98" y="61.07"/> + <curve x1="116.8" x2="115.04" x3="116.22" y1="62.25" y2="60.48" y3="59.3"/> + <line x="120.01" y="55.52"/> + <line x="116.24" y="51.76"/> + <curve x1="115.43" x2="115.98" x3="117.11" y1="50.98" y2="49.61" y3="49.61"/> + <close/> + <move x="77.99" y="52.1"/> + <curve x1="87.02" x2="96.95" x3="107.69" y1="52.35" y2="53.69" y3="56.8"/> + <curve x1="108.22" x2="108.76" x3="109.29" y1="56.95" y2="57.12" y3="57.29"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="118.45" x-axis-rotation="0" y="67.07"/> + <curve x1="118.22" x2="117.96" x3="117.67" y1="68.34" y2="69.62" y3="70.94"/> + <line x="119.55" y="71.64"/> + <curve x1="119.87" x2="120.16" x3="120.42" y1="70.17" y2="68.74" y3="67.34"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="121.06" x-axis-rotation="0" y="67.37"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="127.11" x-axis-rotation="0" y="65.7"/> + <curve x1="131.19" x2="135" x3="138.56" y1="68.24" y2="71.04" y3="73.95"/> + <curve x1="133.64" x2="125.13" x3="108.56" y1="87.95" y2="103.26" y3="117.51"/> + <curve x1="105.02" x2="101.21" x3="97.28" y1="120.55" y2="123.2" y3="125.57"/> + <curve x1="100.71" x2="104.06" x3="107.02" y1="119.89" y2="113.81" y3="107.38"/> + <line x="104.8" y="107.41"/> + <curve x1="101.48" x2="97.7" x3="93.86" y1="114.52" y2="121.21" y3="127.35"/> + <curve x1="93.55" x2="93.23" x3="92.92" y1="127.52" y2="127.69" y3="127.85"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="92.11" x-axis-rotation="0" y="126.11"/> + <curve x1="91.89" x2="91.11" x3="89.76" y1="119.53" y2="113.57" y3="107.47"/> + <line x="88.15" y="109.34"/> + <curve x1="89.11" x2="89.74" x3="90.02" y1="113.96" y2="118.52" y3="123.4"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="81.73" x-axis-rotation="0" y="120.03"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="72.08" x-axis-rotation="0" y="124.97"/> + <curve x1="64.69" x2="58" x3="52.11" y1="121.41" y2="116.77" y3="111.83"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="53.42" x-axis-rotation="0" y="106.42"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="46.73" x-axis-rotation="0" y="95.72"/> + <curve x1="48.81" x2="51.58" x3="55.31" y1="88.96" y2="81.78" y3="74.13"/> + <curve x1="57.13" x2="59.13" x3="61.22" y1="70.4" y2="66.97" y3="63.75"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="66.09" x-axis-rotation="0" y="64.8"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="70.16" x-axis-rotation="0" y="64.07"/> + <curve x1="74.26" x2="77.95" x3="80.42" y1="69.89" y2="76.4" y3="83.47"/> + <curve x1="81.11" x2="81.77" x3="82.38" y1="85.43" y2="87.32" y3="89.14"/> + <line x="84.09" y="87.95"/> + <curve x1="83.53" x2="82.93" x3="82.31" y1="86.29" y2="84.58" y3="82.8"/> + <curve x1="79.8" x2="76.1" x3="72" y1="75.63" y2="69.07" y3="63.22"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="78.02" x-axis-rotation="0" y="52.87"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="77.99" x-axis-rotation="0" y="52.1"/> + <close/> + <move x="146.06" y="53.07"/> + <curve x1="155.33" x2="161.16" x3="161.92" y1="64.12" y2="78.15" y3="93.53"/> + <curve x1="161.64" x2="161.36" x3="161.1" y1="93.68" y2="93.83" y3="93.97"/> + <curve x1="156.53" x2="149.74" x3="140.96" y1="88.18" y2="80.58" y3="73.24"/> + <curve x1="143.4" x2="144.91" x3="146.06" y1="66" y2="59.16" y3="53.07"/> + <close/> + <move x="54.23" y="53.97"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="59.46" x-axis-rotation="0" y="62.78"/> + <curve x1="57.36" x2="55.35" x3="53.52" y1="66.04" y2="69.5" y3="73.25"/> + <curve x1="49.76" x2="46.98" x3="44.89" y1="80.95" y2="88.18" y3="94.99"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="41.49" x-axis-rotation="0" y="94.49"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="35.96" x-axis-rotation="0" y="95.86"/> + <curve x1="31.63" x2="28.44" x3="26.59" y1="90.86" y2="86.54" y3="83.89"/> + <curve x1="28.42" x2="32.19" x3="37.47" y1="74.44" y2="65.69" y3="58.07"/> + <curve x1="42.19" x2="47.8" x3="54.23" y1="56.64" y2="55.12" y3="53.97"/> + <close/> + <move x="140.19" y="75.22"/> + <curve x1="148.45" x2="154.86" x3="159.3" y1="82.21" y2="89.4" y3="94.96"/> + <curve x1="159.27" x2="159.25" x3="159.23" y1="94.97" y2="94.98" y3="94.99"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="150" x-axis-rotation="0" y="90.62"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="138.08" x-axis-rotation="0" y="102.54"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="139.26" x-axis-rotation="0" y="107.7"/> + <curve x1="132.28" x2="125.18" x3="119.08" y1="112.9" y2="119.11" y3="126.3"/> + <curve x1="118.87" x2="118.67" x3="118.45" y1="126.56" y2="126.8" y3="127.05"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="112.06" x-axis-rotation="0" y="125.18"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="100.88" x-axis-rotation="0" y="133"/> + <curve x1="98.52" x2="96.12" x3="93.65" y1="132.68" y2="132.28" y3="131.78"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="93.64" x-axis-rotation="0" y="131.35"/> + <curve x1="94.18" x2="94.71" x3="95.24" y1="130.54" y2="129.75" y3="128.9"/> + <curve x1="100.34" x2="105.32" x3="109.86" y1="126.07" y2="122.93" y3="119.03"/> + <curve x1="126.48" x2="135.14" x3="140.19" y1="104.74" y2="89.32" y3="75.22"/> + <close/> + <move x="26.1" y="86.68"/> + <curve x1="28.01" x2="30.76" x3="34.24" y1="89.31" y2="92.92" y3="96.96"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="29.57" x-axis-rotation="0" y="106.42"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="39.91" x-axis-rotation="0" y="118.22"/> + <curve x1="39.05" x2="39.07" x3="39.49" y1="125.83" y2="132.61" y3="138.66"/> + <curve x1="30.61" x2="25.33" x3="25.33" y1="127.13" y2="112.68" y3="96.98"/> + <curve x1="25.33" x2="25.6" x3="26.1" y1="93.47" y2="90.04" y3="86.68"/> + <close/> + <move x="160.57" y="96.54"/> + <curve x1="161.08" x2="161.55" x3="161.99" y1="97.2" y2="97.81" y3="98.41"/> + <curve x1="161.97" x2="161.93" x3="161.87" y1="99.41" y2="100.41" y3="101.41"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="160.36" x-axis-rotation="0" y="96.66"/> + <curve x1="160.43" x2="160.5" x3="160.57" y1="96.62" y2="96.58" y3="96.54"/> + <close/> + <move x="146.05" y="96.71"/> + <curve x1="146.38" x2="146.71" x3="146.94" y1="96.71" y2="96.85" y3="97.09"/> + <line x="150.72" y="100.85"/> + <line x="154.34" y="97.25"/> + <curve x1="155.52" x2="157.33" x3="156.1" y1="96.02" y2="97.84" y3="99.02"/> + <line x="152.5" y="102.61"/> + <line x="156.12" y="106.23"/> + <curve x1="157.35" x2="155.54" x3="154.36" y1="107.4" y2="109.22" y3="108"/> + <line x="150.73" y="104.38"/> + <line x="146.92" y="108.17"/> + <curve x1="145.74" x2="143.98" x3="145.16" y1="109.35" y2="107.58" y3="106.4"/> + <line x="148.95" y="102.62"/> + <line x="145.18" y="98.86"/> + <curve x1="144.37" x2="144.92" x3="146.05" y1="98.08" y2="96.71" y3="96.71"/> + <close/> + <move x="46.6" y="101.43"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="47.81" x-axis-rotation="0" y="103.89"/> + <line x="41.05" y="112.28"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="38.85" x-axis-rotation="0" y="112.43"/> + <line x="33.97" y="107.81"/> + <arc large-arc-flag="1" rx="1.5" ry="1.5" sweep-flag="1" x="36.04" x-axis-rotation="0" y="105.64"/> + <line x="39.73" y="109.13"/> + <line x="45.48" y="102.01"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="46.6" x-axis-rotation="0" y="101.43"/> + <close/> + <move x="161.42" y="105.99"/> + <curve x1="160.39" x2="158.02" x3="154.56" y1="113.85" y2="121.29" y3="128.07"/> + <curve x1="146.79" x2="136.28" x3="123.54" y1="130.38" y2="133.1" y3="133.87"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="120.05" x-axis-rotation="0" y="128.27"/> + <curve x1="120.24" x2="120.41" x3="120.61" y1="128.04" y2="127.83" y3="127.6"/> + <curve x1="126.53" x2="133.46" x3="140.29" y1="120.62" y2="114.54" y3="109.44"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="150" x-axis-rotation="0" y="114.47"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="161.42" x-axis-rotation="0" y="105.99"/> + <close/> + <move x="51.02" y="113.57"/> + <curve x1="56.93" x2="63.63" x3="71.05" y1="118.49" y2="123.12" y3="126.7"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="69.81" x-axis-rotation="0" y="131.96"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="70.94" x-axis-rotation="0" y="136.99"/> + <curve x1="58.18" x2="47.58" x3="42.79" y1="140.9" y2="142.19" y3="142.62"/> + <curve x1="42.43" x2="42.07" x3="41.71" y1="142.22" y2="141.81" y3="141.39"/> + <curve x1="41.09" x2="40.87" x3="41.85" y1="134.7" y2="127.08" y3="118.33"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="51.02" x-axis-rotation="0" y="113.57"/> + <close/> + <move x="77.78" y="126.13"/> + <curve x1="78.11" x2="78.44" x3="78.67" y1="126.13" y2="126.26" y3="126.51"/> + <line x="82.45" y="130.27"/> + <line x="86.07" y="126.66"/> + <curve x1="87.25" x2="89.06" x3="87.83" y1="125.44" y2="127.26" y3="128.43"/> + <line x="84.23" y="132.03"/> + <line x="87.85" y="135.64"/> + <curve x1="87.97" x2="88.06" x3="88.12" y1="135.75" y2="135.87" y3="135.99"/> + <curve x1="87.7" x2="87.27" x3="86.85" y1="136.6" y2="137.21" y3="137.81"/> + <curve x1="86.59" x2="86.33" x3="86.09" y1="137.78" y2="137.66" y3="137.41"/> + <line x="82.46" y="133.8"/> + <line x="78.65" y="137.59"/> + <curve x1="77.47" x2="75.71" x3="76.89" y1="138.77" y2="137" y3="135.82"/> + <line x="80.68" y="132.03"/> + <line x="76.91" y="128.28"/> + <curve x1="76.1" x2="76.65" x3="77.78" y1="127.5" y2="126.13" y3="126.13"/> + <close/> + <move x="153.23" y="130.54"/> + <curve x1="141.74" x2="120.1" x3="95.14" y1="150.91" y2="164.77" y3="165.29"/> + <curve x1="97.88" x2="101.15" x3="105.28" y1="158.55" y2="152.81" y3="146.92"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="112.06" x-axis-rotation="0" y="149.03"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="123.99" x-axis-rotation="0" y="137.1"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="123.9" x-axis-rotation="0" y="135.81"/> + <curve x1="135.74" x2="145.67" x3="153.23" y1="135.07" y2="132.71" y3="130.54"/> + <close/> + <move x="117.17" y="132.12"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="118.38" x-axis-rotation="0" y="134.58"/> + <line x="111.61" y="142.96"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="109.41" x-axis-rotation="0" y="143.11"/> + <line x="104.54" y="138.5"/> + <arc large-arc-flag="1" rx="1.5" ry="1.5" sweep-flag="1" x="106.6" x-axis-rotation="0" y="136.32"/> + <line x="110.3" y="139.82"/> + <line x="116.04" y="132.69"/> + <arc large-arc-flag="0" rx="1.5" ry="1.5" sweep-flag="1" x="117.17" x-axis-rotation="0" y="132.12"/> + <close/> + <move x="93.51" y="133.76"/> + <curve x1="95.83" x2="98.11" x3="100.34" y1="134.22" y2="134.61" y3="134.92"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="100.13" x-axis-rotation="0" y="137.1"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="103.74" x-axis-rotation="0" y="145.63"/> + <curve x1="99.32" x2="95.87" x3="92.97" y1="151.9" y2="158.02" y3="165.3"/> + <curve x1="85.14" x2="77.63" x3="70.65" y1="165.23" y2="163.84" y3="161.34"/> + <curve x1="73.51" x2="79.03" x3="85.34" y1="158.19" y2="151.85" y3="143.31"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="93.51" x-axis-rotation="0" y="133.76"/> + <close/> + <move x="71.97" y="138.78"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="81.73" x-axis-rotation="0" y="143.89"/> + <arc large-arc-flag="0" rx="11.93" ry="11.93" sweep-flag="0" x="82.44" x-axis-rotation="0" y="143.86"/> + <curve x1="76.28" x2="71.05" x3="68.63" y1="152.05" y2="157.95" y3="160.59"/> + <curve x1="59.45" x2="51.25" x3="44.52" y1="156.98" y2="151.44" y3="144.48"/> + <curve x1="50.01" x2="60.13" x3="71.97" y1="143.92" y2="142.46" y3="138.78"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="primary codec" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="238.22" y="119.12"/> + <line x="238.22" y="214.56"/> + <line x="250.85" y="214.56"/> + <line x="250.85" y="175.76"/> + <line x="275.33" y="175.76"/> + <curve x1="288.82" x2="298.16" x3="303.32" y1="175.76" y2="172.96" y3="167.36"/> + <curve x1="308.49" x2="311.07" x3="311.07" y1="161.72" y2="154.84" y3="146.73"/> + <curve x1="311.07" x2="310.09" x3="308.14" y1="142" y2="137.65" y3="133.71"/> + <curve x1="306.23" x2="303.69" x3="300.52" y1="129.76" y2="126.7" y3="124.53"/> + <curve x1="297.35" x2="293.42" x3="288.74" y1="122.31" y2="120.81" y3="120.03"/> + <curve x1="285.39" x2="280.56" x3="274.22" y1="119.43" y2="119.12" y3="119.12"/> + <close/> + <move x="370.38" y="119.12"/> + <line x="370.38" y="132.6"/> + <line x="382.1" y="132.6"/> + <line x="382.1" y="119.12"/> + <close/> + <move x="250.85" y="130.38"/> + <line x="275.26" y="130.38"/> + <curve x1="280.99" x2="284.92" x3="287.04" y1="130.38" y2="130.67" y3="131.23"/> + <curve x1="290.34" x2="292.99" x3="294.99" y1="132.14" y2="134.03" y3="136.89"/> + <curve x1="297.03" x2="298.05" x3="298.05" y1="139.72" y2="143.12" y3="147.12"/> + <curve x1="298.05" x2="296.33" x3="292.9" y1="152.63" y2="156.9" y3="159.94"/> + <curve x1="289.48" x2="283.68" x3="275.52" y1="162.98" y2="164.5" y3="164.5"/> + <line x="250.85" y="164.5"/> + <close/> + <move x="351.17" y="143.86"/> + <curve x1="348.44" x2="345.92" x3="343.62" y1="143.86" y2="144.64" y3="146.21"/> + <curve x1="341.36" x2="338.89" x3="336.2" y1="147.77" y2="151" y3="155.91"/> + <line x="336.2" y="145.42"/> + <line x="325.65" y="145.42"/> + <line x="325.65" y="214.56"/> + <line x="337.37" y="214.56"/> + <line x="337.37" y="178.37"/> + <curve x1="337.37" x2="338.02" x3="339.32" y1="173.42" y2="168.86" y3="164.7"/> + <curve x1="340.19" x2="341.65" x3="343.69" y1="161.96" y2="159.83" y3="158.31"/> + <curve x1="345.73" x2="348.03" x3="350.59" y1="156.75" y2="155.97" y3="155.97"/> + <curve x1="353.45" x2="356.32" x3="359.18" y1="155.97" y2="156.82" y3="158.51"/> + <line x="363.22" y="147.64"/> + <curve x1="359.14" x2="355.12" x3="351.17" y1="145.12" y2="143.86" y3="143.86"/> + <close/> + <move x="431.45" y="143.86"/> + <curve x1="426.84" x2="422.74" x3="419.14" y1="143.86" y2="144.9" y3="146.99"/> + <curve x1="415.54" x2="412.65" x3="410.48" y1="149.03" y2="151.74" y3="155.12"/> + <line x="410.48" y="145.42"/> + <line x="400" y="145.42"/> + <line x="400" y="214.56"/> + <line x="411.72" y="214.56"/> + <line x="411.72" y="178.69"/> + <curve x1="411.72" x2="412.35" x3="413.61" y1="172.4" y2="167.58" y3="164.24"/> + <curve x1="414.87" x2="416.88" x3="419.66" y1="160.9" y2="158.36" y3="156.62"/> + <curve x1="422.48" x2="425.54" x3="428.84" y1="154.88" y2="154.02" y3="154.02"/> + <curve x1="433.18" x2="436.31" x3="438.22" y1="154.02" y2="155.32" y3="157.92"/> + <curve x1="440.13" x2="441.08" x3="441.08" y1="160.53" y2="164.43" y3="169.64"/> + <line x="441.08" y="214.56"/> + <line x="452.8" y="214.56"/> + <line x="452.8" y="174.39"/> + <curve x1="452.8" x2="454.41" x3="457.62" y1="167.28" y2="162.11" y3="158.9"/> + <curve x1="460.83" x2="464.87" x3="469.73" y1="155.65" y2="154.02" y3="154.02"/> + <curve x1="472.42" x2="474.76" x3="476.76" y1="154.02" y2="154.65" y3="155.91"/> + <curve x1="478.75" x2="480.12" x3="480.86" y1="157.16" y2="158.83" y3="160.92"/> + <curve x1="481.64" x2="482.03" x3="482.03" y1="162.96" y2="166.32" y3="171.01"/> + <line x="482.03" y="214.56"/> + <line x="493.69" y="214.56"/> + <line x="493.69" y="167.1"/> + <curve x1="493.69" x2="491.84" x3="488.15" y1="159.2" y2="153.37" y3="149.59"/> + <curve x1="484.46" x2="479.19" x3="472.33" y1="145.77" y2="143.86" y3="143.86"/> + <curve x1="463.56" x2="456.45" x3="450.98" y1="143.86" y2="147.9" y3="155.97"/> + <curve x1="449.63" x2="447.31" x3="444.01" y1="152.15" y2="149.18" y3="147.05"/> + <curve x1="440.75" x2="436.57" x3="431.45" y1="144.92" y2="143.86" y3="143.86"/> + <close/> + <move x="540.43" y="143.86"/> + <curve x1="534.48" x2="529.25" x3="524.74" y1="143.86" y2="144.69" y3="146.34"/> + <curve x1="520.23" x2="516.78" x3="514.39" y1="147.94" y2="150.26" y3="153.3"/> + <curve x1="512" x2="510.29" x3="509.24" y1="156.3" y2="160.25" y3="165.15"/> + <line x="520.7" y="166.71"/> + <curve x1="521.96" x2="523.89" x3="526.5" y1="161.81" y2="158.4" y3="156.49"/> + <curve x1="529.15" x2="533.22" x3="538.74" y1="154.54" y2="153.56" y3="153.56"/> + <curve x1="544.64" x2="549.09" x3="552.08" y1="153.56" y2="154.89" y3="157.53"/> + <curve x1="554.3" x2="555.4" x3="555.4" y1="159.49" y2="162.85" y3="167.63"/> + <curve x1="555.4" x2="555.38" x3="555.34" y1="168.06" y2="169.08" y3="170.68"/> + <curve x1="550.87" x2="543.9" x3="534.44" y1="172.25" y2="173.59" y3="174.72"/> + <curve x1="529.8" x2="526.32" x3="524.02" y1="175.28" y2="175.87" y3="176.48"/> + <curve x1="520.9" x2="518.08" x3="515.56" y1="177.35" y2="178.63" y3="180.32"/> + <curve x1="513.09" x2="511.07" x3="509.51" y1="182.01" y2="184.27" y3="187.09"/> + <curve x1="507.99" x2="507.23" x3="507.23" y1="189.87" y2="192.95" y3="196.34"/> + <curve x1="507.23" x2="509.27" x3="513.35" y1="202.11" y2="206.86" y3="210.59"/> + <curve x1="517.43" x2="523.26" x3="530.86" y1="214.28" y2="216.13" y3="216.13"/> + <curve x1="535.46" x2="539.76" x3="543.75" y1="216.13" y2="215.37" y3="213.85"/> + <curve x1="547.79" x2="551.97" x3="556.31" y1="212.33" y2="209.72" y3="206.04"/> + <curve x1="556.66" x2="557.44" x3="558.66" y1="209.29" y2="212.13" y3="214.56"/> + <line x="570.9" y="214.56"/> + <curve x1="569.42" x2="568.43" x3="567.9" y1="211.92" y2="209.16" y3="206.3"/> + <curve x1="567.43" x2="567.19" x3="567.19" y1="203.39" y2="196.49" y3="185.59"/> + <line x="567.19" y="169.97"/> + <curve x1="567.19" x2="566.99" x3="566.6" y1="164.76" y2="161.16" y3="159.16"/> + <curve x1="565.91" x2="564.69" x3="562.96" y1="155.95" y2="153.3" y3="151.22"/> + <curve x1="561.22" x2="558.51" x3="554.82" y1="149.09" y2="147.33" y3="145.95"/> + <curve x1="551.13" x2="546.33" x3="540.43" y1="144.56" y2="143.86" y3="143.86"/> + <close/> + <move x="610.81" y="143.86"/> + <curve x1="608.07" x2="605.56" x3="603.26" y1="143.86" y2="144.64" y3="146.21"/> + <curve x1="601" x2="598.52" x3="595.83" y1="147.77" y2="151" y3="155.91"/> + <line x="595.83" y="145.42"/> + <line x="585.29" y="145.42"/> + <line x="585.29" y="214.56"/> + <line x="597.01" y="214.56"/> + <line x="597.01" y="178.37"/> + <curve x1="597.01" x2="597.66" x3="598.96" y1="173.42" y2="168.86" y3="164.7"/> + <curve x1="599.83" x2="601.28" x3="603.32" y1="161.96" y2="159.83" y3="158.31"/> + <curve x1="605.36" x2="607.66" x3="610.22" y1="156.75" y2="155.97" y3="155.97"/> + <curve x1="613.09" x2="615.95" x3="618.81" y1="155.97" y2="156.82" y3="158.51"/> + <line x="622.85" y="147.64"/> + <curve x1="618.77" x2="614.76" x3="610.81" y1="145.12" y2="143.86" y3="143.86"/> + <close/> + <move x="370.38" y="145.42"/> + <line x="370.38" y="214.56"/> + <line x="382.1" y="214.56"/> + <line x="382.1" y="145.42"/> + <close/> + <move x="623.31" y="145.42"/> + <line x="649.54" y="214.7"/> + <curve x1="649.07" x2="648.72" x3="648.5" y1="215.95" y2="216.91" y3="217.56"/> + <curve x1="646.85" x2="645.66" x3="644.92" y1="222.2" y2="225.11" y3="226.28"/> + <curve x1="643.92" x2="642.64" x3="641.08" y1="227.85" y2="229.06" y3="229.93"/> + <curve x1="639.52" x2="637.43" x3="634.83" y1="230.8" y2="231.23" y3="231.23"/> + <curve x1="632.92" x2="630.69" x3="628.13" y1="231.23" y2="230.88" y3="230.19"/> + <line x="629.43" y="241.19"/> + <curve x1="632.21" x2="634.72" x3="636.98" y1="242.15" y2="242.63" y3="242.63"/> + <curve x1="640.71" x2="643.92" x3="646.62" y1="242.63" y2="241.71" y3="239.89"/> + <curve x1="649.31" x2="651.69" x3="653.78" y1="238.11" y2="235.29" y3="231.43"/> + <curve x1="655.34" x2="657.53" x3="660.35" y1="228.56" y2="223.33" y3="215.74"/> + <line x="686.65" y="145.42"/> + <line x="674.94" y="145.42"/> + <line x="660.16" y="185.72"/> + <curve x1="658.29" x2="656.68" x3="655.34" y1="190.84" y2="196.1" y3="201.48"/> + <curve x1="653.86" x2="652.19" x3="650.33" y1="195.88" y2="190.54" y3="185.46"/> + <line x="635.94" y="145.42"/> + <close/> + <move x="555.34" y="179.86"/> + <line x="555.34" y="184.16"/> + <curve x1="555.34" x2="554.71" x3="553.45" y1="189.33" y2="193.23" y3="195.88"/> + <curve x1="551.8" x2="549.22" x3="545.7" y1="199.31" y2="202.02" y3="204.02"/> + <curve x1="542.19" x2="538.17" x3="533.66" y1="205.97" y2="206.95" y3="206.95"/> + <curve x1="529.1" x2="525.63" x3="523.24" y1="206.95" y2="205.91" y3="203.82"/> + <curve x1="520.9" x2="519.73" x3="519.73" y1="201.74" y2="199.13" y3="196.01"/> + <curve x1="519.73" x2="520.27" x3="521.35" y1="193.97" y2="192.13" y3="190.48"/> + <curve x1="522.44" x2="523.98" x3="525.98" y1="188.78" y2="187.5" y3="186.63"/> + <curve x1="527.97" x2="531.38" x3="536.2" y1="185.77" y2="184.99" y3="184.29"/> + <curve x1="544.7" x2="551.08" x3="555.34" y1="183.08" y2="181.6" y3="179.86"/> + <close/> + <move x="141.04" y="306.7"/> + <line x="51.33" y="370.53"/> + <line x="141.04" y="434.35"/> + <line x="141.04" y="390.92"/> + <line x="243.95" y="390.92"/> + <line x="243.95" y="350.13"/> + <line x="141.04" y="350.13"/> + <close/> + <move x="797.86" y="306.7"/> + <line x="797.86" y="350.13"/> + <line x="694.96" y="350.13"/> + <line x="694.96" y="390.92"/> + <line x="797.86" y="390.92"/> + <line x="797.86" y="434.35"/> + <line x="887.57" y="370.53"/> + <close/> + <move x="362.76" y="324.95"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="298.01" x-axis-rotation="0" y="389.7"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="328.7" x-axis-rotation="0" y="444.68"/> + <curve x1="304.81" x2="291.31" x3="291.31" y1="472.96" y2="510.21" y3="547.06"/> + <line x="291.31" y="609.97"/> + <line x="434.21" y="609.97"/> + <line x="434.21" y="547.06"/> + <curve x1="434.21" x2="417.33" x3="394.95" y1="509.79" y2="474.03" y3="445.79"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="427.51" x-axis-rotation="0" y="389.7"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="362.76" x-axis-rotation="0" y="324.95"/> + <close/> + <move x="576.26" y="324.95"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="511.51" x-axis-rotation="0" y="389.7"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="542.2" x-axis-rotation="0" y="444.68"/> + <curve x1="518.31" x2="504.81" x3="504.81" y1="472.96" y2="510.21" y3="547.06"/> + <line x="504.81" y="609.97"/> + <line x="647.71" y="609.97"/> + <line x="647.71" y="547.06"/> + <curve x1="647.71" x2="630.83" x3="608.45" y1="509.79" y2="474.03" y3="445.79"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="641.01" x-axis-rotation="0" y="389.7"/> + <arc large-arc-flag="0" rx="64.75" ry="64.75" sweep-flag="0" x="576.26" x-axis-rotation="0" y="324.95"/> + <close/> + <move x="154.24" y="478.19"/> + <line x="154.24" y="521.62"/> + <line x="51.33" y="521.62"/> + <line x="51.33" y="562.41"/> + <line x="154.24" y="562.41"/> + <line x="154.24" y="605.84"/> + <line x="243.95" y="542.02"/> + <close/> + <move x="784.67" y="478.19"/> + <line x="694.96" y="542.02"/> + <line x="784.67" y="605.84"/> + <line x="784.67" y="562.41"/> + <line x="887.57" y="562.41"/> + <line x="887.57" y="521.62"/> + <line x="784.67" y="521.62"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="561.71" name="printer" strokewidth="inherit" w="640.93"> + <connections/> + <foreground> + <path> + <move x="260.39" y="0"/> + <line x="183.04" y="77.14"/> + <line x="183.32" y="103.65"/> + <line x="141.04" y="103.65"/> + <line x="96" y="257.29"/> + <line x="59.83" y="257.29"/> + <curve x1="26.78" x2="0" x3="0" y1="257.29" y2="284.08" y3="317.12"/> + <line x="0" y="501.88"/> + <curve x1="0" x2="26.78" x3="59.83" y1="534.92" y2="561.71" y3="561.71"/> + <line x="581.1" y="561.71"/> + <curve x1="614.14" x2="640.93" x3="640.93" y1="561.71" y2="534.92" y3="501.88"/> + <line x="640.93" y="317.12"/> + <curve x1="640.93" x2="614.14" x3="581.1" y1="284.08" y2="257.29" y3="257.29"/> + <line x="545.05" y="257.29"/> + <line x="501.03" y="103.65"/> + <line x="458.66" y="103.65"/> + <line x="458.66" y="0"/> + <close/> + <move x="260.3" y="8.94"/> + <line x="450.31" y="8.94"/> + <line x="450.31" y="256.68"/> + <line x="191.54" y="256.68"/> + <line x="191.54" y="78.4"/> + <line x="260.3" y="78.4"/> + <close/> + <move x="237.4" y="99.38"/> + <line x="237.4" y="112.45"/> + <line x="398.43" y="112.45"/> + <line x="398.43" y="99.38"/> + <close/> + <move x="237.4" y="149.15"/> + <line x="237.4" y="162.22"/> + <line x="398.43" y="162.22"/> + <line x="398.43" y="149.15"/> + <close/> + <move x="237.4" y="198.93"/> + <line x="237.4" y="212"/> + <line x="398.43" y="212"/> + <line x="398.43" y="198.93"/> + <close/> + <move x="59.83" y="268.63"/> + <line x="581.1" y="268.63"/> + <curve x1="608.06" x2="629.59" x3="629.59" y1="268.63" y2="290.16" y3="317.12"/> + <line x="629.59" y="501.88"/> + <curve x1="629.59" x2="608.06" x3="581.1" y1="528.84" y2="550.37" y3="550.37"/> + <line x="59.83" y="550.37"/> + <curve x1="32.87" x2="11.34" x3="11.34" y1="550.37" y2="528.84" y3="501.88"/> + <line x="11.34" y="317.12"/> + <curve x1="11.34" x2="32.87" x3="59.83" y1="290.16" y2="268.63" y3="268.63"/> + <close/> + <move x="550.62" y="316.81"/> + <arc large-arc-flag="0" rx="26.99" ry="26.99" sweep-flag="0" x="523.62" x-axis-rotation="0" y="343.79"/> + <arc large-arc-flag="0" rx="26.99" ry="26.99" sweep-flag="0" x="550.62" x-axis-rotation="0" y="370.79"/> + <arc large-arc-flag="0" rx="26.99" ry="26.99" sweep-flag="0" x="577.6" x-axis-rotation="0" y="343.79"/> + <arc large-arc-flag="0" rx="26.99" ry="26.99" sweep-flag="0" x="550.62" x-axis-rotation="0" y="316.81"/> + <close/> + <move x="40.57" y="403.21"/> + <line x="40.57" y="416.28"/> + <line x="604.3" y="416.28"/> + <line x="604.3" y="403.21"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="router" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="150.02" y="159.07"/> + <line x="125.17" y="134.7"/> + <line x="115.05" y="145.01"/> + <line x="107.32" y="107.82"/> + <line x="144.76" y="114.72"/> + <line x="134.73" y="124.94"/> + <line x="159.58" y="149.32"/> + <close/> + <move x="94.25" y="111.78"/> + <line x="69.88" y="136.63"/> + <line x="80.19" y="146.74"/> + <line x="43.01" y="154.48"/> + <line x="49.9" y="117.04"/> + <line x="60.13" y="127.06"/> + <line x="84.5" y="102.21"/> + <close/> + <move x="47.34" y="37.71"/> + <line x="72.19" y="62.08"/> + <line x="82.3" y="51.77"/> + <line x="90.04" y="88.96"/> + <line x="52.6" y="82.06"/> + <line x="62.62" y="71.84"/> + <line x="37.77" y="47.47"/> + <close/> + <move x="102.08" y="84.72"/> + <line x="126.45" y="59.87"/> + <line x="116.14" y="49.75"/> + <line x="153.33" y="42.02"/> + <line x="146.43" y="79.46"/> + <line x="136.21" y="69.43"/> + <line x="111.84" y="94.29"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="745.28" name="router with firewall" strokewidth="inherit" w="745.28"> + <connections/> + <foreground> + <save/> + <path> + <move x="130.9" y="94.42"/> + <line x="201.96" y="94.42"/> + <line x="201.96" y="187.81"/> + <line x="54.88" y="187.81"/> + <line x="36.49" y="223.5"/> + <line x="36.49" y="302.7"/> + <line x="11.76" y="302.7"/> + <line x="7.72" y="325.37"/> + <line x="201.96" y="325.37"/> + <line x="201.96" y="417.9"/> + <line x="8.53" y="417.9"/> + <line x="11.56" y="440.57"/> + <line x="36.49" y="440.57"/> + <line x="36.49" y="521.24"/> + <line x="53.87" y="556.7"/> + <line x="201.96" y="556.7"/> + <line x="201.96" y="651.25"/> + <line x="134.41" y="651.25"/> + <line x="163.7" y="673.93"/> + <line x="580.3" y="673.93"/> + <line x="611.55" y="651.25"/> + <line x="555.93" y="651.25"/> + <line x="555.93" y="556.7"/> + <line x="690.48" y="556.7"/> + <line x="721.76" y="487.23"/> + <line x="721.76" y="440.57"/> + <line x="731.8" y="440.57"/> + <line x="736.85" y="417.9"/> + <line x="555.93" y="417.9"/> + <line x="555.93" y="325.37"/> + <line x="736.04" y="325.37"/> + <line x="732" y="302.7"/> + <line x="721.76" y="302.7"/> + <line x="721.76" y="255.82"/> + <line x="691.78" y="187.81"/> + <line x="555.93" y="187.81"/> + <line x="555.93" y="94.42"/> + <line x="613.11" y="94.42"/> + <line x="583.65" y="71.74"/> + <line x="160.19" y="71.74"/> + <close/> + <move x="224.64" y="94.42"/> + <line x="533.26" y="94.42"/> + <line x="533.26" y="187.81"/> + <line x="224.64" y="187.81"/> + <close/> + <move x="59.16" y="210.49"/> + <line x="367.79" y="210.49"/> + <line x="367.79" y="302.7"/> + <line x="59.16" y="302.7"/> + <close/> + <move x="390.46" y="210.49"/> + <line x="699.08" y="210.49"/> + <line x="699.08" y="302.7"/> + <line x="390.46" y="302.7"/> + <close/> + <move x="224.64" y="325.37"/> + <line x="533.26" y="325.37"/> + <line x="533.26" y="417.9"/> + <line x="224.64" y="417.9"/> + <close/> + <move x="59.16" y="440.57"/> + <line x="367.79" y="440.57"/> + <line x="367.79" y="534.02"/> + <line x="59.16" y="534.02"/> + <close/> + <move x="390.46" y="440.57"/> + <line x="699.08" y="440.57"/> + <line x="699.08" y="534.02"/> + <line x="390.46" y="534.02"/> + <close/> + <move x="224.64" y="556.7"/> + <line x="533.26" y="556.7"/> + <line x="533.26" y="651.25"/> + <line x="224.64" y="651.25"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="130.9" y="94.42"/> + <line x="201.96" y="94.42"/> + <line x="201.96" y="187.81"/> + <line x="54.88" y="187.81"/> + <line x="36.49" y="223.5"/> + <line x="36.49" y="302.7"/> + <line x="11.76" y="302.7"/> + <line x="7.72" y="325.37"/> + <line x="201.96" y="325.37"/> + <line x="201.96" y="417.9"/> + <line x="8.53" y="417.9"/> + <line x="11.56" y="440.57"/> + <line x="36.49" y="440.57"/> + <line x="36.49" y="521.24"/> + <line x="53.87" y="556.7"/> + <line x="201.96" y="556.7"/> + <line x="201.96" y="651.25"/> + <line x="134.41" y="651.25"/> + <line x="163.7" y="673.93"/> + <line x="580.3" y="673.93"/> + <line x="611.55" y="651.25"/> + <line x="555.93" y="651.25"/> + <line x="555.93" y="556.7"/> + <line x="690.48" y="556.7"/> + <line x="721.76" y="487.23"/> + <line x="721.76" y="440.57"/> + <line x="731.8" y="440.57"/> + <line x="736.85" y="417.9"/> + <line x="555.93" y="417.9"/> + <line x="555.93" y="325.37"/> + <line x="736.04" y="325.37"/> + <line x="732" y="302.7"/> + <line x="721.76" y="302.7"/> + <line x="721.76" y="255.82"/> + <line x="691.78" y="187.81"/> + <line x="555.93" y="187.81"/> + <line x="555.93" y="94.42"/> + <line x="613.11" y="94.42"/> + <line x="583.65" y="71.74"/> + <line x="160.19" y="71.74"/> + <close/> + <move x="224.64" y="94.42"/> + <line x="533.26" y="94.42"/> + <line x="533.26" y="187.81"/> + <line x="224.64" y="187.81"/> + <close/> + <move x="59.16" y="210.49"/> + <line x="367.79" y="210.49"/> + <line x="367.79" y="302.7"/> + <line x="59.16" y="302.7"/> + <close/> + <move x="390.46" y="210.49"/> + <line x="699.08" y="210.49"/> + <line x="699.08" y="302.7"/> + <line x="390.46" y="302.7"/> + <close/> + <move x="224.64" y="325.37"/> + <line x="533.26" y="325.37"/> + <line x="533.26" y="417.9"/> + <line x="224.64" y="417.9"/> + <close/> + <move x="59.16" y="440.57"/> + <line x="367.79" y="440.57"/> + <line x="367.79" y="534.02"/> + <line x="59.16" y="534.02"/> + <close/> + <move x="390.46" y="440.57"/> + <line x="699.08" y="440.57"/> + <line x="699.08" y="534.02"/> + <line x="390.46" y="534.02"/> + <close/> + <move x="224.64" y="556.7"/> + <line x="533.26" y="556.7"/> + <line x="533.26" y="651.25"/> + <line x="224.64" y="651.25"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <path> + <move x="571.51" y="607.19"/> + <line x="476.31" y="513.82"/> + <line x="437.56" y="553.33"/> + <line x="407.94" y="410.87"/> + <line x="551.36" y="437.3"/> + <line x="512.96" y="476.45"/> + <line x="608.16" y="569.82"/> + <close/> + <move x="357.88" y="426.02"/> + <line x="264.52" y="521.22"/> + <line x="304.03" y="559.97"/> + <line x="161.57" y="589.59"/> + <line x="187.99" y="446.18"/> + <line x="227.15" y="484.58"/> + <line x="320.51" y="389.37"/> + <close/> + <move x="178.16" y="142.27"/> + <line x="273.37" y="235.64"/> + <line x="312.11" y="196.13"/> + <line x="341.73" y="338.59"/> + <line x="198.32" y="312.17"/> + <line x="236.72" y="273.01"/> + <line x="141.51" y="179.64"/> + <close/> + <move x="387.87" y="322.36"/> + <line x="481.24" y="227.16"/> + <line x="441.73" y="188.41"/> + <line x="584.19" y="158.79"/> + <line x="557.77" y="302.21"/> + <line x="518.61" y="263.81"/> + <line x="425.24" y="359.01"/> + <close/> + <move x="372.64" y="0"/> + <curve x1="166.89" x2="0" x3="0" y1="0" y2="166.89" y3="372.64"/> + <curve x1="0" x2="166.89" x3="372.64" y1="578.38" y2="745.28" y3="745.28"/> + <curve x1="578.38" x2="745.28" x3="745.28" y1="745.28" y2="578.38" y3="372.64"/> + <curve x1="745.28" x2="578.38" x3="372.64" y1="166.89" y2="0" y3="0"/> + <close/> + <move x="372.64" y="9.46"/> + <curve x1="573.27" x2="735.82" x3="735.82" y1="9.46" y2="172" y3="372.64"/> + <curve x1="735.82" x2="573.27" x3="372.64" y1="573.27" y2="735.82" y3="735.82"/> + <curve x1="172" x2="9.46" x3="9.46" y1="735.82" y2="573.27" y3="372.64"/> + <curve x1="9.46" x2="172" x3="372.64" y1="172" y2="9.46" y3="9.46"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="router with firewall2" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="97.29" y="123.2"/> + <line x="97.29" y="70.18"/> + <line x="141.79" y="96.81"/> + <close/> + <move x="85.65" y="130"/> + <line x="81.28" y="125.69"/> + <line x="52.46" y="154.91"/> + <line x="56.82" y="159.21"/> + <line x="41.2" y="162.11"/> + <line x="43.92" y="146.48"/> + <line x="48.3" y="150.8"/> + <line x="77.12" y="121.58"/> + <line x="72.74" y="117.27"/> + <line x="88.42" y="114.23"/> + <close/> + <move x="85.72" y="63.42"/> + <line x="81.35" y="67.73"/> + <line x="52.53" y="38.51"/> + <line x="56.89" y="34.21"/> + <line x="41.28" y="31.31"/> + <line x="43.99" y="46.94"/> + <line x="48.37" y="42.62"/> + <line x="77.19" y="71.84"/> + <line x="72.81" y="76.15"/> + <line x="88.49" y="79.19"/> + <close/> + <move x="75.34" y="87.69"/> + <line x="75.34" y="93.83"/> + <line x="34.3" y="93.83"/> + <line x="34.3" y="87.71"/> + <line x="21.27" y="96.79"/> + <line x="34.3" y="105.83"/> + <line x="34.3" y="99.67"/> + <line x="75.34" y="99.67"/> + <line x="75.34" y="105.82"/> + <line x="88.52" y="96.79"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="203.33" y="79.66"/> + <line x="203.33" y="91.14"/> + <line x="175.66" y="91.14"/> + <line x="175.66" y="79.66"/> + <line x="151.26" y="96.68"/> + <line x="175.66" y="113.6"/> + <line x="175.66" y="102.08"/> + <line x="203.33" y="102.08"/> + <line x="203.33" y="113.6"/> + <line x="228" y="96.68"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="router with voice" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="95.41" y="46.17"/> + <line x="83.29" y="11.3"/> + <line x="88.3" y="11.3"/> + <line x="98.79" y="40.85"/> + <line x="109.26" y="11.3"/> + <line x="113.69" y="11.3"/> + <line x="100.87" y="46.17"/> + <close/> + <move x="151.05" y="160.47"/> + <line x="125.88" y="135.8"/> + <line x="115.64" y="146.24"/> + <line x="107.81" y="108.59"/> + <line x="145.72" y="115.57"/> + <line x="135.57" y="125.92"/> + <line x="160.73" y="150.6"/> + <close/> + <move x="94.58" y="112.59"/> + <line x="69.91" y="137.75"/> + <line x="80.35" y="147.99"/> + <line x="42.7" y="155.82"/> + <line x="49.68" y="117.92"/> + <line x="60.03" y="128.07"/> + <line x="84.71" y="102.91"/> + <close/> + <move x="47.09" y="37.6"/> + <line x="72.25" y="62.28"/> + <line x="82.49" y="51.84"/> + <line x="90.32" y="89.49"/> + <line x="52.41" y="82.5"/> + <line x="62.56" y="72.15"/> + <line x="37.4" y="47.48"/> + <close/> + <move x="102.51" y="85.2"/> + <line x="127.19" y="60.04"/> + <line x="116.74" y="49.8"/> + <line x="154.4" y="41.97"/> + <line x="147.41" y="79.87"/> + <line x="137.06" y="69.72"/> + <line x="112.39" y="94.88"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="rps" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="511" y="112.12"/> + <curve x1="500.72" x2="491.38" x3="482.97" y1="112.12" y2="113.86" y3="117.33"/> + <curve x1="474.57" x2="468.18" x3="463.81" y1="120.8" y2="125.91" y3="132.64"/> + <curve x1="459.43" x2="457.25" x3="457.25" y1="139.31" y2="146.5" y3="154.21"/> + <curve x1="457.25" x2="459.02" x3="462.56" y1="161.22" y2="167.58" y3="173.27"/> + <curve x1="466.17" x2="471.62" x3="478.91" y1="178.89" y2="183.62" y3="187.44"/> + <curve x1="484.54" x2="494.36" x3="508.39" y1="190.42" y2="193.62" y3="197.02"/> + <curve x1="522.42" x2="531.48" x3="535.58" y1="200.35" y2="202.82" y3="204.41"/> + <curve x1="541.97" x2="546.55" x3="549.33" y1="206.84" y2="209.87" y3="213.48"/> + <curve x1="552.11" x2="553.5" x3="553.5" y1="217.02" y2="221.18" y3="225.98"/> + <curve x1="553.5" x2="552.04" x3="549.12" y1="230.7" y2="235.07" y3="239.1"/> + <curve x1="546.27" x2="541.9" x3="536" y1="243.06" y2="246.18" y3="248.48"/> + <curve x1="530.09" x2="523.29" x3="515.58" y1="250.77" y2="251.91" y3="251.91"/> + <curve x1="506.9" x2="499.09" x3="492.14" y1="251.91" y2="250.42" y3="247.44"/> + <curve x1="485.2" x2="480.06" x3="476.72" y1="244.38" y2="240.42" y3="235.56"/> + <curve x1="473.46" x2="471.38" x3="470.47" y1="230.63" y2="224.35" y3="216.71"/> + <line x="451.41" y="218.37"/> + <curve x1="451.69" x2="454.47" x3="459.75" y1="228.58" y2="237.75" y3="245.87"/> + <curve x1="465.09" x2="472.42" x3="481.72" y1="253.93" y2="259.97" y3="264"/> + <curve x1="491.1" x2="502.7" x3="516.52" y1="268.03" y2="270.04" y3="270.04"/> + <curve x1="527.42" x2="537.21" x3="545.89" y1="270.04" y2="268.06" y3="264.1"/> + <curve x1="554.64" x2="561.34" x3="566" y1="260.07" y2="254.48" y3="247.33"/> + <curve x1="570.65" x2="572.97" x3="572.97" y1="240.11" y2="232.44" y3="224.31"/> + <curve x1="572.97" x2="570.86" x3="566.62" y1="216.12" y2="208.89" y3="202.64"/> + <curve x1="562.38" x2="555.82" x3="546.93" y1="196.33" y2="191.12" y3="187.02"/> + <curve x1="540.82" x2="529.54" x3="513.08" y1="184.24" y2="181.01" y3="177.33"/> + <curve x1="496.69" x2="486.55" x3="482.66" y1="173.58" y2="169.94" y3="166.39"/> + <curve x1="478.7" x2="476.72" x3="476.72" y1="162.85" y2="158.34" y3="152.85"/> + <curve x1="476.72" x2="479.5" x3="485.06" y1="146.53" y2="141.15" y3="136.71"/> + <curve x1="490.68" x2="499.61" x3="511.83" y1="132.19" y2="129.94" y3="129.94"/> + <curve x1="523.57" x2="532.42" x3="538.39" y1="129.94" y2="132.4" y3="137.33"/> + <curve x1="544.43" x2="547.98" x3="549.02" y1="142.26" y2="149.55" y3="159.21"/> + <line x="568.39" y="157.75"/> + <curve x1="568.05" x2="565.55" x3="560.89" y1="148.79" y2="140.77" y3="133.69"/> + <curve x1="556.24" x2="549.57" x3="540.89" y1="126.6" y2="121.26" y3="117.64"/> + <curve x1="532.28" x2="522.32" x3="511" y1="113.96" y2="112.12" y3="112.12"/> + <close/> + <move x="161.93" y="114.73"/> + <line x="161.93" y="222.86"/> + <line x="120.56" y="203.94"/> + <line x="161.93" y="231.34"/> + <line x="161.93" y="267.44"/> + <line x="182.14" y="267.44"/> + <line x="182.14" y="244.73"/> + <line x="322.27" y="337.54"/> + <line x="141.75" y="337.22"/> + <line x="350.19" y="460.99"/> + <line x="192" y="482.08"/> + <line x="602.67" y="637.79"/> + <line x="365.39" y="503.48"/> + <line x="502.49" y="503.79"/> + <line x="275.44" y="369.79"/> + <line x="479.84" y="368.24"/> + <line x="182.14" y="232.1"/> + <line x="182.14" y="199.62"/> + <line x="205.58" y="199.62"/> + <curve x1="210.79" x2="214.54" x3="216.83" y1="199.62" y2="199.87" y3="200.35"/> + <curve x1="219.96" x2="223.01" x3="226" y1="201.12" y2="202.47" y3="204.41"/> + <curve x1="229.05" x2="232.49" x3="236.31" y1="206.36" y2="209.76" y3="214.62"/> + <curve x1="240.13" x2="244.99" x3="250.89" y1="219.48" y2="226.5" y3="235.66"/> + <line x="271.1" y="267.44"/> + <line x="296.52" y="267.44"/> + <line x="269.96" y="225.87"/> + <curve x1="264.68" x2="259.09" x3="253.18" y1="217.75" y2="210.98" y3="205.56"/> + <curve x1="250.41" x2="246.34" x3="241" y1="203.06" y2="200.53" y3="197.96"/> + <curve x1="255.65" x2="266.48" x3="273.5" y1="195.94" y2="191.22" y3="183.79"/> + <curve x1="280.51" x2="284.02" x3="284.02" y1="176.36" y2="167.23" y3="156.39"/> + <curve x1="284.02" x2="281.9" x3="277.66" y1="147.99" y2="140.32" y3="133.37"/> + <curve x1="273.43" x2="267.77" x3="260.68" y1="126.43" y2="121.6" y3="118.89"/> + <curve x1="253.6" x2="243.25" x3="229.64" y1="116.12" y2="114.73" y3="114.73"/> + <close/> + <move x="315.79" y="114.73"/> + <line x="315.79" y="267.44"/> + <line x="336" y="267.44"/> + <line x="336" y="205.35"/> + <line x="375.16" y="205.35"/> + <curve x1="396.76" x2="411.69" x3="419.96" y1="205.35" y2="200.87" y3="191.91"/> + <curve x1="428.22" x2="432.35" x3="432.35" y1="182.89" y2="171.88" y3="158.89"/> + <curve x1="432.35" x2="430.79" x3="427.66" y1="151.33" y2="144.38" y3="138.06"/> + <curve x1="424.61" x2="420.54" x3="415.47" y1="131.74" y2="126.85" y3="123.37"/> + <curve x1="410.41" x2="404.12" x3="396.62" y1="119.83" y2="117.44" y3="116.19"/> + <curve x1="391.27" x2="383.53" x3="373.39" y1="115.21" y2="114.73" y3="114.73"/> + <close/> + <move x="182.14" y="131.6"/> + <line x="230.47" y="131.6"/> + <curve x1="241.79" x2="250.06" x3="255.27" y1="131.6" y2="133.93" y3="138.58"/> + <curve x1="260.55" x2="263.18" x3="263.18" y1="143.23" y2="149.17" y3="156.39"/> + <curve x1="263.18" x2="261.83" x3="259.12" y1="161.33" y2="165.91" y3="170.14"/> + <curve x1="256.41" x2="252.45" x3="247.25" y1="174.31" y2="177.37" y3="179.31"/> + <curve x1="242.04" x2="234.82" x3="225.58" y1="181.19" y2="182.12" y3="182.12"/> + <line x="182.14" y="182.12"/> + <close/> + <move x="336" y="132.75"/> + <line x="375.06" y="132.75"/> + <curve x1="384.23" x2="390.51" x3="393.91" y1="132.75" y2="133.2" y3="134.1"/> + <curve x1="399.19" x2="403.43" x3="406.62" y1="135.56" y2="138.58" y3="143.16"/> + <curve x1="409.88" x2="411.52" x3="411.52" y1="147.68" y2="153.13" y3="159.52"/> + <curve x1="411.52" x2="408.77" x3="403.29" y1="168.34" y2="175.18" y3="180.04"/> + <curve x1="397.8" x2="388.53" x3="375.47" y1="184.9" y2="187.33" y3="187.33"/> + <line x="336" y="187.33"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="secondary codec" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="194.79" y="63.36"/> + <line x="194.45" y="60.45"/> + <quad x1="195.47" x2="196.22" y1="60.73" y2="60.73"/> + <quad x1="197.26" x2="197.88" y1="60.73" y2="60.38"/> + <quad x1="198.5" x2="198.89" y1="60.04" y2="59.42"/> + <quad x1="199.19" x2="199.84" y1="58.95" y2="57.11"/> + <quad x1="199.93" x2="200.12" y1="56.85" y2="56.35"/> + <line x="193.18" y="38.02"/> + <line x="196.52" y="38.02"/> + <line x="200.32" y="48.62"/> + <quad x1="201.06" x2="201.65" y1="50.63" y2="52.86"/> + <quad x1="202.18" x2="202.93" y1="50.72" y2="48.69"/> + <line x="206.84" y="38.02"/> + <line x="209.94" y="38.02"/> + <line x="202.98" y="56.63"/> + <quad x1="201.86" x2="201.24" y1="59.64" y2="60.78"/> + <quad x1="200.41" x2="199.34" y1="62.31" y2="63.02"/> + <quad x1="198.27" x2="196.79" y1="63.74" y2="63.74"/> + <quad x1="195.9" x2="194.79" y1="63.74" y2="63.36"/> + <close/> + <move x="183.12" y="56.32"/> + <line x="183.12" y="38.02"/> + <line x="185.91" y="38.02"/> + <line x="185.91" y="40.8"/> + <quad x1="186.97" x2="187.87" y1="38.85" y2="38.23"/> + <quad x1="188.78" x2="189.87" y1="37.61" y2="37.61"/> + <quad x1="191.44" x2="193.05" y1="37.61" y2="38.61"/> + <line x="191.99" y="41.49"/> + <quad x1="190.85" x2="189.71" y1="40.81" y2="40.81"/> + <quad x1="188.7" x2="187.89" y1="40.81" y2="41.44"/> + <quad x1="187.08" x2="186.73" y1="42.04" y2="43.12"/> + <quad x1="186.22" x2="186.22" y1="44.78" y2="46.74"/> + <line x="186.22" y="56.32"/> + <close/> + <move x="175.45" y="54.06"/> + <quad x1="173.73" x2="172.13" y1="55.53" y2="56.13"/> + <quad x1="170.54" x2="168.72" y1="56.73" y2="56.73"/> + <quad x1="165.7" x2="164.08" y1="56.73" y2="55.27"/> + <quad x1="162.46" x2="162.46" y1="53.79" y2="51.49"/> + <quad x1="162.46" x2="163.07" y1="50.15" y2="49.05"/> + <quad x1="163.69" x2="164.67" y1="47.93" y2="47.26"/> + <quad x1="165.67" x2="166.91" y1="46.59" y2="46.24"/> + <quad x1="167.82" x2="169.66" y1="46" y2="45.78"/> + <quad x1="173.42" x2="175.19" y1="45.33" y2="44.71"/> + <quad x1="175.21" x2="175.21" y1="44.07" y2="43.9"/> + <quad x1="175.21" x2="174.33" y1="42" y2="41.23"/> + <quad x1="173.14" x2="170.8" y1="40.18" y2="40.18"/> + <quad x1="168.61" x2="167.56" y1="40.18" y2="40.95"/> + <quad x1="166.53" x2="166.03" y1="41.71" y2="43.66"/> + <line x="163" y="43.24"/> + <quad x1="163.41" x2="164.36" y1="41.3" y2="40.11"/> + <quad x1="165.3" x2="167.1" y1="38.9" y2="38.27"/> + <quad x1="168.89" x2="171.25" y1="37.61" y2="37.61"/> + <quad x1="173.59" x2="175.05" y1="37.61" y2="38.16"/> + <quad x1="176.52" x2="177.21" y1="38.71" y2="39.56"/> + <quad x1="177.9" x2="178.17" y1="40.38" y2="41.66"/> + <quad x1="178.33" x2="178.33" y1="42.45" y2="44.52"/> + <line x="178.33" y="48.65"/> + <quad x1="178.33" x2="178.52" y1="52.98" y2="54.13"/> + <quad x1="178.72" x2="179.31" y1="55.27" y2="56.32"/> + <line x="176.07" y="56.32"/> + <quad x1="175.59" x2="175.45" y1="55.35" y2="54.06"/> + <close/> + <move x="175.19" y="47.14"/> + <quad x1="173.5" x2="170.13" y1="47.83" y2="48.31"/> + <quad x1="168.22" x2="167.42" y1="48.58" y2="48.93"/> + <quad x1="166.63" x2="166.2" y1="49.27" y2="49.94"/> + <quad x1="165.77" x2="165.77" y1="50.6" y2="51.41"/> + <quad x1="165.77" x2="166.7" y1="52.65" y2="53.48"/> + <quad x1="167.65" x2="169.46" y1="54.3" y2="54.3"/> + <quad x1="171.25" x2="172.64" y1="54.3" y2="53.53"/> + <quad x1="174.04" x2="174.69" y1="52.73" y2="51.37"/> + <quad x1="175.19" x2="175.19" y1="50.32" y2="48.27"/> + <close/> + <move x="155.74" y="56.32"/> + <line x="155.74" y="54.01"/> + <quad x1="154" x2="150.63" y1="56.73" y2="56.73"/> + <quad x1="148.44" x2="146.6" y1="56.73" y2="55.53"/> + <quad x1="144.77" x2="143.76" y1="54.32" y2="52.17"/> + <quad x1="142.76" x2="142.76" y1="50" y2="47.19"/> + <quad x1="142.76" x2="143.67" y1="44.45" y2="42.23"/> + <quad x1="144.58" x2="146.41" y1="39.99" y2="38.8"/> + <quad x1="148.23" x2="150.49" y1="37.61" y2="37.61"/> + <quad x1="152.14" x2="153.44" y1="37.61" y2="38.32"/> + <quad x1="154.73" x2="155.54" y1="39.01" y2="40.13"/> + <line x="155.54" y="31.07"/> + <line x="158.62" y="31.07"/> + <line x="158.62" y="56.32"/> + <close/> + <move x="145.94" y="47.19"/> + <quad x1="145.94" x2="147.42" y1="50.7" y2="52.44"/> + <quad x1="148.91" x2="150.92" y1="54.18" y2="54.18"/> + <quad x1="152.95" x2="154.37" y1="54.18" y2="52.53"/> + <quad x1="155.8" x2="155.8" y1="50.86" y2="47.45"/> + <quad x1="155.8" x2="154.35" y1="43.69" y2="41.93"/> + <quad x1="152.9" x2="150.78" y1="40.18" y2="40.18"/> + <quad x1="148.72" x2="147.32" y1="40.18" y2="41.87"/> + <quad x1="145.94" x2="145.94" y1="43.55" y2="47.19"/> + <close/> + <move x="124.24" y="56.32"/> + <line x="124.24" y="38.02"/> + <line x="127.03" y="38.02"/> + <line x="127.03" y="40.63"/> + <quad x1="129.04" x2="132.85" y1="37.61" y2="37.61"/> + <quad x1="134.51" x2="135.88" y1="37.61" y2="38.21"/> + <quad x1="137.28" x2="137.97" y1="38.8" y2="39.76"/> + <quad x1="138.66" x2="138.93" y1="40.73" y2="42.06"/> + <quad x1="139.1" x2="139.1" y1="42.92" y2="45.07"/> + <line x="139.1" y="56.32"/> + <line x="136" y="56.32"/> + <line x="136" y="45.19"/> + <quad x1="136" x2="135.64" y1="43.3" y2="42.37"/> + <quad x1="135.28" x2="134.35" y1="41.42" y2="40.87"/> + <quad x1="133.44" x2="132.2" y1="40.3" y2="40.3"/> + <quad x1="130.22" x2="128.77" y1="40.3" y2="41.56"/> + <quad x1="127.34" x2="127.34" y1="42.81" y2="46.33"/> + <line x="127.34" y="56.32"/> + <close/> + <move x="103.45" y="47.17"/> + <quad x1="103.45" x2="106.27" y1="42.09" y2="39.64"/> + <quad x1="108.63" x2="112.03" y1="37.61" y2="37.61"/> + <quad x1="115.8" x2="118.19" y1="37.61" y2="40.09"/> + <quad x1="120.59" x2="120.59" y1="42.55" y2="46.91"/> + <quad x1="120.59" x2="119.52" y1="50.44" y2="52.48"/> + <quad x1="118.47" x2="116.44" y1="54.49" y2="55.61"/> + <quad x1="114.42" x2="112.03" y1="56.73" y2="56.73"/> + <quad x1="108.18" x2="105.81" y1="56.73" y2="54.27"/> + <quad x1="103.45" x2="103.45" y1="51.8" y2="47.17"/> + <close/> + <move x="106.63" y="47.17"/> + <quad x1="106.63" x2="108.17" y1="50.69" y2="52.44"/> + <quad x1="109.7" x2="112.03" y1="54.18" y2="54.18"/> + <quad x1="114.33" x2="115.87" y1="54.18" y2="52.42"/> + <quad x1="117.4" x2="117.4" y1="50.67" y2="47.07"/> + <quad x1="117.4" x2="115.85" y1="43.67" y2="41.93"/> + <quad x1="114.32" x2="112.03" y1="40.18" y2="40.18"/> + <quad x1="109.7" x2="108.17" y1="40.18" y2="41.92"/> + <quad x1="106.63" x2="106.63" y1="43.66" y2="47.17"/> + <close/> + <move x="98.9" y="49.62"/> + <line x="101.95" y="50.01"/> + <quad x1="101.45" x2="99.38" y1="53.17" y2="54.96"/> + <quad x1="97.33" x2="94.34" y1="56.73" y2="56.73"/> + <quad x1="90.58" x2="88.29" y1="56.73" y2="54.29"/> + <quad x1="86.02" x2="86.02" y1="51.82" y2="47.24"/> + <quad x1="86.02" x2="87" y1="44.28" y2="42.06"/> + <quad x1="87.98" x2="89.98" y1="39.83" y2="38.73"/> + <quad x1="91.99" x2="94.35" y1="37.61" y2="37.61"/> + <quad x1="97.33" x2="99.23" y1="37.61" y2="39.13"/> + <quad x1="101.12" x2="101.66" y1="40.63" y2="43.4"/> + <line x="98.64" y="43.86"/> + <quad x1="98.21" x2="97.11" y1="42.02" y2="41.09"/> + <quad x1="96.02" x2="94.47" y1="40.16" y2="40.16"/> + <quad x1="92.13" x2="90.67" y1="40.16" y2="41.85"/> + <quad x1="89.2" x2="89.2" y1="43.52" y2="47.15"/> + <quad x1="89.2" x2="90.61" y1="50.84" y2="52.51"/> + <quad x1="92.03" x2="94.3" y1="54.18" y2="54.18"/> + <quad x1="96.13" x2="97.35" y1="54.18" y2="53.06"/> + <quad x1="98.57" x2="98.9" y1="51.94" y2="49.62"/> + <close/> + <move x="79.85" y="50.43"/> + <line x="83.05" y="50.82"/> + <quad x1="82.3" x2="80.25" y1="53.63" y2="55.18"/> + <quad x1="78.2" x2="75.01" y1="56.73" y2="56.73"/> + <quad x1="71" x2="68.64" y1="56.73" y2="54.27"/> + <quad x1="66.29" x2="66.29" y1="51.79" y2="47.33"/> + <quad x1="66.29" x2="68.67" y1="42.71" y2="40.16"/> + <quad x1="71.05" x2="74.84" y1="37.61" y2="37.61"/> + <quad x1="78.51" x2="80.83" y1="37.61" y2="40.11"/> + <quad x1="83.16" x2="83.16" y1="42.61" y2="47.14"/> + <quad x1="83.16" x2="83.14" y1="47.41" y2="47.96"/> + <line x="69.5" y="47.96"/> + <quad x1="69.67" x2="71.2" y1="50.98" y2="52.58"/> + <quad x1="72.73" x2="75.03" y1="54.18" y2="54.18"/> + <quad x1="76.73" x2="77.94" y1="54.18" y2="53.29"/> + <quad x1="79.14" x2="79.85" y1="52.39" y2="50.43"/> + <close/> + <move x="69.67" y="45.41"/> + <line x="79.88" y="45.41"/> + <quad x1="79.68" x2="78.71" y1="43.11" y2="41.95"/> + <quad x1="77.23" x2="74.87" y1="40.16" y2="40.16"/> + <quad x1="72.73" x2="71.27" y1="40.16" y2="41.59"/> + <quad x1="69.82" x2="69.67" y1="43.02" y2="45.41"/> + <close/> + <move x="43.02" y="48.2"/> + <line x="46.17" y="47.93"/> + <quad x1="46.4" x2="47.21" y1="49.82" y2="51.05"/> + <quad x1="48.03" x2="49.76" y1="52.25" y2="53.01"/> + <quad x1="51.48" x2="53.63" y1="53.75" y2="53.75"/> + <quad x1="55.54" x2="57.01" y1="53.75" y2="53.18"/> + <quad x1="58.47" x2="59.18" y1="52.61" y2="51.63"/> + <quad x1="59.9" x2="59.9" y1="50.63" y2="49.46"/> + <quad x1="59.9" x2="59.21" y1="48.27" y2="47.4"/> + <quad x1="58.52" x2="56.94" y1="46.5" y2="45.9"/> + <quad x1="55.92" x2="52.44" y1="45.5" y2="44.67"/> + <quad x1="48.96" x2="47.57" y1="43.83" y2="43.09"/> + <quad x1="45.76" x2="44.86" y1="42.14" y2="40.75"/> + <quad x1="43.99" x2="43.99" y1="39.33" y2="37.59"/> + <quad x1="43.99" x2="45.07" y1="35.68" y2="34.03"/> + <quad x1="46.16" x2="48.24" y1="32.36" y2="31.5"/> + <quad x1="50.32" x2="52.87" y1="30.63" y2="30.63"/> + <quad x1="55.68" x2="57.82" y1="30.63" y2="31.55"/> + <quad x1="59.97" x2="61.12" y1="32.44" y2="34.2"/> + <quad x1="62.28" x2="62.37" y1="35.96" y2="38.18"/> + <line x="59.16" y="38.42"/> + <quad x1="58.9" x2="57.4" y1="36.03" y2="34.8"/> + <quad x1="55.92" x2="53.01" y1="33.58" y2="33.58"/> + <quad x1="49.98" x2="48.58" y1="33.58" y2="34.7"/> + <quad x1="47.21" x2="47.21" y1="35.8" y2="37.37"/> + <quad x1="47.21" x2="48.19" y1="38.73" y2="39.61"/> + <quad x1="49.15" x2="53.22" y1="40.49" y2="41.42"/> + <quad x1="57.3" x2="58.82" y1="42.33" y2="43.02"/> + <quad x1="61.02" x2="62.07" y1="44.04" y2="45.6"/> + <quad x1="63.12" x2="63.12" y1="47.15" y2="49.19"/> + <quad x1="63.12" x2="61.97" y1="51.2" y2="52.99"/> + <quad x1="60.81" x2="58.64" y1="54.77" y2="55.77"/> + <quad x1="56.49" x2="53.79" y1="56.75" y2="56.75"/> + <quad x1="50.36" x2="48.03" y1="56.75" y2="55.75"/> + <quad x1="45.73" x2="44.4" y1="54.75" y2="52.75"/> + <quad x1="43.09" x2="43.02" y1="50.74" y2="48.2"/> + <close/> + <move x="207.61" y="126.52"/> + <line x="183.87" y="143.41"/> + <line x="207.61" y="160.3"/> + <line x="207.61" y="148.81"/> + <line x="234.84" y="148.81"/> + <line x="234.84" y="138.01"/> + <line x="207.61" y="138.01"/> + <close/> + <move x="40.81" y="126.52"/> + <line x="40.81" y="138.01"/> + <line x="13.58" y="138.01"/> + <line x="13.58" y="148.81"/> + <line x="40.81" y="148.81"/> + <line x="40.81" y="160.3"/> + <line x="64.54" y="143.41"/> + <close/> + <move x="152.47" y="85.98"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="135.34" x-axis-rotation="0" y="103.11"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="143.46" x-axis-rotation="0" y="117.65"/> + <curve x1="137.14" x2="133.57" x3="133.57" y1="125.14" y2="134.99" y3="144.74"/> + <line x="133.57" y="161.39"/> + <line x="171.37" y="161.39"/> + <line x="171.37" y="144.74"/> + <curve x1="171.37" x2="166.91" x3="160.99" y1="134.88" y2="125.42" y3="117.95"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="169.6" x-axis-rotation="0" y="103.11"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="152.47" x-axis-rotation="0" y="85.98"/> + <close/> + <move x="95.98" y="85.98"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="78.85" x-axis-rotation="0" y="103.11"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="86.97" x-axis-rotation="0" y="117.65"/> + <curve x1="80.65" x2="77.08" x3="77.08" y1="125.14" y2="134.99" y3="144.74"/> + <line x="77.08" y="161.39"/> + <line x="114.88" y="161.39"/> + <line x="114.88" y="144.74"/> + <curve x1="114.88" x2="110.42" x3="104.5" y1="134.88" y2="125.42" y3="117.95"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="113.11" x-axis-rotation="0" y="103.11"/> + <arc large-arc-flag="0" rx="17.13" ry="17.13" sweep-flag="0" x="95.98" x-axis-rotation="0" y="85.98"/> + <close/> + <move x="211.1" y="81.15"/> + <line x="211.1" y="92.64"/> + <line x="183.87" y="92.64"/> + <line x="183.87" y="103.43"/> + <line x="211.1" y="103.43"/> + <line x="211.1" y="114.92"/> + <line x="234.84" y="98.04"/> + <close/> + <move x="37.32" y="81.15"/> + <line x="13.58" y="98.04"/> + <line x="37.32" y="114.92"/> + <line x="37.32" y="103.43"/> + <line x="64.54" y="103.43"/> + <line x="64.54" y="92.64"/> + <line x="37.32" y="92.64"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="secure catalyst switch color" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="361.29" y="66.66"/> + <line x="300.88" y="153.68"/> + <line x="341.03" y="153.68"/> + <line x="341.03" y="245.99"/> + <curve x1="323.36" x2="306.62" x3="292.08" y1="249.05" y2="256.09" y3="266.56"/> + <line x="226.56" y="201.42"/> + <line x="254.85" y="172.97"/> + <line x="151.05" y="153.95"/> + <line x="170.15" y="258.15"/> + <line x="198.46" y="229.68"/> + <line x="264" y="294.84"/> + <curve x1="254.02" x2="247.33" x3="244.41" y1="309.15" y2="325.49" y3="342.68"/> + <line x="151.98" y="342.68"/> + <line x="151.98" y="302.55"/> + <line x="64.96" y="362.26"/> + <line x="151.98" y="422.68"/> + <line x="151.98" y="382.53"/> + <line x="244.29" y="382.53"/> + <curve x1="247.29" x2="254.13" x3="264.3" y1="399.87" y2="416.32" y3="430.69"/> + <line x="198.92" y="496.14"/> + <line x="170.52" y="467.77"/> + <line x="151.77" y="572.04"/> + <line x="255.51" y="552.66"/> + <line x="227.12" y="524.3"/> + <line x="292.37" y="458.97"/> + <curve x1="306.87" x2="323.5" x3="341.03" y1="469.27" y2="476.16" y3="479.15"/> + <line x="341.03" y="571.58"/> + <line x="300.88" y="571.58"/> + <line x="361.29" y="658.6"/> + <line x="421" y="571.58"/> + <line x="380.88" y="571.58"/> + <line x="380.88" y="479.26"/> + <curve x1="398.28" x2="414.79" x3="429.19" y1="476.24" y2="469.35" y3="459.11"/> + <line x="494.79" y="524.34"/> + <line x="466.49" y="552.81"/> + <line x="570.79" y="571.32"/> + <line x="551.19" y="467.62"/> + <line x="522.89" y="496.08"/> + <line x="457.43" y="430.98"/> + <curve x1="467.64" x2="474.48" x3="477.45" y1="416.53" y2="399.97" y3="382.53"/> + <line x="569.88" y="382.53"/> + <line x="569.88" y="422.68"/> + <line x="656.89" y="362.26"/> + <line x="569.88" y="302.55"/> + <line x="569.88" y="342.68"/> + <line x="477.56" y="342.68"/> + <curve x1="474.51" x2="467.53" x3="457.14" y1="325.12" y2="308.48" y3="293.99"/> + <line x="522.43" y="228.62"/> + <line x="550.82" y="256.97"/> + <line x="570.07" y="153.21"/> + <line x="465.82" y="172.08"/> + <line x="494.23" y="200.46"/> + <line x="428.92" y="265.85"/> + <curve x1="414.56" x2="398.15" x3="380.88" y1="255.8" y2="249.05" y3="246.11"/> + <line x="380.88" y="153.68"/> + <line x="421" y="153.68"/> + <close/> + <move x="368.61" y="247.93"/> + <line x="453.24" y="296.96"/> + <line x="436.6" y="440.65"/> + <line x="283.68" y="442.79"/> + <line x="280.69" y="286.29"/> + <close/> + <move x="364.41" y="363.2"/> + <curve x1="359.13" x2="354.85" x3="354.85" y1="363.2" y2="367.48" y3="372.76"/> + <curve x1="354.85" x2="357.12" x3="360.62" y1="376.57" y2="380.02" y3="381.53"/> + <line x="360.62" y="403.65"/> + <line x="368.18" y="403.65"/> + <line x="368.18" y="381.52"/> + <curve x1="371.68" x2="373.96" x3="373.96" y1="380.01" y2="376.57" y3="372.76"/> + <curve x1="373.96" x2="369.68" x3="364.41" y1="367.48" y2="363.2" y3="363.2"/> + <close/> + </path> + <fill/> + <fillcolor color="#e6a9ab"/> + <path> + <move x="360.91" y="244.3"/> + <curve x1="295.56" x2="242.58" x3="242.58" y1="244.3" y2="297.28" y3="362.63"/> + <curve x1="242.58" x2="295.56" x3="360.91" y1="427.99" y2="480.97" y3="480.97"/> + <curve x1="426.26" x2="479.25" x3="479.25" y1="480.97" y2="427.99" y3="362.63"/> + <curve x1="479.25" x2="426.26" x3="360.91" y1="297.28" y2="244.3" y3="244.3"/> + <close/> + <move x="366.46" y="257.3"/> + <curve x1="389.2" x2="409.09" x3="409.09" y1="257.3" y2="275.56" y3="299.36"/> + <line x="409.09" y="333.65"/> + <line x="433.19" y="333.65"/> + <line x="433.19" y="427.87"/> + <line x="295.6" y="427.87"/> + <line x="295.6" y="333.65"/> + <line x="323.83" y="333.65"/> + <line x="323.83" y="299.36"/> + <curve x1="323.83" x2="339.36" x3="366.46" y1="279.56" y2="257.3" y3="257.3"/> + <close/> + <move x="366.46" y="266.75"/> + <curve x1="344.49" x2="333.28" x3="333.28" y1="266.75" y2="284.41" y3="299.36"/> + <line x="333.28" y="333.65"/> + <line x="399.64" y="333.65"/> + <line x="399.64" y="299.36"/> + <curve x1="399.64" x2="384.16" x3="366.46" y1="280.82" y2="266.75" y3="266.75"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="secure catalyst switch color2" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="95.59" y="17.64"/> + <line x="79.61" y="40.66"/> + <line x="90.23" y="40.66"/> + <line x="90.23" y="65.08"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="77.28" x-axis-rotation="0" y="70.53"/> + <line x="59.94" y="53.29"/> + <line x="67.43" y="45.76"/> + <line x="39.96" y="40.73"/> + <line x="45.02" y="68.3"/> + <line x="52.51" y="60.77"/> + <line x="69.85" y="78.01"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="64.67" x-axis-rotation="0" y="90.67"/> + <line x="40.21" y="90.67"/> + <line x="40.21" y="80.05"/> + <line x="17.19" y="95.85"/> + <line x="40.21" y="111.83"/> + <line x="40.21" y="101.21"/> + <line x="64.63" y="101.21"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="69.93" x-axis-rotation="0" y="113.95"/> + <line x="52.63" y="131.27"/> + <line x="45.12" y="123.76"/> + <line x="40.16" y="151.35"/> + <line x="67.6" y="146.22"/> + <line x="60.09" y="138.72"/> + <line x="77.36" y="121.44"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="90.23" x-axis-rotation="0" y="126.78"/> + <line x="90.23" y="151.23"/> + <line x="79.61" y="151.23"/> + <line x="95.59" y="174.25"/> + <line x="111.39" y="151.23"/> + <line x="100.77" y="151.23"/> + <line x="100.77" y="126.8"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="113.56" x-axis-rotation="0" y="121.47"/> + <line x="130.91" y="138.73"/> + <line x="123.42" y="146.26"/> + <line x="151.02" y="151.16"/> + <line x="145.83" y="123.73"/> + <line x="138.35" y="131.25"/> + <line x="121.03" y="114.03"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="126.33" x-axis-rotation="0" y="101.21"/> + <line x="150.78" y="101.21"/> + <line x="150.78" y="111.83"/> + <line x="173.8" y="95.85"/> + <line x="150.78" y="80.05"/> + <line x="150.78" y="90.67"/> + <line x="126.35" y="90.67"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="120.95" x-axis-rotation="0" y="77.78"/> + <line x="138.23" y="60.49"/> + <line x="145.74" y="67.99"/> + <line x="150.83" y="40.54"/> + <line x="123.25" y="45.53"/> + <line x="130.77" y="53.04"/> + <line x="113.48" y="70.34"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="100.77" x-axis-rotation="0" y="65.12"/> + <line x="100.77" y="40.66"/> + <line x="111.39" y="40.66"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#e6a9ab"/> + <fillalpha alpha="1"/> + <path> + <move x="126.8" y="95.95"/> + <curve x1="126.8" x2="112.78" x3="95.5" y1="113.23" y2="127.25" y3="127.25"/> + <curve x1="78.21" x2="64.19" x3="64.19" y1="127.25" y2="113.23" y3="95.95"/> + <curve x1="64.19" x2="78.21" x3="95.5" y1="78.66" y2="64.64" y3="64.64"/> + <curve x1="112.78" x2="126.8" x3="126.8" y1="64.64" y2="78.66" y3="95.95"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="secure catalyst switch color3" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="95.59" y="17.64"/> + <line x="79.61" y="40.66"/> + <line x="90.23" y="40.66"/> + <line x="90.23" y="65.08"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="77.28" x-axis-rotation="0" y="70.53"/> + <line x="59.94" y="53.29"/> + <line x="67.43" y="45.76"/> + <line x="39.96" y="40.73"/> + <line x="45.02" y="68.3"/> + <line x="52.51" y="60.77"/> + <line x="69.85" y="78.01"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="64.67" x-axis-rotation="0" y="90.67"/> + <line x="40.21" y="90.67"/> + <line x="40.21" y="80.05"/> + <line x="17.19" y="95.85"/> + <line x="40.21" y="111.83"/> + <line x="40.21" y="101.21"/> + <line x="64.63" y="101.21"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="69.93" x-axis-rotation="0" y="113.95"/> + <line x="52.63" y="131.27"/> + <line x="45.12" y="123.76"/> + <line x="40.16" y="151.35"/> + <line x="67.6" y="146.22"/> + <line x="60.09" y="138.72"/> + <line x="77.36" y="121.44"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="90.23" x-axis-rotation="0" y="126.78"/> + <line x="90.23" y="151.23"/> + <line x="79.61" y="151.23"/> + <line x="95.59" y="174.25"/> + <line x="111.39" y="151.23"/> + <line x="100.77" y="151.23"/> + <line x="100.77" y="126.8"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="113.56" x-axis-rotation="0" y="121.47"/> + <line x="130.91" y="138.73"/> + <line x="123.42" y="146.26"/> + <line x="151.02" y="151.16"/> + <line x="145.83" y="123.73"/> + <line x="138.35" y="131.25"/> + <line x="121.03" y="114.03"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="126.33" x-axis-rotation="0" y="101.21"/> + <line x="150.78" y="101.21"/> + <line x="150.78" y="111.83"/> + <line x="173.8" y="95.85"/> + <line x="150.78" y="80.05"/> + <line x="150.78" y="90.67"/> + <line x="126.35" y="90.67"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="120.95" x-axis-rotation="0" y="77.78"/> + <line x="138.23" y="60.49"/> + <line x="145.74" y="67.99"/> + <line x="150.83" y="40.54"/> + <line x="123.25" y="45.53"/> + <line x="130.77" y="53.04"/> + <line x="113.48" y="70.34"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="100.77" x-axis-rotation="0" y="65.12"/> + <line x="100.77" y="40.66"/> + <line x="111.39" y="40.66"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#e6a9ab"/> + <path> + <move x="126.8" y="95.95"/> + <curve x1="126.8" x2="112.78" x3="95.5" y1="113.23" y2="127.25" y3="127.25"/> + <curve x1="78.21" x2="64.19" x3="64.19" y1="127.25" y2="113.23" y3="95.95"/> + <curve x1="64.19" x2="78.21" x3="95.5" y1="78.66" y2="64.64" y3="64.64"/> + <curve x1="112.78" x2="126.8" x3="126.8" y1="64.64" y2="78.66" y3="95.95"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="109.05" y="76.14"/> + <line x="114.15" y="76.14"/> + <line x="114.15" y="81.71"/> + <line x="109.05" y="81.71"/> + <close/> + <move x="109.05" y="87.1"/> + <line x="114.15" y="87.1"/> + <line x="114.15" y="113.93"/> + <line x="109.05" y="113.93"/> + <close/> + <move x="72.41" y="102.13"/> + <line x="77.75" y="102.13"/> + <curve x1="78.08" x2="81.05" x3="87.91" y1="107.17" y2="111.15" y3="111.15"/> + <curve x1="94.09" x2="98.06" x3="98.06" y1="111.15" y2="109.11" y3="105.75"/> + <curve x1="98.06" x2="92.05" x3="87.09" y1="101.86" y2="98.84" y3="97.89"/> + <curve x1="81.1" x2="73.36" x3="73.36" y1="96.72" y2="93.36" y3="85.46"/> + <curve x1="73.36" x2="78.9" x3="87.1" y1="79.72" y2="75.79" y3="75.79"/> + <curve x1="98.78" x2="101.95" x3="101.78" y1="75.79" y2="83.13" y3="87.66"/> + <line x="96.37" y="87.66"/> + <curve x1="96.19" x2="92.64" x3="87.26" y1="82.32" y2="80.15" y3="80.15"/> + <curve x1="81.38" x2="79.1" x3="79.1" y1="80.15" y2="82.94" y3="85"/> + <curve x1="79.1" x2="81.49" x3="88.35" y1="88.37" y2="90.23" y3="92.86"/> + <curve x1="95.89" x2="103.39" x3="103.39" y1="95.48" y2="96.4" y3="104.47"/> + <curve x1="103.39" x2="97.37" x3="87.78" y1="111.66" y2="115.52" y3="115.52"/> + <curve x1="79.53" x2="72.41" x3="72.41" y1="115.52" y2="110.98" y3="102.13"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="secure catalyst switch subdued" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <save/> + <path> + <move x="95.59" y="17.64"/> + <line x="79.61" y="40.66"/> + <line x="90.23" y="40.66"/> + <line x="90.23" y="65.08"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="77.28" x-axis-rotation="0" y="70.53"/> + <line x="59.94" y="53.29"/> + <line x="67.43" y="45.76"/> + <line x="39.96" y="40.73"/> + <line x="45.02" y="68.3"/> + <line x="52.51" y="60.77"/> + <line x="69.85" y="78.01"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="64.67" x-axis-rotation="0" y="90.67"/> + <line x="40.21" y="90.67"/> + <line x="40.21" y="80.05"/> + <line x="17.19" y="95.85"/> + <line x="40.21" y="111.83"/> + <line x="40.21" y="101.21"/> + <line x="64.63" y="101.21"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="69.93" x-axis-rotation="0" y="113.95"/> + <line x="52.63" y="131.27"/> + <line x="45.12" y="123.76"/> + <line x="40.16" y="151.35"/> + <line x="67.6" y="146.22"/> + <line x="60.09" y="138.72"/> + <line x="77.36" y="121.44"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="90.23" x-axis-rotation="0" y="126.78"/> + <line x="90.23" y="151.23"/> + <line x="79.61" y="151.23"/> + <line x="95.59" y="174.25"/> + <line x="111.39" y="151.23"/> + <line x="100.77" y="151.23"/> + <line x="100.77" y="126.8"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="113.56" x-axis-rotation="0" y="121.47"/> + <line x="130.91" y="138.73"/> + <line x="123.42" y="146.26"/> + <line x="151.02" y="151.16"/> + <line x="145.83" y="123.73"/> + <line x="138.35" y="131.25"/> + <line x="121.03" y="114.03"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="126.33" x-axis-rotation="0" y="101.21"/> + <line x="150.78" y="101.21"/> + <line x="150.78" y="111.83"/> + <line x="173.8" y="95.85"/> + <line x="150.78" y="80.05"/> + <line x="150.78" y="90.67"/> + <line x="126.35" y="90.67"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="120.95" x-axis-rotation="0" y="77.78"/> + <line x="138.23" y="60.49"/> + <line x="145.74" y="67.99"/> + <line x="150.83" y="40.54"/> + <line x="123.25" y="45.53"/> + <line x="130.77" y="53.04"/> + <line x="113.48" y="70.34"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="100.77" x-axis-rotation="0" y="65.12"/> + <line x="100.77" y="40.66"/> + <line x="111.39" y="40.66"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <strokewidth width="1.00017309"/> + <alpha alpha="0.5"/> + <path> + <move x="95.52" y="64.61"/> + <curve x1="78.23" x2="64.21" x3="64.21" y1="64.61" y2="78.63" y3="95.92"/> + <curve x1="64.21" x2="78.23" x3="95.52" y1="113.21" y2="127.23" y3="127.23"/> + <curve x1="112.81" x2="126.83" x3="126.83" y1="127.23" y2="113.21" y3="95.92"/> + <curve x1="126.83" x2="112.81" x3="95.52" y1="78.63" y2="64.61" y3="64.61"/> + <close/> + <move x="96.99" y="68.06"/> + <curve x1="103" x2="108.27" x3="108.27" y1="68.06" y2="72.89" y3="79.18"/> + <line x="108.27" y="88.25"/> + <line x="114.64" y="88.25"/> + <line x="114.64" y="113.18"/> + <line x="78.24" y="113.18"/> + <line x="78.24" y="88.25"/> + <line x="85.71" y="88.25"/> + <line x="85.71" y="79.18"/> + <curve x1="85.71" x2="89.82" x3="96.99" y1="73.94" y2="68.06" y3="68.06"/> + <close/> + <move x="96.99" y="70.56"/> + <curve x1="91.17" x2="88.21" x3="88.21" y1="70.56" y2="75.23" y3="79.18"/> + <line x="88.21" y="88.25"/> + <line x="105.76" y="88.25"/> + <line x="105.76" y="79.18"/> + <curve x1="105.76" x2="101.67" x3="96.99" y1="74.28" y2="70.56" y3="70.56"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <fillcolor color="#005073"/> + <strokewidth width="1"/> + <fillalpha alpha="0.88317757"/> + <path> + <move x="98.94" y="98.62"/> + <curve x1="98.94" x2="98.34" x3="97.41" y1="99.63" y2="100.55" y3="100.94"/> + <line x="97.41" y="106.8"/> + <line x="95.41" y="106.8"/> + <line x="95.41" y="100.95"/> + <curve x1="94.49" x2="93.89" x3="93.89" y1="100.55" y2="99.63" y3="98.62"/> + <curve x1="93.89" x2="95.02" x3="96.42" y1="97.23" y2="96.1" y3="96.1"/> + <curve x1="97.81" x2="98.94" x3="98.94" y1="96.1" y2="97.23" y3="98.62"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="secure catalyst switch subdued2" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <save/> + <path> + <move x="95.59" y="17.64"/> + <line x="79.61" y="40.66"/> + <line x="90.23" y="40.66"/> + <line x="90.23" y="65.08"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="77.28" x-axis-rotation="0" y="70.53"/> + <line x="59.94" y="53.29"/> + <line x="67.43" y="45.76"/> + <line x="39.96" y="40.73"/> + <line x="45.02" y="68.3"/> + <line x="52.51" y="60.77"/> + <line x="69.85" y="78.01"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="64.67" x-axis-rotation="0" y="90.67"/> + <line x="40.21" y="90.67"/> + <line x="40.21" y="80.05"/> + <line x="17.19" y="95.85"/> + <line x="40.21" y="111.83"/> + <line x="40.21" y="101.21"/> + <line x="64.63" y="101.21"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="69.93" x-axis-rotation="0" y="113.95"/> + <line x="52.63" y="131.27"/> + <line x="45.12" y="123.76"/> + <line x="40.16" y="151.35"/> + <line x="67.6" y="146.22"/> + <line x="60.09" y="138.72"/> + <line x="77.36" y="121.44"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="90.23" x-axis-rotation="0" y="126.78"/> + <line x="90.23" y="151.23"/> + <line x="79.61" y="151.23"/> + <line x="95.59" y="174.25"/> + <line x="111.39" y="151.23"/> + <line x="100.77" y="151.23"/> + <line x="100.77" y="126.8"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="113.56" x-axis-rotation="0" y="121.47"/> + <line x="130.91" y="138.73"/> + <line x="123.42" y="146.26"/> + <line x="151.02" y="151.16"/> + <line x="145.83" y="123.73"/> + <line x="138.35" y="131.25"/> + <line x="121.03" y="114.03"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="126.33" x-axis-rotation="0" y="101.21"/> + <line x="150.78" y="101.21"/> + <line x="150.78" y="111.83"/> + <line x="173.8" y="95.85"/> + <line x="150.78" y="80.05"/> + <line x="150.78" y="90.67"/> + <line x="126.35" y="90.67"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="120.95" x-axis-rotation="0" y="77.78"/> + <line x="138.23" y="60.49"/> + <line x="145.74" y="67.99"/> + <line x="150.83" y="40.54"/> + <line x="123.25" y="45.53"/> + <line x="130.77" y="53.04"/> + <line x="113.48" y="70.34"/> + <arc large-arc-flag="0" rx="31.31" ry="31.31" sweep-flag="0" x="100.77" x-axis-rotation="0" y="65.12"/> + <line x="100.77" y="40.66"/> + <line x="111.39" y="40.66"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="126.8" y="95.95"/> + <curve x1="126.8" x2="112.78" x3="95.5" y1="113.23" y2="127.25" y3="127.25"/> + <curve x1="78.21" x2="64.19" x3="64.19" y1="127.25" y2="113.23" y3="95.95"/> + <curve x1="64.19" x2="78.21" x3="95.5" y1="78.66" y2="64.64" y3="64.64"/> + <curve x1="112.78" x2="126.8" x3="126.8" y1="64.64" y2="78.66" y3="95.95"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <fillcolor color="#ffffff"/> + <path> + <move x="109.05" y="76.14"/> + <line x="114.15" y="76.14"/> + <line x="114.15" y="81.71"/> + <line x="109.05" y="81.71"/> + <close/> + <move x="109.05" y="87.1"/> + <line x="114.15" y="87.1"/> + <line x="114.15" y="113.93"/> + <line x="109.05" y="113.93"/> + <close/> + <move x="72.41" y="102.13"/> + <line x="77.75" y="102.13"/> + <curve x1="78.08" x2="81.05" x3="87.91" y1="107.17" y2="111.15" y3="111.15"/> + <curve x1="94.09" x2="98.06" x3="98.06" y1="111.15" y2="109.11" y3="105.75"/> + <curve x1="98.06" x2="92.05" x3="87.09" y1="101.86" y2="98.84" y3="97.89"/> + <curve x1="81.1" x2="73.36" x3="73.36" y1="96.72" y2="93.36" y3="85.46"/> + <curve x1="73.36" x2="78.9" x3="87.1" y1="79.72" y2="75.79" y3="75.79"/> + <curve x1="98.78" x2="101.95" x3="101.78" y1="75.79" y2="83.13" y3="87.66"/> + <line x="96.37" y="87.66"/> + <curve x1="96.19" x2="92.64" x3="87.26" y1="82.32" y2="80.15" y3="80.15"/> + <curve x1="81.38" x2="79.1" x3="79.1" y1="80.15" y2="82.94" y3="85"/> + <curve x1="79.1" x2="81.49" x3="88.35" y1="88.37" y2="90.23" y3="92.86"/> + <curve x1="95.89" x2="103.39" x3="103.39" y1="95.48" y2="96.4" y3="104.47"/> + <curve x1="103.39" x2="97.37" x3="87.78" y1="111.66" y2="115.52" y3="115.52"/> + <curve x1="79.53" x2="72.41" x3="72.41" y1="115.52" y2="110.98" y3="102.13"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="150.99" name="secure endpoints" strokewidth="inherit" w="220.46"> + <connections/> + <foreground> + <path> + <move x="110.82" y="63.52"/> + <arc large-arc-flag="0" rx="3.06" ry="3.06" sweep-flag="1" x="113.88" x-axis-rotation="0" y="66.58"/> + <arc large-arc-flag="0" rx="3.06" ry="3.06" sweep-flag="1" x="112.17" x-axis-rotation="0" y="69.32"/> + <line x="112.17" y="76.57"/> + <line x="109.47" y="76.57"/> + <line x="109.47" y="69.32"/> + <arc large-arc-flag="0" rx="3.06" ry="3.06" sweep-flag="1" x="107.77" x-axis-rotation="0" y="66.58"/> + <arc large-arc-flag="0" rx="3.06" ry="3.06" sweep-flag="1" x="110.82" x-axis-rotation="0" y="63.52"/> + <close/> + <move x="110.98" y="29.31"/> + <curve x1="103.74" x2="96.68" x3="96.68" y1="29.31" y2="35.94" y3="44"/> + <line x="96.68" y="53.74"/> + <line x="88.12" y="53.74"/> + <line x="88.12" y="84.25"/> + <line x="133.95" y="84.25"/> + <line x="133.95" y="53.74"/> + <line x="125.28" y="53.74"/> + <line x="125.28" y="44"/> + <curve x1="125.28" x2="117.88" x3="110.98" y1="35.62" y2="29.31" y3="29.31"/> + <close/> + <move x="110.98" y="32.31"/> + <curve x1="115.96" x2="122.28" x3="122.28" y1="32.31" y2="37.46" y3="44"/> + <line x="122.28" y="53.74"/> + <line x="99.68" y="53.74"/> + <line x="99.68" y="44"/> + <curve x1="99.68" x2="105.67" x3="110.98" y1="37.77" y2="32.31" y3="32.31"/> + <close/> + <move x="33.01" y="110.98"/> + <line x="35.08" y="110.98"/> + <line x="185.47" y="110.98"/> + <line x="187.7" y="110.98"/> + <curve x1="188.61" x2="190.94" x3="192.74" y1="110.98" y2="112.21" y3="113.59"/> + <line x="217.46" y="136.99"/> + <line x="217.46" y="142.53"/> + <curve x1="217.46" x2="214.63" x3="211.1" y1="145.21" y2="147.99" y3="147.99"/> + <line x="9.54" y="147.99"/> + <curve x1="7.92" x2="6.23" x3="5.01" y1="147.99" y2="147.41" y3="146.39"/> + <curve x1="3.78" x2="3" x3="3" y1="145.37" y2="143.98" y3="142.07"/> + <line x="3" y="137.21"/> + <line x="29.32" y="112.53"/> + <curve x1="30.2" x2="31.72" x3="33.01" y1="111.76" y2="110.98" y3="110.98"/> + <close/> + <move x="35.08" y="3"/> + <line x="185.47" y="3"/> + <curve x1="189.01" x2="191.82" x3="191.82" y1="3" y2="5.8" y3="9.35"/> + <line x="191.82" y="101.61"/> + <curve x1="191.82" x2="189.01" x3="185.47" y1="105.16" y2="107.98" y3="107.98"/> + <line x="35.08" y="107.98"/> + <curve x1="31.54" x2="28.74" x3="28.74" y1="107.98" y2="105.16" y3="101.61"/> + <line x="28.74" y="9.35"/> + <curve x1="28.74" x2="31.54" x3="35.08" y1="5.8" y2="3" y3="3"/> + <close/> + <move x="35.08" y="0"/> + <curve x1="29.93" x2="25.74" x3="25.74" y1="0" y2="4.19" y3="9.35"/> + <line x="25.74" y="101.61"/> + <curve x1="25.74" x2="27.13" x3="29.28" y1="104.57" y2="107.22" y3="108.94"/> + <curve x1="28.54" x2="27.89" x3="27.34" y1="109.33" y2="109.79" y3="110.27"/> + <line x="27.32" y="110.29"/> + <line x="0" y="135.91"/> + <line x="0" y="142.07"/> + <curve x1="0" x2="1.27" x3="3.08" y1="144.85" y2="147.17" y3="148.69"/> + <curve x1="4.9" x2="7.23" x3="9.54" y1="150.21" y2="150.99" y3="150.99"/> + <line x="211.1" y="150.99"/> + <curve x1="216.17" x2="220.46" x3="220.46" y1="150.99" y2="147.15" y3="142.53"/> + <line x="220.46" y="135.7"/> + <line x="194.67" y="111.29"/> + <line x="194.61" y="111.24"/> + <curve x1="193.58" x2="192.45" x3="191.25" y1="110.45" y2="109.6" y3="108.96"/> + <curve x1="193.42" x2="194.82" x3="194.82" y1="107.25" y2="104.59" y3="101.62"/> + <line x="194.82" y="9.35"/> + <curve x1="194.82" x2="190.62" x3="185.47" y1="4.19" y2="0" y3="0"/> + <close/> + <move x="37.11" y="11.53"/> + <line x="183.01" y="11.53"/> + <line x="183.01" y="99.54"/> + <line x="37.11" y="99.54"/> + <close/> + <move x="72.96" y="136.77"/> + <line x="80.61" y="123.67"/> + <line x="140.11" y="123.67"/> + <line x="147.79" y="136.77"/> + <line x="127.94" y="136.77"/> + <line x="127.94" y="139.07"/> + <curve x1="127.94" x2="125.69" x3="123.23" y1="141.44" y2="144.07" y3="144.07"/> + <line x="96.85" y="144.07"/> + <curve x1="94.33" x2="92.36" x3="92.36" y1="144.07" y2="141.49" y3="139.19"/> + <line x="92.36" y="136.77"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="599.02" name="secure endpoint pc" strokewidth="inherit" w="637.29"> + <connections/> + <foreground> + <path> + <move x="37.22" y="0"/> + <curve x1="16.7" x2="0" x3="0" y1="0" y2="16.7" y3="37.22"/> + <line x="0" y="403.74"/> + <curve x1="0" x2="16.7" x3="37.22" y1="424.26" y2="440.95" y3="440.95"/> + <line x="600.07" y="440.95"/> + <curve x1="620.6" x2="637.29" x3="637.29" y1="440.95" y2="424.26" y3="403.74"/> + <line x="637.29" y="37.22"/> + <curve x1="637.29" x2="620.6" x3="600.07" y1="16.7" y2="0" y3="0"/> + <close/> + <move x="37.22" y="11.34"/> + <line x="600.07" y="11.34"/> + <curve x1="614.51" x2="625.96" x3="625.96" y1="11.34" y2="22.78" y3="37.22"/> + <line x="625.96" y="403.74"/> + <curve x1="625.96" x2="614.51" x3="600.07" y1="418.17" y2="429.61" y3="429.61"/> + <line x="37.22" y="429.61"/> + <curve x1="22.78" x2="11.34" x3="11.34" y1="429.61" y2="418.17" y3="403.74"/> + <line x="11.34" y="37.22"/> + <curve x1="11.34" x2="22.78" x3="37.22" y1="22.78" y2="11.34" y3="11.34"/> + <close/> + <move x="44.02" y="45.82"/> + <line x="44.02" y="393.5"/> + <line x="592.21" y="393.5"/> + <line x="592.21" y="45.82"/> + <close/> + <move x="317.88" y="111.5"/> + <curve x1="345.08" x2="374.19" x3="374.19" y1="111.5" y2="136.35" y3="169.36"/> + <line x="374.19" y="207.69"/> + <line x="408.32" y="207.69"/> + <line x="408.32" y="327.82"/> + <line x="227.9" y="327.82"/> + <line x="227.9" y="207.69"/> + <line x="261.59" y="207.69"/> + <line x="261.59" y="169.36"/> + <curve x1="261.59" x2="289.41" x3="317.88" y1="137.61" y2="111.5" y3="111.5"/> + <close/> + <move x="317.88" y="123.32"/> + <curve x1="297.01" x2="273.4" x3="273.4" y1="123.32" y2="144.8" y3="169.36"/> + <line x="273.4" y="207.69"/> + <line x="362.38" y="207.69"/> + <line x="362.38" y="169.36"/> + <curve x1="362.37" x2="337.49" x3="317.88" y1="143.59" y2="123.32" y3="123.32"/> + <close/> + <move x="317.28" y="246.19"/> + <curve x1="310.63" x2="305.24" x3="305.24" y1="246.19" y2="251.58" y3="258.23"/> + <curve x1="305.25" x2="307.85" x3="311.96" y1="262.81" y2="266.98" y3="269.01"/> + <line x="311.96" y="297.56"/> + <line x="322.6" y="297.56"/> + <line x="322.6" y="269.02"/> + <curve x1="326.71" x2="329.32" x3="329.32" y1="266.99" y2="262.81" y3="258.23"/> + <curve x1="329.32" x2="323.93" x3="317.28" y1="251.58" y2="246.19" y3="246.19"/> + <close/> + <move x="92.84" y="460.2"/> + <curve x1="74.25" x2="59.11" x3="59.11" y1="460.2" y2="475.34" y3="493.93"/> + <line x="59.11" y="565.29"/> + <curve x1="59.11" x2="74.25" x3="92.84" y1="583.88" y2="599.02" y3="599.02"/> + <line x="545.62" y="599.02"/> + <curve x1="564.2" x2="579.35" x3="579.35" y1="599.02" y2="583.88" y3="565.29"/> + <line x="579.35" y="493.93"/> + <curve x1="579.35" x2="564.2" x3="545.62" y1="475.34" y2="460.2" y3="460.2"/> + <close/> + <move x="92.84" y="471.54"/> + <line x="545.62" y="471.54"/> + <curve x1="558.12" x2="568.01" x3="568.01" y1="471.54" y2="481.43" y3="493.93"/> + <line x="568.01" y="565.29"/> + <curve x1="568.01" x2="558.12" x3="545.62" y1="577.79" y2="587.68" y3="587.68"/> + <line x="92.84" y="587.68"/> + <curve x1="80.34" x2="70.45" x3="70.45" y1="587.68" y2="577.79" y3="565.29"/> + <line x="70.45" y="493.93"/> + <curve x1="70.45" x2="80.34" x3="92.84" y1="481.43" y2="471.54" y3="471.54"/> + <close/> + <move x="134.18" y="511.41"/> + <arc large-arc-flag="0" rx="17.85" ry="17.85" sweep-flag="0" x="116.33" x-axis-rotation="0" y="529.26"/> + <arc large-arc-flag="0" rx="17.85" ry="17.85" sweep-flag="0" x="134.18" x-axis-rotation="0" y="547.12"/> + <arc large-arc-flag="0" rx="17.85" ry="17.85" sweep-flag="0" x="152.03" x-axis-rotation="0" y="529.26"/> + <arc large-arc-flag="0" rx="17.85" ry="17.85" sweep-flag="0" x="134.18" x-axis-rotation="0" y="511.41"/> + <close/> + <move x="375.1" y="517.35"/> + <line x="375.1" y="541.18"/> + <line x="530.86" y="541.18"/> + <line x="530.86" y="517.35"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="secure router" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="99.03" y="131.27"/> + <curve x1="103.71" x2="107.81" x3="107.81" y1="131.27" y2="134.99" y3="139.89"/> + <line x="107.81" y="148.96"/> + <line x="90.25" y="148.96"/> + <line x="90.25" y="139.89"/> + <curve x1="90.25" x2="93.22" x3="99.03" y1="135.94" y2="131.27" y3="131.27"/> + <close/> + <move x="99.03" y="128.77"/> + <curve x1="91.86" x2="87.75" x3="87.75" y1="128.77" y2="134.66" y3="139.89"/> + <line x="87.75" y="148.96"/> + <line x="80.29" y="148.96"/> + <line x="80.29" y="173.89"/> + <line x="116.68" y="173.89"/> + <line x="116.68" y="148.96"/> + <line x="110.31" y="148.96"/> + <line x="110.31" y="139.89"/> + <curve x1="110.31" x2="105.05" x3="99.03" y1="133.6" y2="128.77" y3="128.77"/> + <close/> + <move x="101.01" y="159.31"/> + <curve x1="101.01" x2="100.41" x3="99.48" y1="160.32" y2="161.23" y3="161.63"/> + <line x="99.48" y="167.48"/> + <line x="97.48" y="167.48"/> + <line x="97.48" y="161.63"/> + <curve x1="96.56" x2="95.96" x3="95.96" y1="161.23" y2="160.32" y3="159.31"/> + <curve x1="95.96" x2="97.09" x3="98.48" y1="157.91" y2="156.78" y3="156.78"/> + <curve x1="99.88" x2="101.01" x3="101.01" y1="156.78" y2="157.91" y3="159.31"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + <move x="101.93" y="75.58"/> + <line x="126.6" y="50.41"/> + <line x="116.16" y="40.17"/> + <line x="153.81" y="32.35"/> + <line x="146.83" y="70.25"/> + <line x="136.48" y="60.1"/> + <line x="111.81" y="85.26"/> + <close/> + <move x="46.5" y="27.98"/> + <line x="71.67" y="52.66"/> + <line x="81.91" y="42.21"/> + <line x="89.74" y="79.86"/> + <line x="51.83" y="72.88"/> + <line x="61.98" y="62.53"/> + <line x="36.82" y="37.86"/> + <close/> + <move x="94" y="102.97"/> + <line x="69.33" y="128.13"/> + <line x="79.77" y="138.37"/> + <line x="42.12" y="146.2"/> + <line x="49.1" y="108.3"/> + <line x="59.45" y="118.45"/> + <line x="84.13" y="93.29"/> + <close/> + <move x="150.46" y="150.85"/> + <line x="125.3" y="126.18"/> + <line x="115.06" y="136.62"/> + <line x="107.23" y="98.97"/> + <line x="145.14" y="105.95"/> + <line x="134.99" y="116.3"/> + <line x="160.15" y="140.98"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.06" name="secure server" strokewidth="inherit" w="408.75"> + <connections/> + <foreground> + <path> + <move x="44.32" y="0"/> + <curve x1="19.95" x2="0" x3="0" y1="0" y2="19.92" y3="44.3"/> + <line x="0" y="181.99"/> + <line x="408.75" y="181.99"/> + <line x="408.75" y="44.3"/> + <curve x1="408.75" x2="388.33" x3="363.95" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.32" y="18.9"/> + <line x="363.95" y="18.9"/> + <curve x1="378.19" x2="389.85" x3="389.85" y1="18.9" y2="30.06" y3="44.3"/> + <line x="389.85" y="162.55"/> + <line x="18.9" y="162.55"/> + <line x="18.9" y="44.3"/> + <curve x1="18.9" x2="30.09" x3="44.32" y1="30.06" y2="18.9" y3="18.9"/> + <close/> + <move x="0" y="196.17"/> + <line x="0" y="205.62"/> + <line x="0" y="482.72"/> + <line x="122.23" y="482.72"/> + <line x="122.23" y="502.85"/> + <line x="0" y="502.85"/> + <line x="0" y="512.3"/> + <line x="0" y="601.25"/> + <line x="408.75" y="601.25"/> + <line x="408.75" y="502.85"/> + <line x="290.42" y="502.85"/> + <line x="290.42" y="482.72"/> + <line x="408.75" y="482.72"/> + <line x="408.75" y="196.17"/> + <close/> + <move x="18.9" y="215.07"/> + <line x="389.85" y="215.07"/> + <line x="389.85" y="463.82"/> + <line x="290.42" y="463.82"/> + <line x="290.42" y="441.2"/> + <line x="265.59" y="441.2"/> + <line x="265.52" y="413.58"/> + <curve x1="265.51" x2="239.34" x3="206.77" y1="380.69" y2="357.06" y3="357.06"/> + <curve x1="174.26" x2="148.02" x3="148.02" y1="357.06" y2="381.26" y3="413.61"/> + <line x="148.02" y="413.63"/> + <line x="148.17" y="441.2"/> + <line x="122.23" y="441.2"/> + <line x="122.23" y="463.82"/> + <line x="18.9" y="463.82"/> + <close/> + <move x="204.61" y="247.6"/> + <curve x1="180.53" x2="160.87" x3="160.87" y1="247.6" y2="267.26" y3="291.34"/> + <curve x1="160.87" x2="180.53" x3="204.61" y1="315.42" y2="335.08" y3="335.08"/> + <curve x1="228.68" x2="248.34" x3="248.34" y1="335.08" y2="315.42" y3="291.34"/> + <curve x1="248.34" x2="228.68" x3="204.61" y1="267.26" y2="247.6" y3="247.6"/> + <close/> + <move x="198.94" y="261.36"/> + <line x="198.94" y="292.26"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="210.28" x-axis-rotation="0" y="292.26"/> + <line x="210.28" y="261.36"/> + <curve x1="224.46" x2="235.11" x3="235.11" y1="264" y2="276.35" y3="291.34"/> + <curve x1="235.11" x2="221.54" x3="204.61" y1="308.27" y2="321.85" y3="321.85"/> + <curve x1="187.68" x2="174.1" x3="174.1" y1="321.85" y2="308.27" y3="291.34"/> + <curve x1="174.1" x2="184.75" x3="198.94" y1="276.35" y2="264" y3="261.36"/> + <close/> + <move x="206.77" y="375.96"/> + <curve x1="230.98" x2="246.62" x3="246.62" y1="375.96" y2="390.03" y3="413.61"/> + <line x="246.62" y="413.62"/> + <line x="246.69" y="441.2"/> + <line x="167.06" y="441.2"/> + <line x="166.92" y="413.61"/> + <curve x1="166.92" x2="183.04" x3="206.77" y1="390.96" y2="375.96" y3="375.96"/> + <close/> + <move x="18.9" y="521.75"/> + <line x="122.23" y="521.75"/> + <line x="122.23" y="557.37"/> + <line x="290.42" y="557.37"/> + <line x="290.42" y="521.75"/> + <line x="389.85" y="521.75"/> + <line x="389.85" y="582.35"/> + <line x="18.9" y="582.35"/> + <close/> + <move x="0" y="619.39"/> + <line x="0" y="680.76"/> + <curve x1="0" x2="19.95" x3="44.32" y1="705.14" y2="725.06" y3="725.06"/> + <line x="363.95" y="725.06"/> + <curve x1="388.33" x2="408.75" x3="408.75" y1="725.06" y2="705.14" y3="680.76"/> + <line x="408.75" y="619.39"/> + <close/> + <move x="18.9" y="639.09"/> + <line x="389.85" y="639.09"/> + <line x="389.85" y="680.76"/> + <curve x1="389.85" x2="378.19" x3="363.95" y1="694.99" y2="706.16" y3="706.16"/> + <line x="44.32" y="706.16"/> + <curve x1="30.09" x2="18.9" x3="18.9" y1="706.16" y2="694.99" y3="680.76"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="secure switch" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="92.24" y="56.19"/> + <line x="53.07" y="56.19"/> + <line x="53.07" y="39.94"/> + <line x="17.56" y="63.72"/> + <line x="53.07" y="87.68"/> + <line x="53.07" y="71.57"/> + <line x="92.24" y="71.57"/> + <close/> + <move x="92.24" y="108.16"/> + <line x="53.07" y="108.16"/> + <line x="53.07" y="91.9"/> + <line x="17.56" y="115.69"/> + <line x="53.07" y="139.65"/> + <line x="53.07" y="123.54"/> + <line x="92.24" y="123.54"/> + <close/> + <move x="98.8" y="33.8"/> + <line x="137.97" y="33.8"/> + <line x="137.97" y="17.54"/> + <line x="173.49" y="41.33"/> + <line x="137.97" y="65.29"/> + <line x="137.97" y="49.18"/> + <line x="98.8" y="49.18"/> + <close/> + <move x="98.8" y="85.77"/> + <line x="137.97" y="85.77"/> + <line x="137.97" y="69.51"/> + <line x="173.49" y="93.3"/> + <line x="137.97" y="117.26"/> + <line x="137.97" y="101.15"/> + <line x="98.8" y="101.15"/> + <close/> + <move x="98.45" y="161.7"/> + <curve x1="98.45" x2="97.85" x3="96.93" y1="162.71" y2="163.62" y3="164.02"/> + <line x="96.93" y="169.87"/> + <line x="94.92" y="169.87"/> + <line x="94.92" y="164.02"/> + <curve x1="94" x2="93.4" x3="93.4" y1="163.62" y2="162.71" y3="161.7"/> + <curve x1="93.4" x2="94.53" x3="95.93" y1="160.3" y2="159.17" y3="159.17"/> + <curve x1="97.32" x2="98.45" x3="98.45" y1="159.17" y2="160.3" y3="161.7"/> + <close/> + <move x="96.47" y="131.16"/> + <curve x1="89.3" x2="85.2" x3="85.2" y1="131.16" y2="137.05" y3="142.28"/> + <line x="85.2" y="151.35"/> + <line x="77.73" y="151.35"/> + <line x="77.73" y="176.28"/> + <line x="114.12" y="176.28"/> + <line x="114.12" y="151.35"/> + <line x="107.75" y="151.35"/> + <line x="107.75" y="142.28"/> + <curve x1="107.75" x2="102.49" x3="96.47" y1="135.99" y2="131.16" y3="131.16"/> + <close/> + <move x="96.47" y="133.66"/> + <curve x1="101.16" x2="105.25" x3="105.25" y1="133.66" y2="137.38" y3="142.28"/> + <line x="105.25" y="151.35"/> + <line x="87.7" y="151.35"/> + <line x="87.7" y="142.28"/> + <curve x1="87.7" x2="90.66" x3="96.47" y1="138.33" y2="133.66" y3="133.66"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="security management" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="30.54" y="26.08"/> + <curve x1="21.66" x2="14.41" x3="14.41" y1="26.08" y2="33.34" y3="42.22"/> + <line x="14.41" y="118.84"/> + <curve x1="14.41" x2="21.66" x3="30.54" y1="127.71" y2="134.97" y3="134.97"/> + <line x="81.27" y="134.97"/> + <line x="81.27" y="150.93"/> + <line x="57.04" y="150.93"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="57.04" x-axis-rotation="0" y="165.93"/> + <line x="133.74" y="165.93"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="133.74" x-axis-rotation="0" y="150.93"/> + <line x="112.83" y="150.93"/> + <line x="112.83" y="134.97"/> + <line x="161" y="134.97"/> + <curve x1="169.88" x2="177.13" x3="177.13" y1="134.97" y2="127.71" y3="118.84"/> + <line x="177.13" y="42.22"/> + <curve x1="177.13" x2="169.88" x3="161" y1="33.34" y2="26.08" y3="26.08"/> + <close/> + <move x="30.54" y="33.08"/> + <line x="161" y="33.08"/> + <curve x1="166.12" x2="170.13" x3="170.13" y1="33.08" y2="37.1" y3="42.22"/> + <line x="170.13" y="118.84"/> + <curve x1="170.13" x2="166.12" x3="161" y1="123.96" y2="127.97" y3="127.97"/> + <line x="30.54" y="127.97"/> + <curve x1="25.42" x2="21.41" x3="21.41" y1="127.97" y2="123.96" y3="118.84"/> + <line x="21.41" y="42.22"/> + <curve x1="21.41" x2="25.42" x3="30.54" y1="37.1" y2="33.08" y3="33.08"/> + <close/> + <move x="95.72" y="33.77"/> + <curve x1="75.04" x2="58.18" x3="58.18" y1="33.77" y2="50.63" y3="71.31"/> + <curve x1="58.18" x2="61.35" x3="66.62" y1="80.27" y2="88.52" y3="94.98"/> + <line x="45.44" y="116.88"/> + <line x="54.41" y="125.55"/> + <line x="76" y="103.23"/> + <curve x1="81.74" x2="88.5" x3="95.72" y1="106.79" y2="108.85" y3="108.85"/> + <curve x1="116.41" x2="133.26" x3="133.26" y1="108.85" y2="91.99" y3="71.31"/> + <curve x1="133.26" x2="116.41" x3="95.72" y1="50.63" y2="33.77" y3="33.77"/> + <close/> + <move x="95.72" y="42.34"/> + <curve x1="111.77" x2="124.69" x3="124.69" y1="42.34" y2="55.26" y3="71.31"/> + <curve x1="124.69" x2="111.77" x3="95.72" y1="87.36" y2="100.28" y3="100.28"/> + <curve x1="79.67" x2="66.76" x3="66.76" y1="100.28" y2="87.36" y3="71.31"/> + <curve x1="66.76" x2="79.67" x3="95.72" y1="55.26" y2="42.34" y3="42.34"/> + <close/> + <move x="96.27" y="45.83"/> + <curve x1="89.25" x2="85.22" x3="85.22" y1="45.83" y2="51.6" y3="56.73"/> + <line x="85.22" y="65.63"/> + <line x="77.9" y="65.63"/> + <line x="77.9" y="90.06"/> + <line x="113.57" y="90.06"/> + <line x="113.57" y="65.63"/> + <line x="107.33" y="65.63"/> + <line x="107.33" y="56.73"/> + <curve x1="107.33" x2="102.17" x3="96.27" y1="50.56" y2="45.83" y3="45.83"/> + <close/> + <move x="96.27" y="48.28"/> + <curve x1="100.86" x2="104.88" x3="104.88" y1="48.28" y2="51.93" y3="56.73"/> + <line x="104.88" y="65.63"/> + <line x="87.67" y="65.63"/> + <line x="87.67" y="56.73"/> + <curve x1="87.67" x2="90.58" x3="96.27" y1="52.86" y2="48.28" y3="48.28"/> + <close/> + <move x="95.74" y="73.29"/> + <curve x1="97.11" x2="98.21" x3="98.21" y1="73.29" y2="74.4" y3="75.77"/> + <curve x1="98.21" x2="97.62" x3="96.72" y1="76.76" y2="77.65" y3="78.04"/> + <line x="96.72" y="83.78"/> + <line x="94.76" y="83.78"/> + <line x="94.76" y="78.04"/> + <curve x1="93.85" x2="93.26" x3="93.26" y1="77.65" y2="76.76" y3="75.77"/> + <curve x1="93.26" x2="94.37" x3="95.74" y1="74.4" y2="73.29" y3="73.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.06" name="server" strokewidth="inherit" w="408.75"> + <connections/> + <foreground> + <path> + <move x="204.61" y="247.6"/> + <curve x1="180.53" x2="160.87" x3="160.87" y1="247.6" y2="267.26" y3="291.34"/> + <curve x1="160.87" x2="180.53" x3="204.61" y1="315.42" y2="335.08" y3="335.08"/> + <curve x1="228.69" x2="248.34" x3="248.34" y1="335.08" y2="315.42" y3="291.34"/> + <curve x1="248.34" x2="228.69" x3="204.61" y1="267.26" y2="247.6" y3="247.6"/> + <close/> + <move x="198.94" y="261.36"/> + <line x="198.94" y="292.26"/> + <arc large-arc-flag="1" rx="5.67" ry="5.67" sweep-flag="0" x="210.28" x-axis-rotation="0" y="292.26"/> + <line x="210.28" y="261.36"/> + <curve x1="224.47" x2="235.11" x3="235.11" y1="264" y2="276.35" y3="291.34"/> + <curve x1="235.11" x2="221.54" x3="204.61" y1="308.27" y2="321.85" y3="321.85"/> + <curve x1="187.68" x2="174.1" x3="174.1" y1="321.85" y2="308.27" y3="291.34"/> + <curve x1="174.1" x2="184.75" x3="198.94" y1="276.35" y2="264" y3="261.36"/> + <close/> + <move x="0" y="502.85"/> + <line x="0" y="512.3"/> + <line x="0" y="601.25"/> + <line x="408.75" y="601.25"/> + <line x="408.75" y="502.85"/> + <close/> + <move x="18.9" y="521.75"/> + <line x="389.85" y="521.75"/> + <line x="389.85" y="582.35"/> + <line x="18.9" y="582.35"/> + <close/> + <move x="0" y="196.17"/> + <line x="0" y="205.62"/> + <line x="0" y="482.72"/> + <line x="408.75" y="482.72"/> + <line x="408.75" y="196.17"/> + <close/> + <move x="18.9" y="215.07"/> + <line x="389.85" y="215.07"/> + <line x="389.85" y="463.82"/> + <line x="18.9" y="463.82"/> + <close/> + <move x="408.75" y="181.99"/> + <line x="408.75" y="44.3"/> + <curve x1="408.75" x2="388.33" x3="363.95" y1="19.92" y2="0" y3="0"/> + <line x="44.32" y="0"/> + <curve x1="19.95" x2="0" x3="0" y1="0" y2="19.92" y3="44.3"/> + <line x="0" y="181.99"/> + <close/> + <move x="0" y="619.39"/> + <line x="0" y="680.76"/> + <curve x1="0" x2="19.95" x3="44.32" y1="705.14" y2="725.06" y3="725.06"/> + <line x="363.95" y="725.06"/> + <curve x1="388.33" x2="408.75" x3="408.75" y1="725.06" y2="705.14" y3="680.76"/> + <line x="408.75" y="619.39"/> + <close/> + <move x="389.85" y="639.09"/> + <line x="389.85" y="680.76"/> + <curve x1="389.85" x2="378.19" x3="363.95" y1="694.99" y2="706.16" y3="706.16"/> + <line x="44.32" y="706.16"/> + <curve x1="30.09" x2="18.9" x3="18.9" y1="706.16" y2="694.99" y3="680.76"/> + <line x="18.9" y="639.09"/> + <close/> + <move x="18.9" y="162.55"/> + <line x="18.9" y="44.3"/> + <curve x1="18.9" x2="30.09" x3="44.32" y1="30.06" y2="18.9" y3="18.9"/> + <line x="363.95" y="18.9"/> + <curve x1="378.19" x2="389.85" x3="389.85" y1="18.9" y2="30.06" y3="44.3"/> + <line x="389.85" y="162.55"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="service ready engine" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="88.91" y="55.94"/> + <line x="103.65" y="55.94"/> + <line x="103.65" y="132.79"/> + <line x="88.91" y="132.79"/> + <close/> + <move x="20.86" y="25.89"/> + <line x="20.86" y="32.89"/> + <line x="170.25" y="32.89"/> + <line x="170.25" y="25.89"/> + <close/> + <move x="20.86" y="41.69"/> + <line x="20.86" y="48.69"/> + <line x="50.77" y="48.69"/> + <line x="50.77" y="142.59"/> + <line x="20.86" y="142.59"/> + <line x="20.86" y="149.59"/> + <line x="170.25" y="149.59"/> + <line x="170.25" y="142.59"/> + <line x="142.32" y="142.59"/> + <line x="142.32" y="48.69"/> + <line x="170.25" y="48.69"/> + <line x="170.25" y="41.69"/> + <close/> + <move x="57.77" y="48.69"/> + <line x="135.32" y="48.69"/> + <line x="135.32" y="142.59"/> + <line x="57.77" y="142.59"/> + <close/> + <move x="20.86" y="160.52"/> + <line x="20.86" y="167.52"/> + <line x="170.25" y="167.52"/> + <line x="170.25" y="160.52"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="set top" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="128.26" y="209.01"/> + <curve x1="122.98" x2="119.64" x3="117.54" y1="209.01" y2="212.49" y3="215.56"/> + <curve x1="115.45" x2="113.93" x3="112.49" y1="218.63" y2="222.19" y3="226.43"/> + <curve x1="109.61" x2="107.26" x3="105.26" y1="234.91" y2="246.08" y3="258.98"/> + <curve x1="101.27" x2="98.87" x3="98.87" y1="284.78" y2="317.34" y3="345.89"/> + <curve x1="98.87" x2="100.43" x3="103.89" y1="372.37" y2="401.59" y3="426.5"/> + <curve x1="105.62" x2="107.82" x3="110.62" y1="438.95" y2="450.32" y3="459.88"/> + <curve x1="113.43" x2="116.59" x3="121.78" y1="469.43" y2="477.2" y3="482.83"/> + <curve x1="123.21" x2="125.23" x3="127.34" y1="484.38" y2="485.26" y3="485.26"/> + <line x="152.49" y="485.26"/> + <curve x1="152.48" x2="152.46" x3="152.46" y1="485.61" y2="485.94" y3="486.29"/> + <curve x1="152.46" x2="159.06" x3="169.04" y1="498.68" y2="509.74" y3="517.4"/> + <curve x1="179.02" x2="192.45" x3="207.17" y1="525.05" y2="529.59" y3="529.59"/> + <curve x1="221.88" x2="235.31" x3="245.29" y1="529.59" y2="525.05" y3="517.4"/> + <curve x1="255.27" x2="261.87" x3="261.87" y1="509.74" y2="498.68" y3="486.29"/> + <curve x1="261.87" x2="261.85" x3="261.84" y1="485.94" y2="485.61" y3="485.26"/> + <line x="662.99" y="485.26"/> + <curve x1="662.98" x2="662.95" x3="662.95" y1="485.61" y2="485.94" y3="486.29"/> + <curve x1="662.95" x2="669.55" x3="679.53" y1="498.68" y2="509.74" y3="517.4"/> + <curve x1="689.51" x2="702.94" x3="717.65" y1="525.05" y2="529.59" y3="529.59"/> + <curve x1="732.37" x2="745.8" x3="755.78" y1="529.59" y2="525.05" y3="517.4"/> + <curve x1="765.76" x2="772.36" x3="772.36" y1="509.74" y2="498.68" y3="486.29"/> + <curve x1="772.36" x2="772.34" x3="772.33" y1="485.94" y2="485.61" y3="485.26"/> + <line x="811.17" y="485.26"/> + <curve x1="813.84" x2="816.31" x3="817.67" y1="485.26" y2="483.86" y3="481.56"/> + <curve x1="825.49" x2="830.06" x3="833.15" y1="468.41" y2="449.08" y3="425.97"/> + <curve x1="836.24" x2="837.58" x3="837.58" y1="402.86" y2="376.08" y3="348.99"/> + <curve x1="837.58" x2="835.38" x3="830.84" y1="314.7" y2="281.32" y3="255.97"/> + <curve x1="828.57" x2="825.78" x3="821.99" y1="243.3" y2="232.67" y3="224.52"/> + <curve x1="820.09" x2="817.96" x3="815.06" y1="220.44" y2="216.93" y3="214.08"/> + <curve x1="812.17" x2="808.08" x3="803.57" y1="211.23" y2="209.01" y3="209.01"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="674.33" y="485.26"/> + <line x="760.99" y="485.26"/> + <curve x1="761" x2="761.02" x3="761.02" y1="485.6" y2="485.95" y3="486.29"/> + <curve x1="761.02" x2="756.65" x3="748.88" y1="494.68" y2="502.44" y3="508.4"/> + <curve x1="741.11" x2="730.02" x3="717.65" y1="514.36" y2="518.25" y3="518.25"/> + <curve x1="705.29" x2="694.2" x3="686.44" y1="518.25" y2="514.36" y3="508.4"/> + <curve x1="678.67" x2="674.29" x3="674.29" y1="502.44" y2="494.68" y3="486.29"/> + <curve x1="674.29" x2="674.31" x3="674.33" y1="485.95" y2="485.6" y3="485.26"/> + <close/> + <move x="163.83" y="485.26"/> + <line x="250.5" y="485.26"/> + <curve x1="250.51" x2="250.54" x3="250.54" y1="485.6" y2="485.95" y3="486.29"/> + <curve x1="250.54" x2="246.15" x3="238.38" y1="494.68" y2="502.44" y3="508.4"/> + <curve x1="230.62" x2="219.53" x3="207.17" y1="514.36" y2="518.25" y3="518.25"/> + <curve x1="194.8" x2="183.71" x3="175.94" y1="518.25" y2="514.36" y3="508.4"/> + <curve x1="168.17" x2="163.8" x3="163.8" y1="502.44" y2="494.68" y3="486.29"/> + <curve x1="163.8" x2="163.82" x3="163.83" y1="485.95" y2="485.6" y3="485.26"/> + <close/> + <move x="115.36" y="388.47"/> + <line x="821.4" y="388.47"/> + <curve x1="820.7" x2="819.63" x3="818.16" y1="401" y2="412.99" y3="423.97"/> + <curve x1="815.47" x2="811.1" x3="806.1" y1="444.1" y2="460.09" y3="470.14"/> + <line x="131.42" y="470.14"/> + <curve x1="129.43" x2="127.13" x3="125.13" y1="467.11" y2="462.42" y3="455.62"/> + <curve x1="122.64" x2="120.52" x3="118.86" y1="447.15" y2="436.37" y3="424.41"/> + <curve x1="117.31" x2="116.16" x3="115.36" y1="413.23" y2="400.98" y3="388.47"/> + <close/> + <move x="746.74" y="336.15"/> + <curve x1="753.05" x2="758.17" x3="758.17" y1="336.15" y2="341.26" y3="347.57"/> + <curve x1="758.17" x2="753.05" x3="746.74" y1="353.88" y2="358.99" y3="358.99"/> + <curve x1="740.43" x2="735.32" x3="735.32" y1="358.99" y2="353.88" y3="347.57"/> + <curve x1="735.32" x2="740.44" x3="746.74" y1="341.26" y2="336.15" y3="336.15"/> + <close/> + <move x="694.67" y="336.15"/> + <curve x1="700.98" x2="706.09" x3="706.09" y1="336.15" y2="341.26" y3="347.57"/> + <curve x1="706.09" x2="700.98" x3="694.67" y1="353.88" y2="358.99" y3="358.99"/> + <curve x1="688.36" x2="683.24" x3="683.24" y1="358.99" y2="353.88" y3="347.57"/> + <curve x1="683.24" x2="688.36" x3="694.67" y1="341.26" y2="336.15" y3="336.15"/> + <close/> + <move x="641.59" y="336.15"/> + <curve x1="647.9" x2="653.01" x3="653.01" y1="336.15" y2="341.26" y3="347.57"/> + <curve x1="653.01" x2="647.9" x3="641.59" y1="353.88" y2="358.99" y3="358.99"/> + <curve x1="635.28" x2="630.17" x3="630.17" y1="358.99" y2="353.88" y3="347.57"/> + <curve x1="630.17" x2="635.28" x3="641.59" y1="341.26" y2="336.15" y3="336.15"/> + <close/> + <move x="177.27" y="323.08"/> + <curve x1="174.04" x2="171.46" x3="169.54" y1="323.08" y2="324.45" y3="327.18"/> + <curve x1="167.12" x2="165.9" x3="165.9" y1="330.67" y2="337.12" y3="346.52"/> + <curve x1="165.9" x2="167" x3="169.19" y1="355.92" y2="362.18" y3="365.31"/> + <curve x1="171.4" x2="174.12" x3="177.35" y1="368.41" y2="369.96" y3="369.96"/> + <curve x1="180.58" x2="183.29" x3="185.47" y1="369.96" y2="368.39" y3="365.27"/> + <curve x1="187.69" x2="188.79" x3="188.79" y1="362.14" y2="355.89" y3="346.52"/> + <curve x1="188.79" x2="187.69" x3="185.47" y1="337.09" y2="330.83" y3="327.73"/> + <curve x1="183.29" x2="180.55" x3="177.27" y1="324.63" y2="323.08" y3="323.08"/> + <close/> + <move x="222.23" y="317.26"/> + <curve x1="227.73" x2="232.08" x3="235.28" y1="317.26" y2="318.78" y3="321.83"/> + <curve x1="238.48" x2="240.08" x3="240.08" y1="324.88" y2="328.65" y3="333.16"/> + <curve x1="240.08" x2="239.62" x3="238.68" y1="335.45" y2="337.7" y3="339.92"/> + <curve x1="237.74" x2="236.18" x3="233.99" y1="342.13" y2="344.46" y3="346.91"/> + <curve x1="231.83" x2="228.22" x3="223.17" y1="349.36" y2="352.72" y3="356.99"/> + <curve x1="218.95" x2="216.24" x3="215.04" y1="360.53" y2="362.94" y3="364.21"/> + <curve x1="213.85" x2="212.86" x3="212.08" y1="365.46" y2="366.73" y3="368"/> + <line x="240.16" y="368"/> + <line x="240.16" y="374.76"/> + <line x="202.31" y="374.76"/> + <curve x1="202.26" x2="202.53" x3="203.13" y1="373.07" y2="371.44" y3="369.88"/> + <curve x1="204.09" x2="205.63" x3="207.74" y1="367.3" y2="364.76" y3="362.26"/> + <curve x1="209.88" x2="212.95" x3="216.96" y1="359.76" y2="356.87" y3="353.59"/> + <curve x1="223.18" x2="227.39" x3="229.58" y1="348.48" y2="344.45" y3="341.48"/> + <curve x1="231.76" x2="232.86" x3="232.86" y1="338.48" y2="335.66" y3="333"/> + <curve x1="232.86" x2="231.85" x3="229.85" y1="330.22" y2="327.87" y3="325.97"/> + <curve x1="227.87" x2="225.28" x3="222.08" y1="324.04" y2="323.08" y3="323.08"/> + <curve x1="218.69" x2="215.98" x3="213.95" y1="323.08" y2="324.1" y3="326.13"/> + <curve x1="211.92" x2="210.89" x3="210.87" y1="328.16" y2="330.97" y3="334.56"/> + <line x="203.64" y="333.82"/> + <curve x1="204.13" x2="206" x3="209.22" y1="328.43" y2="324.33" y3="321.52"/> + <curve x1="212.45" x2="216.79" x3="222.23" y1="318.68" y2="317.26" y3="317.26"/> + <close/> + <move x="177.35" y="317.26"/> + <curve x1="180.42" x2="183.12" x3="185.44" y1="317.26" y2="317.88" y3="319.13"/> + <curve x1="187.75" x2="189.67" x3="191.18" y1="320.36" y2="322.14" y3="324.49"/> + <curve x1="192.69" x2="193.87" x3="194.73" y1="326.8" y2="329.64" y3="333"/> + <curve x1="195.59" x2="196.02" x3="196.02" y1="336.34" y2="340.84" y3="346.52"/> + <curve x1="196.02" x2="195.33" x3="193.95" y1="353.24" y2="358.67" y3="362.81"/> + <curve x1="192.57" x2="190.5" x3="187.74" y1="366.92" y2="370.11" y3="372.38"/> + <curve x1="185.01" x2="181.54" x3="177.35" y1="374.62" y2="375.74" y3="375.74"/> + <curve x1="171.83" x2="167.49" x3="164.34" y1="375.74" y2="373.76" y3="369.8"/> + <curve x1="160.57" x2="158.68" x3="158.68" y1="365.03" y2="357.27" y3="346.52"/> + <curve x1="158.68" x2="159.37" x3="160.75" y1="339.75" y2="334.3" y3="330.19"/> + <curve x1="162.15" x2="164.22" x3="166.96" y1="326.05" y2="322.86" y3="320.62"/> + <curve x1="169.72" x2="173.18" x3="177.35" y1="318.38" y2="317.26" y3="317.26"/> + <close/> + <move x="130" y="224.13"/> + <line x="803.56" y="224.13"/> + <curve x1="803.61" x2="803.81" x3="804.46" y1="224.13" y2="224.21" y3="224.86"/> + <curve x1="805.42" x2="806.87" x3="808.28" y1="225.8" y2="227.87" y3="230.9"/> + <curve x1="811.1" x2="813.82" x3="815.96" y1="236.96" y2="246.69" y3="258.64"/> + <curve x1="818.22" x2="819.89" x3="820.98" y1="271.2" y2="286.24" y3="302.56"/> + <line x="115.65" y="302.56"/> + <curve x1="116.72" x2="118.28" x3="120.2" y1="287.95" y2="273.7" y3="261.29"/> + <curve x1="122.12" x2="124.44" x3="126.81" y1="248.89" y2="238.28" y3="231.3"/> + <curve x1="127.98" x2="129.22" x3="130" y1="227.83" y2="225.28" y3="224.13"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="shield" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="124.26" y="82.21"/> + <line x="124.26" y="32.54"/> + <line x="183.34" y="32.54"/> + <line x="183.34" y="82.21"/> + <line x="124.26" y="82.21"/> + <line x="124.26" y="159.85"/> + <line x="65.34" y="131.62"/> + <line x="65.34" y="82.21"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="59.34" y="26.54"/> + <line x="59.34" y="135.4"/> + <line x="124.26" y="166.5"/> + <line x="189.34" y="135.4"/> + <line x="189.34" y="26.54"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="ssl terminator" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="33.3" y="38.6"/> + <curve x1="31.43" x2="30.08" x3="29.2" y1="38.6" y2="39.83" y3="41.07"/> + <curve x1="28.31" x2="27.66" x3="27.05" y1="42.32" y2="43.83" y3="45.63"/> + <curve x1="25.83" x2="24.86" x3="24.06" y1="49.23" y2="53.99" y3="59.4"/> + <curve x1="22.47" x2="21.63" x3="21.63" y1="70.22" y2="83.56" y3="94.23"/> + <curve x1="21.63" x2="22.52" x3="24.19" y1="109.85" y2="124.29" y3="134.97"/> + <curve x1="25.03" x2="26.04" x3="27.34" y1="140.32" y2="144.71" y3="147.98"/> + <curve x1="27.99" x2="28.69" x3="29.65" y1="149.62" y2="150.98" y3="152.1"/> + <curve x1="30.6" x2="32.01" x3="33.68" y1="153.21" y2="154.17" y3="154.17"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="33.68" x-axis-rotation="0" y="154.17"/> + <line x="215.71" y="154.07"/> + <curve x1="217.55" x2="218.72" x3="219.5" y1="154.07" y2="152.87" y3="151.74"/> + <curve x1="220.29" x2="220.89" x3="221.48" y1="150.61" y2="149.25" y3="147.6"/> + <curve x1="222.64" x2="223.65" x3="224.52" y1="144.31" y2="139.88" y3="134.65"/> + <curve x1="226.25" x2="227.38" x3="227.38" y1="124.19" y2="110.56" y3="97.41"/> + <curve x1="227.38" x2="226.58" x3="225.02" y1="86.11" y2="72.01" y3="60.6"/> + <curve x1="224.24" x2="223.28" x3="222.07" y1="54.89" y2="49.88" y3="46.11"/> + <curve x1="221.47" x2="220.82" x3="219.95" y1="44.22" y2="42.64" y3="41.34"/> + <curve x1="219.07" x2="217.72" x3="215.79" y1="40.04" y2="38.74" y3="38.74"/> + <line x="215.79" y="38.74"/> + <line x="33.3" y="38.6"/> + <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="33.3" x-axis-rotation="0" y="38.6"/> + <close/> + <move x="33.57" y="43.6"/> + <line x="210.24" y="43.73"/> + <curve x1="209.93" x2="209.53" x3="209.25" y1="44.4" y2="44.9" y3="45.66"/> + <curve x1="207.91" x2="206.83" x3="205.95" y1="49.28" y2="54.09" y3="59.68"/> + <curve x1="204.17" x2="203.2" x3="203.2" y1="70.87" y2="85.11" y3="97.88"/> + <curve x1="203.2" x2="204.23" x3="206.02" y1="110.14" y2="123.65" y3="134.23"/> + <curve x1="206.92" x2="207.99" x3="209.32" y1="139.53" y2="144.07" y3="147.49"/> + <curve x1="209.56" x2="209.9" x3="210.16" y1="148.12" y2="148.52" y3="149.07"/> + <line x="33.68" y="149.17"/> + <curve x1="33.85" x2="33.83" x3="33.45" y1="149.17" y2="149.29" y3="148.85"/> + <curve x1="33.06" x2="32.51" x3="31.98" y1="148.4" y2="147.46" y3="146.13"/> + <curve x1="30.93" x2="29.93" x3="29.13" y1="143.49" y2="139.34" y3="134.2"/> + <curve x1="27.53" x2="26.63" x3="26.63" y1="123.93" y2="109.66" y3="94.23"/> + <curve x1="26.63" x2="27.47" x3="29.01" y1="83.83" y2="70.61" y3="60.13"/> + <curve x1="29.78" x2="30.74" x3="31.78" y1="54.89" y2="50.31" y3="47.24"/> + <curve x1="32.3" x2="32.86" x3="33.28" y1="45.7" y2="44.55" y3="43.96"/> + <curve x1="33.47" x2="33.55" x3="33.57" y1="43.69" y2="43.63" y3="43.6"/> + <close/> + <move x="215.67" y="43.96"/> + <curve x1="215.72" x2="215.71" x3="215.8" y1="44.03" y2="44.01" y3="44.13"/> + <curve x1="216.22" x2="216.79" x3="217.31" y1="44.76" y2="46" y3="47.63"/> + <curve x1="218.36" x2="219.31" x3="220.06" y1="50.9" y2="55.73" y3="61.28"/> + <curve x1="221.58" x2="222.38" x3="222.38" y1="72.36" y2="86.34" y3="97.41"/> + <curve x1="222.38" x2="221.26" x3="219.59" y1="110.27" y2="123.72" y3="133.83"/> + <curve x1="218.75" x2="217.76" x3="216.76" y1="138.89" y2="143.13" y3="145.93"/> + <curve x1="216.31" x2="215.86" x3="215.51" y1="147.22" y2="148.1" y3="148.65"/> + <curve x1="215.09" x2="214.52" x3="213.98" y1="148.11" y2="147.09" y3="145.69"/> + <curve x1="212.87" x2="211.82" x3="210.95" y1="142.83" y2="138.5" y3="133.4"/> + <curve x1="209.22" x2="208.2" x3="208.2" y1="123.19" y2="109.86" y3="97.88"/> + <curve x1="208.2" x2="209.17" x3="210.88" y1="85.36" y2="71.28" y3="60.47"/> + <curve x1="211.74" x2="212.8" x3="213.94" y1="55.06" y2="50.46" y3="47.4"/> + <curve x1="214.5" x2="215.1" x3="215.55" y1="45.88" y2="44.74" y3="44.16"/> + <curve x1="215.76" x2="215.62" x3="215.67" y1="43.89" y2="44" y3="43.96"/> + <close/> + <move x="82.71" y="99.48"/> + <line x="82.71" y="112.6"/> + <line x="179.32" y="112.6"/> + <line x="179.32" y="125.25"/> + <line x="82.71" y="125.25"/> + <line x="82.71" y="138.37"/> + <line x="54.54" y="118.93"/> + <close/> + <move x="158.13" y="56.83"/> + <line x="158.13" y="69.95"/> + <line x="61.52" y="69.95"/> + <line x="61.52" y="82.6"/> + <line x="158.13" y="82.6"/> + <line x="158.13" y="95.72"/> + <line x="186.3" y="76.27"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="139.89" name="stealthwatch management console smc" strokewidth="inherit" w="162.73"> + <connections/> + <foreground> + <path> + <move x="16.13" y="0"/> + <curve x1="7.26" x2="0" x3="0" y1="0" y2="7.26" y3="16.13"/> + <line x="0" y="92.75"/> + <curve x1="0" x2="7.26" x3="16.13" y1="101.63" y2="108.89" y3="108.89"/> + <line x="66.87" y="108.89"/> + <line x="66.87" y="124.85"/> + <line x="42.63" y="124.85"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="42.63" x-axis-rotation="0" y="139.85"/> + <line x="119.34" y="139.85"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="119.34" x-axis-rotation="0" y="124.85"/> + <line x="98.42" y="124.85"/> + <line x="98.42" y="108.89"/> + <line x="146.59" y="108.89"/> + <curve x1="155.47" x2="162.73" x3="162.73" y1="108.89" y2="101.63" y3="92.75"/> + <line x="162.73" y="16.13"/> + <curve x1="162.73" x2="155.47" x3="146.59" y1="7.26" y2="0" y3="0"/> + <close/> + <move x="16.13" y="7"/> + <line x="146.59" y="7"/> + <curve x1="151.71" x2="155.73" x3="155.73" y1="7" y2="11.01" y3="16.13"/> + <line x="155.73" y="92.75"/> + <curve x1="155.73" x2="151.71" x3="146.59" y1="97.87" y2="101.89" y3="101.89"/> + <line x="16.13" y="101.89"/> + <curve x1="11.01" x2="7" x3="7" y1="101.89" y2="97.87" y3="92.75"/> + <line x="7" y="16.13"/> + <curve x1="7" x2="11.01" x3="16.13" y1="11.01" y2="7" y3="7"/> + <close/> + <move x="81.32" y="7.69"/> + <curve x1="60.64" x2="43.78" x3="43.78" y1="7.69" y2="24.55" y3="45.23"/> + <curve x1="43.78" x2="46.95" x3="52.22" y1="54.19" y2="62.44" y3="68.9"/> + <line x="31.04" y="90.8"/> + <line x="40" y="99.47"/> + <line x="61.59" y="77.15"/> + <curve x1="67.33" x2="74.09" x3="81.32" y1="80.71" y2="82.77" y3="82.77"/> + <curve x1="102" x2="118.86" x3="118.86" y1="82.77" y2="65.91" y3="45.23"/> + <curve x1="118.86" x2="102" x3="81.32" y1="24.55" y2="7.69" y3="7.69"/> + <close/> + <move x="81.32" y="16.26"/> + <curve x1="97.37" x2="110.29" x3="110.29" y1="16.26" y2="29.18" y3="45.23"/> + <curve x1="110.29" x2="97.37" x3="81.32" y1="61.28" y2="74.2" y3="74.2"/> + <curve x1="65.27" x2="52.35" x3="52.35" y1="74.2" y2="61.28" y3="45.23"/> + <curve x1="52.35" x2="65.27" x3="81.32" y1="29.18" y2="16.26" y3="16.26"/> + <close/> + <move x="81.87" y="19.75"/> + <curve x1="74.84" x2="70.81" x3="70.81" y1="19.75" y2="25.52" y3="30.65"/> + <line x="70.81" y="39.54"/> + <line x="63.49" y="39.54"/> + <line x="63.49" y="63.97"/> + <line x="99.17" y="63.97"/> + <line x="99.17" y="39.54"/> + <line x="92.92" y="39.54"/> + <line x="92.92" y="30.65"/> + <curve x1="92.92" x2="87.76" x3="81.87" y1="24.48" y2="19.75" y3="19.75"/> + <close/> + <move x="81.87" y="22.2"/> + <curve x1="86.46" x2="90.47" x3="90.47" y1="22.2" y2="25.85" y3="30.65"/> + <line x="90.47" y="39.54"/> + <line x="73.26" y="39.54"/> + <line x="73.26" y="30.65"/> + <curve x1="73.26" x2="76.17" x3="81.87" y1="26.78" y2="22.2" y3="22.2"/> + <close/> + <move x="81.33" y="47.21"/> + <curve x1="82.7" x2="83.81" x3="83.81" y1="47.21" y2="48.32" y3="49.69"/> + <curve x1="83.81" x2="83.22" x3="82.31" y1="50.67" y2="51.57" y3="51.96"/> + <line x="82.31" y="57.7"/> + <line x="80.35" y="57.7"/> + <line x="80.35" y="51.96"/> + <curve x1="79.44" x2="78.85" x3="78.85" y1="51.57" y2="50.67" y3="49.69"/> + <curve x1="78.85" x2="79.96" x3="81.33" y1="48.32" y2="47.21" y3="47.21"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="storage" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="201.08" y="63.66"/> + <curve x1="194.15" x2="187.34" x3="181.84" y1="63.66" y2="64.05" y3="65.03"/> + <curve x1="179.09" x2="176.68" x3="174.67" y1="65.52" y2="66.14" y3="67.02"/> + <curve x1="172.67" x2="170.95" x3="170.05" y1="67.89" y2="69.01" y3="70.88"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="169.83" x-axis-rotation="0" y="71.86"/> + <line x="169.83" y="120.9"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="170.78" x-axis-rotation="0" y="122.74"/> + <curve x1="173.42" x2="177.49" x3="182.46" y1="124.6" y2="125.78" y3="126.72"/> + <curve x1="187.43" x2="193.2" x3="198.77" y1="127.66" y2="128.23" y3="128.23"/> + <curve x1="205.02" x2="211.17" x3="216.42" y1="128.23" y2="127.94" y3="127.12"/> + <curve x1="221.67" x2="226.05" x3="228.95" y1="126.31" y2="125.12" y3="122.6"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="229.72" x-axis-rotation="0" y="120.9"/> + <line x="229.72" y="71.86"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="229.36" x-axis-rotation="0" y="70.63"/> + <curve x1="227.19" x2="222.89" x3="217.81" y1="67.31" y2="66.07" y3="65.07"/> + <curve x1="212.73" x2="206.73" x3="201.08" y1="64.08" y2="63.66" y3="63.66"/> + <close/> + <move x="201.08" y="68.16"/> + <curve x1="206.51" x2="212.3" x3="216.95" y1="68.16" y2="68.58" y3="69.49"/> + <curve x1="220" x2="222.12" x3="223.65" y1="70.08" y2="70.98" y3="71.84"/> + <curve x1="222.23" x2="220.35" x3="217.65" y1="72.62" y2="73.41" y3="73.99"/> + <curve x1="213.31" x2="207.59" x3="201.08" y1="74.92" y2="75.43" y3="75.42"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="201.08" x-axis-rotation="0" y="75.42"/> + <curve x1="194.55" x2="188.28" x3="183.34" y1="75.42" y2="75.04" y3="74.16"/> + <curve x1="179.81" x2="177.4" x3="175.7" y1="73.54" y2="72.56" y3="71.58"/> + <curve x1="175.97" x2="176.13" x3="176.47" y1="71.43" y2="71.29" y3="71.14"/> + <curve x1="177.97" x2="180.1" x3="182.63" y1="70.49" y2="69.91" y3="69.46"/> + <curve x1="187.69" x2="194.32" x3="201.08" y1="68.56" y2="68.16" y3="68.16"/> + <close/> + <move x="174.33" y="76.19"/> + <curve x1="176.62" x2="179.37" x3="182.55" y1="77.29" y2="78.03" y3="78.59"/> + <curve x1="187.91" x2="194.38" x3="201.08" y1="79.55" y2="79.92" y3="79.92"/> + <curve x1="207.82" x2="213.8" x3="218.6" y1="79.93" y2="79.42" y3="78.39"/> + <curve x1="221.15" x2="223.36" x3="225.22" y1="77.84" y2="77.18" y3="76.28"/> + <line x="225.22" y="119.59"/> + <curve x1="223.41" x2="220.14" x3="215.73" y1="120.82" y2="122" y3="122.68"/> + <curve x1="210.85" x2="204.88" x3="198.77" y1="123.43" y2="123.73" y3="123.73"/> + <curve x1="193.51" x2="187.96" x3="183.29" y1="123.73" y2="123.18" y3="122.3"/> + <curve x1="179.23" x2="176.07" x3="174.33" y1="121.53" y2="120.42" y3="119.49"/> + <close/> + <move x="125.4" y="63.66"/> + <curve x1="118.47" x2="111.65" x3="106.16" y1="63.66" y2="64.05" y3="65.03"/> + <curve x1="103.41" x2="101" x3="98.99" y1="65.52" y2="66.14" y3="67.02"/> + <curve x1="96.99" x2="95.27" x3="94.37" y1="67.89" y2="69.01" y3="70.88"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="94.15" x-axis-rotation="0" y="71.86"/> + <line x="94.15" y="120.9"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="95.1" x-axis-rotation="0" y="122.74"/> + <curve x1="97.73" x2="101.81" x3="106.77" y1="124.6" y2="125.78" y3="126.72"/> + <curve x1="111.74" x2="117.52" x3="123.09" y1="127.66" y2="128.23" y3="128.23"/> + <curve x1="129.34" x2="135.49" x3="140.74" y1="128.23" y2="127.94" y3="127.12"/> + <curve x1="145.99" x2="150.37" x3="153.26" y1="126.31" y2="125.12" y3="122.6"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="154.04" x-axis-rotation="0" y="120.9"/> + <line x="154.04" y="71.86"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="153.67" x-axis-rotation="0" y="70.63"/> + <curve x1="151.51" x2="147.21" x3="142.13" y1="67.31" y2="66.07" y3="65.07"/> + <curve x1="137.05" x2="131.05" x3="125.4" y1="64.08" y2="63.66" y3="63.66"/> + <close/> + <move x="125.4" y="68.16"/> + <curve x1="130.82" x2="136.62" x3="141.27" y1="68.16" y2="68.58" y3="69.49"/> + <curve x1="144.32" x2="146.44" x3="147.97" y1="70.08" y2="70.98" y3="71.84"/> + <curve x1="146.54" x2="144.67" x3="141.97" y1="72.62" y2="73.41" y3="73.99"/> + <curve x1="137.63" x2="131.91" x3="125.4" y1="74.92" y2="75.43" y3="75.42"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="125.4" x-axis-rotation="0" y="75.42"/> + <curve x1="118.87" x2="112.6" x3="107.65" y1="75.42" y2="75.04" y3="74.16"/> + <curve x1="104.12" x2="101.72" x3="100.02" y1="73.54" y2="72.56" y3="71.58"/> + <curve x1="100.29" x2="100.45" x3="100.79" y1="71.43" y2="71.29" y3="71.14"/> + <curve x1="102.28" x2="104.42" x3="106.95" y1="70.49" y2="69.91" y3="69.46"/> + <curve x1="112.01" x2="118.64" x3="125.4" y1="68.56" y2="68.16" y3="68.16"/> + <close/> + <move x="98.65" y="76.19"/> + <curve x1="100.94" x2="103.69" x3="106.87" y1="77.29" y2="78.03" y3="78.59"/> + <curve x1="112.23" x2="118.7" x3="125.4" y1="79.55" y2="79.92" y3="79.92"/> + <curve x1="132.14" x2="138.12" x3="142.91" y1="79.93" y2="79.42" y3="78.39"/> + <curve x1="145.46" x2="147.68" x3="149.54" y1="77.84" y2="77.18" y3="76.28"/> + <line x="149.54" y="119.59"/> + <curve x1="147.73" x2="144.45" x3="140.05" y1="120.82" y2="122" y3="122.68"/> + <curve x1="135.16" x2="129.2" x3="123.09" y1="123.43" y2="123.73" y3="123.73"/> + <curve x1="117.83" x2="112.28" x3="107.61" y1="123.73" y2="123.18" y3="122.3"/> + <curve x1="103.54" x2="100.39" x3="98.65" y1="121.53" y2="120.42" y3="119.49"/> + <close/> + <move x="49.71" y="63.66"/> + <curve x1="42.78" x2="35.97" x3="30.48" y1="63.66" y2="64.05" y3="65.03"/> + <curve x1="27.73" x2="25.31" x3="23.31" y1="65.52" y2="66.14" y3="67.02"/> + <curve x1="21.31" x2="19.59" x3="18.69" y1="67.89" y2="69.01" y3="70.88"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="18.47" x-axis-rotation="0" y="71.86"/> + <line x="18.47" y="120.9"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="19.41" x-axis-rotation="0" y="122.74"/> + <curve x1="22.05" x2="26.12" x3="31.09" y1="124.6" y2="125.78" y3="126.72"/> + <curve x1="36.06" x2="41.84" x3="47.41" y1="127.66" y2="128.23" y3="128.23"/> + <curve x1="53.66" x2="59.8" x3="65.06" y1="128.23" y2="127.94" y3="127.12"/> + <curve x1="70.31" x2="74.69" x3="77.58" y1="126.31" y2="125.12" y3="122.6"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="78.36" x-axis-rotation="0" y="120.9"/> + <line x="78.36" y="71.86"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="77.99" x-axis-rotation="0" y="70.63"/> + <curve x1="75.83" x2="71.53" x3="66.45" y1="67.31" y2="66.07" y3="65.07"/> + <curve x1="61.37" x2="55.37" x3="49.71" y1="64.08" y2="63.66" y3="63.66"/> + <close/> + <move x="49.71" y="68.16"/> + <curve x1="55.14" x2="60.94" x3="65.59" y1="68.16" y2="68.58" y3="69.49"/> + <curve x1="68.64" x2="70.76" x3="72.29" y1="70.08" y2="70.98" y3="71.84"/> + <curve x1="70.86" x2="68.99" x3="66.29" y1="72.62" y2="73.41" y3="73.99"/> + <curve x1="61.95" x2="56.23" x3="49.72" y1="74.92" y2="75.43" y3="75.42"/> + <arc large-arc-flag="0" rx="2.25" ry="2.25" sweep-flag="0" x="49.71" x-axis-rotation="0" y="75.42"/> + <curve x1="43.19" x2="36.92" x3="31.97" y1="75.42" y2="75.04" y3="74.16"/> + <curve x1="28.44" x2="26.04" x3="24.34" y1="73.54" y2="72.56" y3="71.58"/> + <curve x1="24.6" x2="24.77" x3="25.11" y1="71.43" y2="71.29" y3="71.14"/> + <curve x1="26.6" x2="28.74" x3="31.27" y1="70.49" y2="69.91" y3="69.46"/> + <curve x1="36.32" x2="42.96" x3="49.71" y1="68.56" y2="68.16" y3="68.16"/> + <close/> + <move x="22.97" y="76.19"/> + <curve x1="25.26" x2="28.01" x3="31.18" y1="77.29" y2="78.03" y3="78.59"/> + <curve x1="36.55" x2="43.02" x3="49.71" y1="79.55" y2="79.92" y3="79.92"/> + <curve x1="56.46" x2="62.43" x3="67.23" y1="79.93" y2="79.42" y3="78.39"/> + <curve x1="69.78" x2="71.99" x3="73.86" y1="77.84" y2="77.18" y3="76.28"/> + <line x="73.86" y="119.59"/> + <curve x1="72.05" x2="68.77" x3="64.37" y1="120.82" y2="122" y3="122.68"/> + <curve x1="59.48" x2="53.52" x3="47.41" y1="123.43" y2="123.73" y3="123.73"/> + <curve x1="42.15" x2="36.59" x3="31.93" y1="123.73" y2="123.18" y3="122.3"/> + <curve x1="27.86" x2="24.71" x3="22.97" y1="121.53" y2="120.42" y3="119.49"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="687.17" name="surveillance camera" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <save/> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="265.88"/> + <curve x1="0" x2="19.92" x3="44.28" y1="290.24" y2="310.17" y3="310.17"/> + <line x="187.61" y="310.17"/> + <line x="215.7" y="390.61"/> + <line x="223.09" y="390.61"/> + <curve x1="221.23" x2="219.21" x3="219.21" y1="403" y2="419.06" y3="436.02"/> + <curve x1="219.21" x2="337.05" x3="473.3" y1="576.71" y2="687.17" y3="687.17"/> + <curve x1="627.83" x2="738.62" x3="738.62" y1="687.17" y2="561.12" y3="432.3"/> + <curve x1="738.62" x2="737.48" x3="734.45" y1="418.18" y2="406.17" y3="390.61"/> + <line x="738.94" y="390.61"/> + <line x="766.27" y="310.17"/> + <line x="893.74" y="310.17"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="310.17" y2="290.24" y3="265.88"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="265.88"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="279.5" y2="290.16" y3="290.16"/> + <line x="44.28" y="290.16"/> + <curve x1="30.66" x2="20" x3="20" y1="290.16" y2="279.5" y3="265.88"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + <fillcolor color="#00bceb"/> + <fillalpha alpha="0.99532712"/> + <path> + <move x="719.78" y="445.21"/> + <curve x1="710.26" x2="617.91" x3="479.81" y1="571.03" y2="656.92" y3="667.43"/> + <curve x1="372.06" x2="234.12" x3="238.02" y1="667.43" y2="583.2" y3="446.84"/> + <curve x1="273.48" x2="367.37" x3="480.93" y1="399.58" y2="377.97" y3="377.97"/> + <curve x1="579.95" x2="680.21" x3="719.78" y1="377.97" y2="397.96" y3="445.21"/> + <close/> + </path> + <fill/> + <restore/> + <rect/> + <stroke/> + <fillcolor color="#ffffff"/> + <path> + <move x="676.46" y="518.77"/> + <curve x1="664.02" x2="647.67" x3="618.84" y1="540.42" y2="562.41" y3="588.31"/> + <curve x1="585.28" x2="554.39" x3="524.29" y1="616.78" y2="629.99" y3="637.16"/> + <curve x1="554.06" x2="584.41" x3="617.89" y1="628.38" y2="616.43" y3="587.23"/> + <curve x1="642.07" x2="660.91" x3="676.46" y1="566.64" y2="543.49" y3="518.77"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="150.66" name="tablet" strokewidth="inherit" w="170.22"> + <connections/> + <foreground> + <path> + <move x="114.45" y="41.58"/> + <line x="150.43" y="41.58"/> + <line x="150.43" y="43.97"/> + <line x="114.45" y="43.97"/> + <close/> + <move x="53.08" y="41.58"/> + <line x="89.05" y="41.58"/> + <line x="89.05" y="43.97"/> + <line x="53.08" y="43.97"/> + <close/> + <move x="19.79" y="50.77"/> + <curve x1="25.98" x2="30.72" x3="30.72" y1="50.77" y2="68.02" y3="89.52"/> + <curve x1="30.72" x2="26.7" x3="19.79" y1="108.78" y2="128.27" y3="128.27"/> + <close/> + <move x="53.08" y="50.77"/> + <line x="150.43" y="50.77"/> + <line x="150.43" y="128.27"/> + <line x="53.08" y="128.27"/> + <close/> + <move x="21.27" y="12.09"/> + <curve x1="18.57" x2="16.06" x3="16.06" y1="12.09" y2="9.48" y3="6.05"/> + <curve x1="16.06" x2="18.27" x3="21.27" y1="2.84" y2="0.02" y3="0.02"/> + <line x="84.62" y="0.02"/> + <curve x1="85.98" x2="86.92" x3="87.73" y1="0" y2="0.54" y3="1.04"/> + <line x="145.01" y="1.04"/> + <line x="145.01" y="2.29"/> + <line x="154.15" y="6"/> + <line x="145.01" y="9.72"/> + <line x="145.01" y="10.84"/> + <line x="87.73" y="10.84"/> + <curve x1="86.91" x2="85.66" x3="84.62" y1="11.53" y2="12.09" y3="12.09"/> + <close/> + <move x="7.76" y="19.16"/> + <curve x1="3.49" x2="0" x3="0" y1="19.16" y2="22.64" y3="26.91"/> + <line x="0" y="142.9"/> + <curve x1="0" x2="3.49" x3="7.76" y1="147.17" y2="150.66" y3="150.66"/> + <line x="162.46" y="150.66"/> + <curve x1="166.73" x2="170.22" x3="170.22" y1="150.66" y2="147.17" y3="142.9"/> + <line x="170.22" y="26.91"/> + <curve x1="170.22" x2="166.73" x3="162.46" y1="22.64" y2="19.16" y3="19.16"/> + <close/> + <move x="7.76" y="22.16"/> + <line x="162.46" y="22.16"/> + <curve x1="165.12" x2="167.22" x3="167.22" y1="22.16" y2="24.25" y3="26.91"/> + <line x="167.22" y="142.9"/> + <curve x1="167.22" x2="165.12" x3="162.46" y1="145.56" y2="147.66" y3="147.66"/> + <line x="7.76" y="147.66"/> + <curve x1="5.1" x2="3" x3="3" y1="147.66" y2="145.56" y3="142.9"/> + <line x="3" y="26.91"/> + <curve x1="3" x2="5.1" x3="7.76" y1="24.25" y2="22.16" y3="22.16"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="telepresence endpoint" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="46.84" y="37.34"/> + <curve x1="40.97" x2="36.25" x3="36.25" y1="37.34" y2="42.07" y3="47.93"/> + <line x="36.25" y="121.48"/> + <curve x1="36.25" x2="40.97" x3="46.84" y1="127.35" y2="132.07" y3="132.07"/> + <line x="84.29" y="132.07"/> + <line x="84.29" y="141.67"/> + <line x="70.3" y="141.67"/> + <arc large-arc-flag="1" rx="6.44" ry="6.44" sweep-flag="0" x="70.3" x-axis-rotation="0" y="154.55"/> + <line x="120.69" y="154.55"/> + <arc large-arc-flag="1" rx="6.44" ry="6.44" sweep-flag="0" x="120.69" x-axis-rotation="0" y="141.67"/> + <line x="106.7" y="141.67"/> + <line x="106.7" y="132.07"/> + <line x="144.15" y="132.07"/> + <curve x1="150.02" x2="154.74" x3="154.74" y1="132.07" y2="127.35" y3="121.48"/> + <line x="154.74" y="47.93"/> + <curve x1="154.74" x2="150.02" x3="144.15" y1="42.07" y2="37.34" y3="37.34"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="79.09" y="117.9"/> + <curve x1="79.09" x2="88.53" x3="95.02" y1="91.14" y2="83.39" y3="83.39"/> + <curve x1="101.45" x2="111.07" x3="111.07" y1="83.39" y2="90.66" y3="117.9"/> + <close/> + <move x="109.9" y="67"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="95.11" x-axis-rotation="0" y="81.78"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="80.33" x-axis-rotation="0" y="67"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="95.11" x-axis-rotation="0" y="52.22"/> + <arc large-arc-flag="0" rx="14.78" ry="14.78" sweep-flag="1" x="109.9" x-axis-rotation="0" y="67"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="telepresence endpoint twin data display" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="115.26" y="180.85"/> + <curve x1="97.02" x2="82.33" x3="82.33" y1="180.85" y2="195.54" y3="213.79"/> + <line x="82.33" y="442.51"/> + <curve x1="82.33" x2="97.02" x3="115.26" y1="460.76" y2="475.45" y3="475.45"/> + <line x="231.74" y="475.45"/> + <line x="231.74" y="505.3"/> + <line x="188.22" y="505.3"/> + <arc large-arc-flag="1" rx="20.03" ry="20.03" sweep-flag="0" x="188.22" x-axis-rotation="0" y="545.35"/> + <line x="344.95" y="545.35"/> + <arc large-arc-flag="1" rx="20.03" ry="20.03" sweep-flag="0" x="344.95" x-axis-rotation="0" y="505.3"/> + <line x="301.43" y="505.3"/> + <line x="301.43" y="475.45"/> + <line x="417.9" y="475.45"/> + <curve x1="436.15" x2="450.84" x3="450.84" y1="475.45" y2="460.76" y3="442.51"/> + <line x="450.84" y="213.79"/> + <curve x1="450.84" x2="436.15" x3="417.9" y1="195.54" y2="180.85" y3="180.85"/> + <close/> + <move x="525.29" y="180.85"/> + <curve x1="507.04" x2="492.36" x3="492.36" y1="180.85" y2="195.54" y3="213.79"/> + <line x="492.36" y="442.51"/> + <curve x1="492.36" x2="507.04" x3="525.29" y1="460.76" y2="475.45" y3="475.45"/> + <line x="641.76" y="475.45"/> + <line x="641.76" y="505.3"/> + <line x="598.25" y="505.3"/> + <arc large-arc-flag="1" rx="20.03" ry="20.03" sweep-flag="0" x="598.25" x-axis-rotation="0" y="545.35"/> + <line x="754.97" y="545.35"/> + <arc large-arc-flag="1" rx="20.03" ry="20.03" sweep-flag="0" x="754.97" x-axis-rotation="0" y="505.3"/> + <line x="711.46" y="505.3"/> + <line x="711.46" y="475.45"/> + <line x="827.93" y="475.45"/> + <curve x1="846.18" x2="860.87" x3="860.87" y1="475.45" y2="460.76" y3="442.51"/> + <line x="860.87" y="213.79"/> + <curve x1="860.87" x2="846.18" x3="827.93" y1="195.54" y2="180.85" y3="180.85"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="290.95" y="447.19"/> + <curve x1="290.95" x2="323.81" x3="346.41" y1="354.02" y2="327" y3="327"/> + <curve x1="368.82" x2="402.32" x3="402.32" y1="327" y2="352.34" y3="447.19"/> + <close/> + <move x="398.22" y="269.94"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="346.74" x-axis-rotation="0" y="321.42"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="295.26" x-axis-rotation="0" y="269.94"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="346.74" x-axis-rotation="0" y="218.45"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="398.22" x-axis-rotation="0" y="269.94"/> + <close/> + <move x="143.34" y="447.19"/> + <curve x1="143.34" x2="176.2" x3="198.8" y1="354.02" y2="327" y3="327"/> + <curve x1="221.21" x2="254.72" x3="254.72" y1="327" y2="352.34" y3="447.19"/> + <close/> + <move x="250.62" y="269.94"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="199.13" x-axis-rotation="0" y="321.42"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="147.65" x-axis-rotation="0" y="269.94"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="199.13" x-axis-rotation="0" y="218.45"/> + <arc large-arc-flag="0" rx="51.48" ry="51.48" sweep-flag="1" x="250.62" x-axis-rotation="0" y="269.94"/> + <close/> + <move x="536.86" y="231.77"/> + <line x="551.98" y="231.77"/> + <line x="551.98" y="423.91"/> + <line x="587.43" y="423.91"/> + <line x="587.43" y="358.9"/> + <line x="628.82" y="358.9"/> + <line x="628.82" y="423.91"/> + <line x="658.2" y="423.91"/> + <line x="658.2" y="291.86"/> + <line x="699.59" y="291.86"/> + <line x="699.59" y="423.91"/> + <line x="728.52" y="423.91"/> + <line x="728.52" y="261.83"/> + <line x="769.91" y="261.83"/> + <line x="769.91" y="423.91"/> + <line x="809.85" y="423.91"/> + <line x="809.85" y="439.03"/> + <line x="536.86" y="439.03"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="telepresence exchange" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="201.82" y="169.97"/> + <line x="201.82" y="129.56"/> + <line x="216.98" y="129.56"/> + <quad x1="221.61" x2="224.39" y1="129.56" y2="130.8"/> + <quad x1="227.2" x2="228.77" y1="132.01" y2="134.58"/> + <quad x1="230.37" x2="230.37" y1="137.11" y2="139.9"/> + <quad x1="230.37" x2="228.97" y1="142.49" y2="144.78"/> + <quad x1="227.56" x2="224.72" y1="147.06" y2="148.47"/> + <quad x1="228.39" x2="230.34" y1="149.54" y2="152.13"/> + <quad x1="232.33" x2="232.33" y1="154.72" y2="158.25"/> + <quad x1="232.33" x2="231.12" y1="161.09" y2="163.54"/> + <quad x1="229.93" x2="228.17" y1="165.97" y2="167.29"/> + <quad x1="226.4" x2="223.73" y1="168.62" y2="169.3"/> + <quad x1="221.08" x2="217.22" y1="169.97" y2="169.97"/> + <close/> + <move x="207.17" y="146.54"/> + <line x="215.9" y="146.54"/> + <quad x1="219.46" x2="221" y1="146.54" y2="146.07"/> + <quad x1="223.04" x2="224.06" y1="145.46" y2="144.06"/> + <quad x1="225.11" x2="225.11" y1="142.65" y2="140.53"/> + <quad x1="225.11" x2="224.14" y1="138.52" y2="137"/> + <quad x1="223.18" x2="221.39" y1="135.46" y2="134.91"/> + <quad x1="219.6" x2="215.24" y1="134.33" y2="134.33"/> + <line x="207.17" y="134.33"/> + <close/> + <move x="207.17" y="165.2"/> + <line x="217.22" y="165.2"/> + <quad x1="219.82" x2="220.86" y1="165.2" y2="165"/> + <quad x1="222.71" x2="223.95" y1="164.67" y2="163.9"/> + <quad x1="225.19" x2="225.99" y1="163.13" y2="161.67"/> + <quad x1="226.79" x2="226.79" y1="160.18" y2="158.25"/> + <quad x1="226.79" x2="225.63" y1="155.99" y2="154.34"/> + <quad x1="224.47" x2="222.41" y1="152.66" y2="152"/> + <quad x1="220.37" x2="216.51" y1="151.31" y2="151.31"/> + <line x="207.17" y="151.31"/> + <close/> + <move x="161.25" y="169.97"/> + <line x="161.25" y="129.56"/> + <line x="175.17" y="129.56"/> + <quad x1="179.88" x2="182.36" y1="129.56" y2="130.14"/> + <quad x1="185.83" x2="188.29" y1="130.94" y2="133.03"/> + <quad x1="191.48" x2="193.05" y1="135.74" y2="139.95"/> + <quad x1="194.65" x2="194.65" y1="144.14" y2="149.54"/> + <quad x1="194.65" x2="193.58" y1="154.15" y2="157.7"/> + <quad x1="192.5" x2="190.82" y1="161.26" y2="163.6"/> + <quad x1="189.14" x2="187.13" y1="165.91" y2="167.26"/> + <quad x1="185.14" x2="182.31" y1="168.59" y2="169.28"/> + <quad x1="179.49" x2="175.83" y1="169.97" y2="169.97"/> + <close/> + <move x="166.6" y="165.2"/> + <line x="175.22" y="165.2"/> + <quad x1="179.22" x2="181.48" y1="165.2" y2="164.45"/> + <quad x1="183.77" x2="185.12" y1="163.71" y2="162.36"/> + <quad x1="187.02" x2="188.07" y1="160.46" y2="157.26"/> + <quad x1="189.14" x2="189.14" y1="154.04" y2="149.46"/> + <quad x1="189.14" x2="187.05" y1="143.12" y2="139.73"/> + <quad x1="184.98" x2="182" y1="136.31" y2="135.16"/> + <quad x1="179.85" x2="175.08" y1="134.33" y2="134.33"/> + <line x="166.6" y="134.33"/> + <close/> + <move x="95.56" y="124.73"/> + <arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="0" x="94.31" x-axis-rotation="0" y="125.98"/> + <line x="94.31" y="176.81"/> + <arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="0" x="95.56" x-axis-rotation="0" y="178.06"/> + <line x="136.5" y="178.06"/> + <arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="0" x="137.75" x-axis-rotation="0" y="176.81"/> + <line x="137.75" y="125.98"/> + <arc large-arc-flag="0" rx="1.25" ry="1.25" sweep-flag="0" x="136.5" x-axis-rotation="0" y="124.73"/> + <close/> + <move x="96.81" y="127.23"/> + <line x="135.25" y="127.23"/> + <line x="135.25" y="148.75"/> + <line x="96.81" y="148.75"/> + <close/> + <move x="110.79" y="127.78"/> + <curve x1="110.07" x2="109.48" x3="109.48" y1="127.78" y2="128.36" y3="129.09"/> + <line x="109.48" y="136.64"/> + <curve x1="109.48" x2="110.07" x3="110.79" y1="137.37" y2="137.95" y3="137.95"/> + <line x="119.7" y="137.95"/> + <curve x1="120.42" x2="121" x3="121" y1="137.95" y2="137.37" y3="136.64"/> + <line x="121" y="129.09"/> + <curve x1="121" x2="120.42" x3="119.7" y1="128.36" y2="127.78" y3="127.78"/> + <close/> + <move x="124.76" y="132.9"/> + <curve x1="124.04" x2="123.46" x3="123.46" y1="132.9" y2="133.48" y3="134.21"/> + <line x="123.46" y="144.82"/> + <curve x1="123.46" x2="124.04" x3="124.76" y1="145.54" y2="146.13" y3="146.13"/> + <line x="132.11" y="146.13"/> + <curve x1="132.83" x2="133.41" x3="133.41" y1="146.13" y2="145.54" y3="144.82"/> + <line x="133.41" y="134.21"/> + <curve x1="133.41" x2="132.83" x3="132.11" y1="133.48" y2="132.9" y3="132.9"/> + <close/> + <move x="99.74" y="138.51"/> + <curve x1="99.02" x2="98.44" x3="98.44" y1="138.51" y2="139.09" y3="139.82"/> + <line x="98.44" y="144.77"/> + <curve x1="98.44" x2="99.02" x3="99.74" y1="145.5" y2="146.08" y3="146.08"/> + <line x="112.64" y="146.08"/> + <curve x1="113.37" x2="113.95" x3="113.95" y1="146.08" y2="145.5" y3="144.77"/> + <line x="113.95" y="139.82"/> + <curve x1="113.95" x2="113.37" x3="112.64" y1="139.09" y2="138.51" y3="138.51"/> + <close/> + <move x="96.81" y="151.25"/> + <line x="104.75" y="151.25"/> + <line x="104.75" y="158.13"/> + <line x="96.81" y="158.13"/> + <close/> + <move x="106.8" y="151.25"/> + <line x="115.01" y="151.25"/> + <line x="115.01" y="158.13"/> + <line x="106.8" y="158.13"/> + <close/> + <move x="117.06" y="151.25"/> + <line x="125.27" y="151.25"/> + <line x="125.27" y="158.13"/> + <line x="117.06" y="158.13"/> + <close/> + <move x="127.31" y="151.25"/> + <line x="135.25" y="151.25"/> + <line x="135.25" y="158.13"/> + <line x="127.31" y="158.13"/> + <close/> + <move x="96.81" y="160.63"/> + <line x="104.75" y="160.63"/> + <line x="104.75" y="167.51"/> + <line x="96.81" y="167.51"/> + <close/> + <move x="106.8" y="160.63"/> + <line x="115.01" y="160.63"/> + <line x="115.01" y="167.51"/> + <line x="106.8" y="167.51"/> + <close/> + <move x="117.06" y="160.63"/> + <line x="125.27" y="160.63"/> + <line x="125.27" y="167.51"/> + <line x="117.06" y="167.51"/> + <close/> + <move x="127.31" y="160.63"/> + <line x="135.25" y="160.63"/> + <line x="135.25" y="167.51"/> + <line x="127.31" y="167.51"/> + <close/> + <move x="96.81" y="170.01"/> + <line x="104.75" y="170.01"/> + <line x="104.75" y="175.56"/> + <line x="96.81" y="175.56"/> + <close/> + <move x="106.8" y="170.01"/> + <line x="115.01" y="170.01"/> + <line x="115.01" y="175.56"/> + <line x="106.8" y="175.56"/> + <close/> + <move x="117.06" y="170.01"/> + <line x="125.27" y="170.01"/> + <line x="125.27" y="175.56"/> + <line x="117.06" y="175.56"/> + <close/> + <move x="127.31" y="170.01"/> + <line x="135.25" y="170.01"/> + <line x="135.25" y="175.56"/> + <line x="127.31" y="175.56"/> + <close/> + <move x="25.53" y="140.04"/> + <line x="25.53" y="142.54"/> + <line x="49.89" y="142.54"/> + <line x="49.89" y="140.04"/> + <close/> + <move x="25.53" y="149.79"/> + <line x="25.53" y="152.29"/> + <line x="49.89" y="152.29"/> + <line x="49.89" y="149.79"/> + <close/> + <move x="25.53" y="159.03"/> + <line x="25.53" y="161.53"/> + <line x="49.89" y="161.53"/> + <line x="49.89" y="159.03"/> + <close/> + <move x="18.49" y="126.45"/> + <line x="18.49" y="176.62"/> + <line x="19.49" y="176.62"/> + <line x="57.75" y="176.62"/> + <line x="57.75" y="135.1"/> + <line x="49.61" y="126.45"/> + <close/> + <move x="20.49" y="128.45"/> + <line x="46.8" y="128.45"/> + <line x="46.8" y="135.81"/> + <curve x1="46.8" x2="47.21" x3="47.79" y1="136.39" y2="136.86" y3="136.86"/> + <line x="55.75" y="136.86"/> + <line x="55.75" y="174.62"/> + <line x="20.49" y="174.62"/> + <close/> + <move x="118.68" y="14.52"/> + <arc large-arc-flag="0" rx="12.89" ry="12.89" sweep-flag="0" x="105.78" x-axis-rotation="0" y="27.41"/> + <arc large-arc-flag="0" rx="12.89" ry="12.89" sweep-flag="0" x="118.68" x-axis-rotation="0" y="40.3"/> + <arc large-arc-flag="0" rx="12.89" ry="12.89" sweep-flag="0" x="131.57" x-axis-rotation="0" y="27.41"/> + <arc large-arc-flag="0" rx="12.89" ry="12.89" sweep-flag="0" x="118.68" x-axis-rotation="0" y="14.52"/> + <close/> + <move x="140.65" y="35.2"/> + <line x="138.23" y="37.73"/> + <line x="180.24" y="77.95"/> + <line x="182.66" y="75.43"/> + <close/> + <move x="94.63" y="35.46"/> + <line x="73.51" y="51.39"/> + <line x="75.62" y="54.19"/> + <line x="96.74" y="38.25"/> + <close/> + <move x="118.76" y="41.29"/> + <curve x1="113.09" x2="109.23" x3="107.47" y1="41.29" y2="47.32" y3="52.28"/> + <curve x1="104.82" x2="104.6" x3="104.78" y1="60.16" y2="68.76" y3="78.18"/> + <line x="132.56" y="78.25"/> + <curve x1="132.76" x2="132.58" x3="129.98" y1="69.91" y2="60.65" y3="53.2"/> + <curve x1="127.96" x2="124.28" x3="118.76" y1="47.42" y2="41.29" y3="41.29"/> + <close/> + <move x="26.42" y="61.77"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="16.86" x-axis-rotation="0" y="71.32"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="26.42" x-axis-rotation="0" y="80.88"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="35.97" x-axis-rotation="0" y="71.32"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="26.42" x-axis-rotation="0" y="61.77"/> + <close/> + <move x="59.31" y="61.77"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="49.76" x-axis-rotation="0" y="71.32"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="59.31" x-axis-rotation="0" y="80.88"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="68.87" x-axis-rotation="0" y="71.32"/> + <arc large-arc-flag="0" rx="9.55" ry="9.55" sweep-flag="0" x="59.31" x-axis-rotation="0" y="61.77"/> + <close/> + <move x="26.48" y="81.61"/> + <curve x1="22.28" x2="19.42" x3="18.12" y1="81.61" y2="86.08" y3="89.75"/> + <curve x1="16.15" x2="15.98" x3="16.12" y1="95.59" y2="101.97" y3="108.95"/> + <line x="36.71" y="109"/> + <curve x1="36.86" x2="36.72" x3="34.8" y1="102.82" y2="95.95" y3="90.43"/> + <curve x1="33.3" x2="30.57" x3="26.48" y1="86.15" y2="81.61" y3="81.61"/> + <close/> + <move x="59.37" y="81.61"/> + <curve x1="55.17" x2="52.31" x3="51.01" y1="81.61" y2="86.08" y3="89.75"/> + <curve x1="49.05" x2="48.88" x3="49.01" y1="95.59" y2="101.97" y3="108.95"/> + <line x="69.6" y="109"/> + <curve x1="69.75" x2="69.61" x3="67.69" y1="102.82" y2="95.95" y3="90.43"/> + <curve x1="66.19" x2="63.46" x3="59.37" y1="86.15" y2="81.61" y3="81.61"/> + <close/> + <move x="185.12" y="86.74"/> + <curve x1="183" x2="181.3" x3="181.3" y1="86.74" y2="88.44" y3="90.56"/> + <line x="181.3" y="107.94"/> + <curve x1="181.3" x2="183" x3="185.12" y1="110.06" y2="111.76" y3="111.76"/> + <line x="205.7" y="111.76"/> + <curve x1="207.82" x2="209.53" x3="209.53" y1="111.76" y2="110.06" y3="107.94"/> + <line x="209.53" y="102.17"/> + <line x="219.45" y="102.17"/> + <line x="219.45" y="105.97"/> + <line x="224.43" y="105.97"/> + <line x="224.43" y="92.54"/> + <line x="219.45" y="92.54"/> + <line x="219.45" y="96.34"/> + <line x="209.53" y="96.34"/> + <line x="209.53" y="90.56"/> + <curve x1="209.53" x2="207.82" x3="205.7" y1="88.44" y2="86.74" y3="86.74"/> + <close/> + <move x="77.72" y="107.22"/> + <line x="77.72" y="110.72"/> + <line x="174.38" y="110.72"/> + <line x="174.38" y="107.22"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#00bceb"/> + <path> + <move x="97.93" y="97.59"/> + <curve x1="93.39" x2="88.65" x3="84.14" y1="97.56" y2="96.76" y3="94.14"/> + <curve x1="80.99" x2="80.51" x3="81.78" y1="92.04" y2="87.65" y3="84.22"/> + <curve x1="82.76" x2="86.33" x3="90.67" y1="81.77" y2="78.91" y3="78.31"/> + <curve x1="93.13" x2="100.58" x3="108.76" y1="68.66" y2="62.78" y3="60.89"/> + <curve x1="117.24" x2="128.88" x3="134.93" y1="59.1" y2="61.83" y3="70.35"/> + <curve x1="137.69" x2="141.67" x3="145.4" y1="69.89" y2="69.62" y3="71.1"/> + <curve x1="149.06" x2="151.26" x3="152.33" y1="72.69" y2="75.7" y3="78.35"/> + <curve x1="157.58" x2="163.19" x3="162.29" y1="79.74" y2="82.69" y3="88.2"/> + <curve x1="161.11" x2="153.71" x3="147.21" y1="94.43" y2="97.83" y3="98.3"/> + <curve x1="141.26" x2="135.92" x3="131.07" y1="98.67" y2="97.77" y3="96.88"/> + <curve x1="126.09" x2="120.22" x3="112.22" y1="101.01" y2="103.73" y3="103.14"/> + <curve x1="106.97" x2="101.61" x3="97.93" y1="102.7" y2="100.35" y3="97.59"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="threat intelligence" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="93.58" y="95.6"/> + <line x="93.58" y="97.09"/> + <curve x1="93.58" x2="93.27" x3="92.79" y1="97.51" y2="97.91" y3="97.91"/> + <line x="91.07" y="97.91"/> + <curve x1="90.64" x2="90.49" x3="90.49" y1="97.91" y2="97.52" y3="96.98"/> + <line x="90.49" y="95.6"/> + <close/> + <move x="88.3" y="95.6"/> + <line x="88.3" y="97.09"/> + <curve x1="88.3" x2="87.99" x3="87.5" y1="97.51" y2="97.91" y3="97.91"/> + <line x="85.78" y="97.91"/> + <curve x1="85.35" x2="85.2" x3="85.2" y1="97.91" y2="97.52" y3="96.98"/> + <line x="85.2" y="95.6"/> + <close/> + <move x="92.52" y="102.95"/> + <line x="92.48" y="100.61"/> + <curve x1="92.48" x2="92.76" x3="93.8" y1="99.64" y2="99.17" y3="99.17"/> + <curve x1="94.61" x2="94.92" x3="94.92" y1="99.17" y2="98.83" y3="98.22"/> + <line x="94.86" y="94.38"/> + <curve x1="91.19" x2="87.53" x3="83.86" y1="94.53" y2="94.55" y3="94.41"/> + <line x="83.85" y="98.05"/> + <curve x1="83.85" x2="83.96" x3="84.74" y1="98.69" y2="99.08" y3="99.08"/> + <curve x1="85.52" x2="86.19" x3="86.19" y1="99.08" y2="99.37" y3="100.21"/> + <line x="86.15" y="102.89"/> + <curve x1="86.97" x2="90.86" x3="92.52" y1="103.6" y2="103.67" y3="102.95"/> + <close/> + <move x="81.27" y="113.23"/> + <curve x1="79.81" x2="78.68" x3="78.68" y1="113.23" y2="112.14" y3="110.78"/> + <line x="78.68" y="103.56"/> + <curve x1="78.68" x2="79.52" x3="80.59" y1="102.51" y2="101.33" y3="101.33"/> + <line x="80.57" y="100.05"/> + <curve x1="80.57" x2="80.97" x3="82.22" y1="99.31" y2="99.09" y3="99.09"/> + <curve x1="81.34" x2="81.55" x3="82.18" y1="96.96" y2="95.34" y3="93.92"/> + <curve x1="79.99" x2="77.6" x3="77.6" y1="93.86" y2="93.57" y3="92.75"/> + <curve x1="77.6" x2="80.9" x3="82.83" y1="91.7" y2="90.61" y3="90.41"/> + <line x="84.52" y="85.16"/> + <curve x1="84.74" x2="85.08" x3="85.57" y1="84.45" y2="84.15" y3="84.15"/> + <line x="92.79" y="84.18"/> + <curve x1="93.79" x2="94.35" x3="94.57" y1="84.18" y2="84.65" y3="85.54"/> + <line x="95.94" y="90.4"/> + <curve x1="98.08" x2="101.03" x3="101.03" y1="90.98" y2="91.87" y3="92.81"/> + <curve x1="101.03" x2="98.33" x3="96.44" y1="93.66" y2="93.73" y3="93.82"/> + <curve x1="97.35" x2="96.98" x3="96.45" y1="95.62" y2="97.53" y3="99.14"/> + <curve x1="97.59" x2="98.03" x3="98.03" y1="99.11" y2="99.61" y3="100.24"/> + <line x="98.03" y="101.22"/> + <curve x1="99.15" x2="99.96" x3="99.96" y1="101.22" y2="102.4" y3="103.52"/> + <line x="99.96" y="110.47"/> + <curve x1="99.96" x2="98.68" x3="97.22" y1="112.57" y2="113.27" y3="113.27"/> + <line x="89.73" y="113.24"/> + <line x="89.73" y="103.61"/> + <line x="89.19" y="103.61"/> + <line x="89.19" y="113.22"/> + <close/> + <move x="110.11" y="123.11"/> + <line x="132.13" y="123.11"/> + <line x="132.13" y="78.49"/> + <line x="98.39" y="78.49"/> + <close/> + <move x="72.44" y="123.11"/> + <line x="94.46" y="123.11"/> + <line x="94.46" y="78.49"/> + <line x="60.72" y="78.49"/> + <close/> + <move x="49.32" y="138.87"/> + <curve x1="45.71" x2="43.95" x3="43.95" y1="138.87" y2="137.76" y3="134.35"/> + <line x="43.93" y="66.71"/> + <curve x1="43.93" x2="45.17" x3="48.6" y1="64.17" y2="61.88" y3="61.88"/> + <line x="127.92" y="61.87"/> + <curve x1="131.15" x2="132.49" x3="134.33" y1="61.87" y2="60.78" y3="58.97"/> + <line x="137.84" y="55.95"/> + <curve x1="140.07" x2="141.12" x3="144.46" y1="53.88" y2="53.35" y3="53.45"/> + <line x="167.21" y="53.43"/> + <curve x1="170.37" x2="172.49" x3="172.49" y1="53.43" y2="55.48" y3="57.88"/> + <line x="172.56" y="133.62"/> + <curve x1="172.56" x2="170.76" x3="167.2" y1="137.22" y2="138.89" y3="138.86"/> + <close/> + <move x="114.24" y="107.79"/> + <line x="134.22" y="107.79"/> + <line x="134.22" y="110.97"/> + <line x="114.24" y="110.97"/> + <close/> + <move x="114.24" y="101.27"/> + <line x="138.7" y="101.27"/> + <line x="138.7" y="104.45"/> + <line x="114.24" y="104.45"/> + <close/> + <move x="114.24" y="94.75"/> + <line x="134.22" y="94.75"/> + <line x="134.22" y="97.93"/> + <line x="114.24" y="97.93"/> + <close/> + <move x="114.24" y="88.23"/> + <line x="138.7" y="88.23"/> + <line x="138.7" y="91.41"/> + <line x="114.24" y="91.41"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="transcoder" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="125.87" y="57.16"/> + <line x="140.31" y="67.44"/> + <line x="125.87" y="77.71"/> + <line x="125.87" y="70.72"/> + <line x="109.31" y="70.72"/> + <line x="109.31" y="64.15"/> + <line x="125.87" y="64.15"/> + <close/> + <move x="124.29" y="117.12"/> + <line x="109.85" y="127.39"/> + <line x="124.29" y="137.66"/> + <line x="124.29" y="130.67"/> + <line x="140.86" y="130.67"/> + <line x="140.86" y="124.11"/> + <line x="124.29" y="124.11"/> + <close/> + <move x="161.69" y="100.27"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="146.3" x-axis-rotation="0" y="115.66"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="153.6" x-axis-rotation="0" y="128.73"/> + <curve x1="147.92" x2="144.71" x3="144.71" y1="135.45" y2="144.31" y3="153.07"/> + <line x="144.71" y="168.02"/> + <line x="178.68" y="168.02"/> + <line x="178.68" y="153.07"/> + <curve x1="178.68" x2="174.67" x3="169.35" y1="144.21" y2="135.71" y3="128.99"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="177.09" x-axis-rotation="0" y="115.66"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="161.69" x-axis-rotation="0" y="100.27"/> + <close/> + <move x="89.25" y="100.27"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="73.86" x-axis-rotation="0" y="115.66"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="81.16" x-axis-rotation="0" y="128.73"/> + <curve x1="75.48" x2="72.27" x3="72.27" y1="135.45" y2="144.31" y3="153.07"/> + <line x="72.27" y="168.02"/> + <line x="106.24" y="168.02"/> + <line x="106.24" y="153.07"/> + <curve x1="106.24" x2="102.23" x3="96.91" y1="144.21" y2="135.71" y3="128.99"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="104.65" x-axis-rotation="0" y="115.66"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="89.25" x-axis-rotation="0" y="100.27"/> + <close/> + <move x="161.69" y="25.18"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="146.3" x-axis-rotation="0" y="40.57"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="153.6" x-axis-rotation="0" y="53.64"/> + <curve x1="147.92" x2="144.71" x3="144.71" y1="60.36" y2="69.22" y3="77.98"/> + <line x="144.71" y="92.93"/> + <line x="178.68" y="92.93"/> + <line x="178.68" y="77.98"/> + <curve x1="178.68" x2="174.67" x3="169.35" y1="69.12" y2="60.62" y3="53.9"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="177.09" x-axis-rotation="0" y="40.57"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="161.69" x-axis-rotation="0" y="25.18"/> + <close/> + <move x="89.25" y="25.18"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="73.86" x-axis-rotation="0" y="40.57"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="81.16" x-axis-rotation="0" y="53.64"/> + <curve x1="75.48" x2="72.27" x3="72.27" y1="60.36" y2="69.22" y3="77.98"/> + <line x="72.27" y="92.93"/> + <line x="106.24" y="92.93"/> + <line x="106.24" y="77.98"/> + <curve x1="106.24" x2="102.23" x3="96.91" y1="69.12" y2="60.62" y3="53.9"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="104.65" x-axis-rotation="0" y="40.57"/> + <arc large-arc-flag="0" rx="15.39" ry="15.39" sweep-flag="0" x="89.25" x-axis-rotation="0" y="25.18"/> + <close/> + <move x="41.29" y="99.44"/> + <line x="41.29" y="110.93"/> + <line x="14.06" y="110.93"/> + <line x="14.06" y="121.73"/> + <line x="41.29" y="121.73"/> + <line x="41.29" y="133.22"/> + <line x="65.02" y="116.33"/> + <close/> + <move x="37.8" y="54.07"/> + <line x="14.06" y="70.96"/> + <line x="37.8" y="87.84"/> + <line x="37.8" y="76.35"/> + <line x="65.02" y="76.35"/> + <line x="65.02" y="65.56"/> + <line x="37.8" y="65.56"/> + <close/> + <move x="211.01" y="54.07"/> + <line x="211.01" y="65.56"/> + <line x="183.78" y="65.56"/> + <line x="183.78" y="76.35"/> + <line x="211.01" y="76.35"/> + <line x="211.01" y="87.84"/> + <line x="234.75" y="70.96"/> + <close/> + <move x="207.52" y="99.44"/> + <line x="183.78" y="116.33"/> + <line x="207.52" y="133.22"/> + <line x="207.52" y="121.73"/> + <line x="234.75" y="121.73"/> + <line x="234.75" y="110.93"/> + <line x="207.52" y="110.93"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="ucs 5108 blade chassis" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="62.72" y="158.32"/> + <line x="185.79" y="158.32"/> + <line x="185.79" y="173.17"/> + <line x="62.72" y="173.17"/> + <close/> + <move x="62.72" y="130.58"/> + <line x="185.79" y="130.58"/> + <line x="185.79" y="145.43"/> + <line x="62.72" y="145.43"/> + <close/> + <move x="62.72" y="102.84"/> + <line x="185.79" y="102.84"/> + <line x="185.79" y="117.69"/> + <line x="62.72" y="117.69"/> + <close/> + <move x="62.72" y="75.1"/> + <line x="185.79" y="75.1"/> + <line x="185.79" y="89.95"/> + <line x="62.72" y="89.95"/> + <close/> + <move x="62.72" y="47.36"/> + <line x="185.79" y="47.36"/> + <line x="185.79" y="62.21"/> + <line x="62.72" y="62.21"/> + <close/> + <move x="62.72" y="19.62"/> + <line x="185.79" y="19.62"/> + <line x="185.79" y="34.48"/> + <line x="62.72" y="34.48"/> + <close/> + <move x="218.88" y="47.35"/> + <line x="225.87" y="47.35"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="227.55" x-axis-rotation="0" y="48.21"/> + <line x="225.96" y="53.08"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="223.61" x-axis-rotation="0" y="53.76"/> + <line x="216.12" y="53.75"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="214.76" x-axis-rotation="0" y="53.19"/> + <line x="216.35" y="48.3"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="218.88" x-axis-rotation="0" y="47.35"/> + <close/> + <move x="206.46" y="47.33"/> + <line x="213.3" y="47.34"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="215.18" x-axis-rotation="0" y="48.24"/> + <line x="213.6" y="53.07"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="211.11" x-axis-rotation="0" y="53.75"/> + <line x="203.66" y="53.74"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="202.41" x-axis-rotation="0" y="53.21"/> + <line x="204.02" y="48.3"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="206.46" x-axis-rotation="0" y="47.33"/> + <close/> + <move x="221.44" y="39.5"/> + <line x="228.97" y="39.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="230.21" x-axis-rotation="0" y="40.06"/> + <line x="228.43" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="226.1" x-axis-rotation="0" y="46.22"/> + <line x="218.63" y="46.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="217.23" x-axis-rotation="0" y="45.62"/> + <line x="219" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="221.44" x-axis-rotation="0" y="39.5"/> + <close/> + <move x="209.07" y="39.49"/> + <line x="216.34" y="39.5"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="217.84" x-axis-rotation="0" y="40.12"/> + <line x="216.08" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="213.55" x-axis-rotation="0" y="46.21"/> + <line x="206.19" y="46.2"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="204.89" x-axis-rotation="0" y="45.64"/> + <line x="206.66" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="209.07" x-axis-rotation="0" y="39.49"/> + <close/> + <move x="219.88" y="33.87"/> + <line x="218.72" y="37.41"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="216.11" x-axis-rotation="0" y="38.36"/> + <line x="209.28" y="38.36"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="207.54" x-axis-rotation="0" y="37.5"/> + <line x="208.57" y="34.35"/> + <line x="207.5" y="33.99"/> + <line x="206.38" y="37.41"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="203.73" x-axis-rotation="0" y="38.35"/> + <line x="198.42" y="38.35"/> + <line x="198.42" y="39.48"/> + <line x="203.94" y="39.49"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="205.49" x-axis-rotation="0" y="40.12"/> + <line x="203.74" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="203.66" x-axis-rotation="0" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="201.14" x-axis-rotation="0" y="46.19"/> + <line x="196.61" y="46.19"/> + <line x="196.61" y="47.32"/> + <line x="200.87" y="47.33"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="202.84" x-axis-rotation="0" y="48.25"/> + <line x="201.26" y="53.08"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="201.16" x-axis-rotation="0" y="53.07"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="198.68" x-axis-rotation="0" y="53.73"/> + <line x="194.83" y="53.73"/> + <line x="194.83" y="54.86"/> + <line x="198.35" y="54.86"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="200.37" x-axis-rotation="0" y="55.82"/> + <line x="199.51" y="58.46"/> + <line x="200.59" y="58.81"/> + <line x="201.55" y="55.86"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="203.98" x-axis-rotation="0" y="54.87"/> + <line x="210.8" y="54.88"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="212.71" x-axis-rotation="0" y="55.81"/> + <line x="211.89" y="58.33"/> + <line x="212.97" y="58.68"/> + <line x="213.88" y="55.87"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="216.42" x-axis-rotation="0" y="54.88"/> + <line x="223.33" y="54.89"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="225.08" x-axis-rotation="0" y="55.78"/> + <line x="224.21" y="58.44"/> + <line x="225.29" y="58.79"/> + <line x="226.24" y="55.88"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="228.93" x-axis-rotation="0" y="54.9"/> + <line x="233.3" y="54.9"/> + <line x="233.3" y="53.77"/> + <line x="228.65" y="53.76"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="227.13" x-axis-rotation="0" y="53.16"/> + <line x="228.71" y="48.31"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="231.43" x-axis-rotation="0" y="47.36"/> + <line x="235.08" y="47.36"/> + <line x="235.08" y="46.23"/> + <line x="231.21" y="46.22"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="229.6" x-axis-rotation="0" y="45.58"/> + <line x="231.36" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="231.51" x-axis-rotation="0" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="234.04" x-axis-rotation="0" y="39.52"/> + <line x="236.89" y="39.52"/> + <line x="236.89" y="38.39"/> + <line x="234.3" y="38.38"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="232.26" x-axis-rotation="0" y="37.46"/> + <line x="233.28" y="34.33"/> + <line x="232.2" y="33.97"/> + <line x="231.07" y="37.43"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="228.72" x-axis-rotation="0" y="38.38"/> + <line x="221.68" y="38.37"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="219.88" x-axis-rotation="0" y="37.49"/> + <line x="220.95" y="34.22"/> + <close/> + <move x="219.11" y="155.05"/> + <line x="226.1" y="155.06"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="227.78" x-axis-rotation="0" y="155.91"/> + <line x="226.19" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="223.85" x-axis-rotation="0" y="161.46"/> + <line x="216.35" y="161.45"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="214.99" x-axis-rotation="0" y="160.89"/> + <line x="216.59" y="156.01"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="219.11" x-axis-rotation="0" y="155.05"/> + <close/> + <move x="206.69" y="155.04"/> + <line x="213.53" y="155.04"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="215.41" x-axis-rotation="0" y="155.94"/> + <line x="213.84" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="211.34" x-axis-rotation="0" y="161.45"/> + <line x="203.89" y="161.44"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="202.65" x-axis-rotation="0" y="160.91"/> + <line x="204.25" y="156"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="206.69" x-axis-rotation="0" y="155.04"/> + <close/> + <move x="221.68" y="147.21"/> + <line x="229.21" y="147.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="230.44" x-axis-rotation="0" y="147.77"/> + <line x="228.66" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="226.33" x-axis-rotation="0" y="153.92"/> + <line x="218.87" y="153.92"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="217.46" x-axis-rotation="0" y="153.32"/> + <line x="219.23" y="147.91"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="221.68" x-axis-rotation="0" y="147.21"/> + <close/> + <move x="209.3" y="147.2"/> + <line x="216.57" y="147.2"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="218.07" x-axis-rotation="0" y="147.82"/> + <line x="216.31" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="213.79" x-axis-rotation="0" y="153.91"/> + <line x="206.43" y="153.9"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="205.12" x-axis-rotation="0" y="153.34"/> + <line x="206.89" y="147.91"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="209.3" x-axis-rotation="0" y="147.2"/> + <close/> + <move x="220.11" y="141.57"/> + <line x="218.95" y="145.12"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="216.35" x-axis-rotation="0" y="146.07"/> + <line x="209.51" y="146.06"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="207.78" x-axis-rotation="0" y="145.2"/> + <line x="208.81" y="142.05"/> + <line x="207.73" y="141.7"/> + <line x="206.61" y="145.11"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="203.97" x-axis-rotation="0" y="146.06"/> + <line x="198.65" y="146.05"/> + <line x="198.65" y="147.19"/> + <line x="204.17" y="147.19"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="205.73" x-axis-rotation="0" y="147.83"/> + <line x="203.97" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="203.9" x-axis-rotation="0" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="201.37" x-axis-rotation="0" y="153.9"/> + <line x="196.84" y="153.89"/> + <line x="196.84" y="155.03"/> + <line x="201.1" y="155.03"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="203.07" x-axis-rotation="0" y="155.96"/> + <line x="201.5" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="201.4" x-axis-rotation="0" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="198.91" x-axis-rotation="0" y="161.44"/> + <line x="195.06" y="161.43"/> + <line x="195.06" y="162.57"/> + <line x="198.58" y="162.57"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="200.6" x-axis-rotation="0" y="163.53"/> + <line x="199.74" y="166.16"/> + <line x="200.82" y="166.51"/> + <line x="201.78" y="163.57"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="204.21" x-axis-rotation="0" y="162.57"/> + <line x="211.03" y="162.58"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="212.94" x-axis-rotation="0" y="163.51"/> + <line x="212.12" y="166.03"/> + <line x="213.2" y="166.38"/> + <line x="214.12" y="163.57"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="216.65" x-axis-rotation="0" y="162.59"/> + <line x="223.56" y="162.6"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="225.31" x-axis-rotation="0" y="163.49"/> + <line x="224.44" y="166.14"/> + <line x="225.52" y="166.49"/> + <line x="226.47" y="163.58"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="229.16" x-axis-rotation="0" y="162.6"/> + <line x="233.53" y="162.61"/> + <line x="233.53" y="161.47"/> + <line x="228.89" y="161.47"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="227.36" x-axis-rotation="0" y="160.86"/> + <line x="228.94" y="156.01"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="231.66" x-axis-rotation="0" y="155.06"/> + <line x="235.31" y="155.07"/> + <line x="235.31" y="153.93"/> + <line x="231.44" y="153.93"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="229.83" x-axis-rotation="0" y="153.29"/> + <line x="231.59" y="147.91"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="231.74" x-axis-rotation="0" y="147.92"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="234.28" x-axis-rotation="0" y="147.22"/> + <line x="237.12" y="147.22"/> + <line x="237.12" y="146.09"/> + <line x="234.54" y="146.09"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="232.49" x-axis-rotation="0" y="145.16"/> + <line x="233.51" y="142.03"/> + <line x="232.43" y="141.68"/> + <line x="231.31" y="145.13"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="228.95" x-axis-rotation="0" y="146.08"/> + <line x="221.91" y="146.07"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="220.12" x-axis-rotation="0" y="145.2"/> + <line x="221.19" y="141.92"/> + <close/> + <move x="36.55" y="155.05"/> + <line x="43.54" y="155.06"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="45.22" x-axis-rotation="0" y="155.91"/> + <line x="43.63" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="41.28" x-axis-rotation="0" y="161.46"/> + <line x="33.79" y="161.45"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="32.43" x-axis-rotation="0" y="160.89"/> + <line x="34.02" y="156.01"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="36.55" x-axis-rotation="0" y="155.05"/> + <close/> + <move x="24.13" y="155.04"/> + <line x="30.97" y="155.04"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="32.85" x-axis-rotation="0" y="155.94"/> + <line x="31.27" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="28.78" x-axis-rotation="0" y="161.45"/> + <line x="21.33" y="161.44"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="20.08" x-axis-rotation="0" y="160.91"/> + <line x="21.69" y="156"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="24.13" x-axis-rotation="0" y="155.04"/> + <close/> + <move x="39.11" y="147.21"/> + <line x="46.64" y="147.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="47.88" x-axis-rotation="0" y="147.77"/> + <line x="46.1" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="43.77" x-axis-rotation="0" y="153.92"/> + <line x="36.3" y="153.92"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="34.9" x-axis-rotation="0" y="153.32"/> + <line x="36.67" y="147.91"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="39.11" x-axis-rotation="0" y="147.21"/> + <close/> + <move x="26.74" y="147.2"/> + <line x="34.01" y="147.2"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="35.51" x-axis-rotation="0" y="147.82"/> + <line x="33.74" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="31.22" x-axis-rotation="0" y="153.91"/> + <line x="23.86" y="153.9"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="22.56" x-axis-rotation="0" y="153.34"/> + <line x="24.33" y="147.91"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="26.74" x-axis-rotation="0" y="147.2"/> + <close/> + <move x="37.55" y="141.57"/> + <line x="36.39" y="145.12"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="33.78" x-axis-rotation="0" y="146.07"/> + <line x="26.95" y="146.06"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="25.21" x-axis-rotation="0" y="145.2"/> + <line x="26.24" y="142.05"/> + <line x="25.17" y="141.7"/> + <line x="24.05" y="145.11"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="21.4" x-axis-rotation="0" y="146.06"/> + <line x="16.09" y="146.05"/> + <line x="16.09" y="147.19"/> + <line x="21.61" y="147.19"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="23.16" x-axis-rotation="0" y="147.83"/> + <line x="21.41" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="21.33" x-axis-rotation="0" y="153.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="18.81" x-axis-rotation="0" y="153.9"/> + <line x="14.28" y="153.89"/> + <line x="14.28" y="155.03"/> + <line x="18.54" y="155.03"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="20.51" x-axis-rotation="0" y="155.96"/> + <line x="18.93" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="18.83" x-axis-rotation="0" y="160.78"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="16.35" x-axis-rotation="0" y="161.44"/> + <line x="12.5" y="161.43"/> + <line x="12.5" y="162.57"/> + <line x="16.01" y="162.57"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="18.04" x-axis-rotation="0" y="163.53"/> + <line x="17.18" y="166.16"/> + <line x="18.25" y="166.51"/> + <line x="19.22" y="163.57"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="21.65" x-axis-rotation="0" y="162.57"/> + <line x="28.47" y="162.58"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="30.38" x-axis-rotation="0" y="163.51"/> + <line x="29.56" y="166.03"/> + <line x="30.63" y="166.38"/> + <line x="31.55" y="163.57"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="34.09" x-axis-rotation="0" y="162.59"/> + <line x="41" y="162.6"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="42.75" x-axis-rotation="0" y="163.49"/> + <line x="41.88" y="166.14"/> + <line x="42.96" y="166.49"/> + <line x="43.91" y="163.58"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="46.6" x-axis-rotation="0" y="162.6"/> + <line x="50.97" y="162.61"/> + <line x="50.97" y="161.47"/> + <line x="46.32" y="161.47"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="44.8" x-axis-rotation="0" y="160.86"/> + <line x="46.38" y="156.01"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="49.1" x-axis-rotation="0" y="155.06"/> + <line x="52.75" y="155.07"/> + <line x="52.75" y="153.93"/> + <line x="48.88" y="153.93"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="47.27" x-axis-rotation="0" y="153.29"/> + <line x="49.03" y="147.91"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="49.18" x-axis-rotation="0" y="147.92"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="51.71" x-axis-rotation="0" y="147.22"/> + <line x="54.56" y="147.22"/> + <line x="54.56" y="146.09"/> + <line x="51.97" y="146.09"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="49.92" x-axis-rotation="0" y="145.16"/> + <line x="50.95" y="142.03"/> + <line x="49.87" y="141.68"/> + <line x="48.74" y="145.13"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="46.39" x-axis-rotation="0" y="146.08"/> + <line x="39.35" y="146.07"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="37.55" x-axis-rotation="0" y="145.2"/> + <line x="38.62" y="141.92"/> + <close/> + <move x="210.58" y="97.96"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="215.25" x-axis-rotation="0" y="102.7"/> + <curve x1="212.76" x2="210.41" x3="208.4" y1="104.85" y2="106.63" y3="107.9"/> + <curve x1="206.81" x2="205.43" x3="204.44" y1="108.91" y2="109.6" y3="109.91"/> + <curve x1="203.94" x2="203.55" x3="203.31" y1="110.07" y2="110.13" y3="110.12"/> + <curve x1="203.07" x2="203.04" x3="203.03" y1="110.11" y2="110.07" y3="110.06"/> + <curve x1="203.03" x2="202.98" x3="202.98" y1="110.06" y2="110.02" y3="109.78"/> + <curve x1="202.97" x2="203.04" x3="203.2" y1="109.55" y2="109.15" y3="108.66"/> + <curve x1="203.53" x2="204.24" x3="205.27" y1="107.67" y2="106.3" y3="104.73"/> + <curve x1="206.58" x2="208.39" x3="210.58" y1="102.74" y2="100.41" y3="97.96"/> + <close/> + <move x="223.8" y="97.95"/> + <curve x1="225.99" x2="227.81" x3="229.11" y1="100.41" y2="102.74" y3="104.73"/> + <curve x1="230.15" x2="230.86" x3="231.18" y1="106.3" y2="107.67" y3="108.66"/> + <curve x1="231.35" x2="231.41" x3="231.41" y1="109.15" y2="109.55" y3="109.78"/> + <curve x1="231.4" x2="231.36" x3="231.35" y1="110.02" y2="110.06" y3="110.06"/> + <curve x1="231.35" x2="231.31" x3="231.08" y1="110.07" y2="110.11" y3="110.12"/> + <curve x1="230.84" x2="230.44" x3="229.95" y1="110.13" y2="110.07" y3="109.91"/> + <curve x1="228.95" x2="227.57" x3="225.99" y1="109.6" y2="108.91" y3="107.91"/> + <curve x1="223.98" x2="221.62" x3="219.13" y1="106.63" y2="104.85" y3="102.7"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="223.8" x-axis-rotation="0" y="97.95"/> + <close/> + <move x="203.31" y="82.11"/> + <curve x1="203.55" x2="203.94" x3="204.44" y1="82.1" y2="82.16" y3="82.32"/> + <curve x1="205.43" x2="206.81" x3="208.4" y1="82.63" y2="83.32" y3="84.33"/> + <curve x1="210.41" x2="212.77" x3="215.25" y1="85.6" y2="87.38" y3="89.53"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="210.58" x-axis-rotation="0" y="94.28"/> + <curve x1="208.39" x2="206.58" x3="205.27" y1="91.83" y2="89.5" y3="87.51"/> + <curve x1="204.24" x2="203.53" x3="203.2" y1="85.93" y2="84.57" y3="83.58"/> + <curve x1="203.04" x2="202.97" x3="202.98" y1="83.08" y2="82.69" y3="82.45"/> + <curve x1="202.98" x2="203.03" x3="203.03" y1="82.21" y2="82.18" y3="82.17"/> + <curve x1="203.04" x2="203.07" x3="203.31" y1="82.17" y2="82.12" y3="82.11"/> + <close/> + <move x="231.08" y="82.11"/> + <curve x1="231.31" x2="231.35" x3="231.35" y1="82.12" y2="82.17" y3="82.17"/> + <curve x1="231.36" x2="231.4" x3="231.41" y1="82.18" y2="82.21" y3="82.45"/> + <curve x1="231.41" x2="231.35" x3="231.18" y1="82.69" y2="83.08" y3="83.58"/> + <curve x1="230.86" x2="230.14" x3="229.11" y1="84.57" y2="85.93" y3="87.5"/> + <curve x1="227.81" x2="226" x3="223.81" y1="89.49" y2="91.82" y3="94.28"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="219.13" x-axis-rotation="0" y="89.53"/> + <curve x1="221.62" x2="223.98" x3="225.99" y1="87.38" y2="85.6" y3="84.33"/> + <curve x1="227.57" x2="228.95" x3="229.95" y1="83.32" y2="82.63" y3="82.32"/> + <curve x1="230.44" x2="230.84" x3="231.08" y1="82.16" y2="82.11" y3="82.11"/> + <close/> + <move x="217.26" y="77.13"/> + <line x="213.7" y="80.54"/> + <line x="216.22" y="80.54"/> + <line x="216.22" y="87.79"/> + <curve x1="213.79" x2="211.48" x3="209.44" y1="85.71" y2="83.97" y3="82.68"/> + <curve x1="207.77" x2="206.29" x3="205.03" y1="81.62" y2="80.86" y3="80.46"/> + <curve x1="204.39" x2="203.81" x3="203.24" y1="80.26" y2="80.15" y3="80.17"/> + <curve x1="202.67" x2="202.08" x3="201.64" y1="80.18" y2="80.37" y3="80.8"/> + <curve x1="201.21" x2="201.04" x3="201.03" y1="81.24" y2="81.84" y3="82.41"/> + <curve x1="201.02" x2="201.14" x3="201.35" y1="82.98" y2="83.56" y3="84.19"/> + <curve x1="201.77" x2="202.55" x3="203.64" y1="85.45" y2="86.92" y3="88.57"/> + <curve x1="204.94" x2="206.67" x3="208.74" y1="90.55" y2="92.79" y3="95.15"/> + <line x="201.62" y="95.15"/> + <line x="201.62" y="92.62"/> + <line x="198.21" y="96.19"/> + <line x="201.62" y="99.61"/> + <line x="201.62" y="97.27"/> + <line x="208.58" y="97.27"/> + <curve x1="206.58" x2="204.9" x3="203.64" y1="99.56" y2="101.73" y3="103.66"/> + <curve x1="202.55" x2="201.77" x3="201.35" y1="105.32" y2="106.78" y3="108.04"/> + <curve x1="201.14" x2="201.02" x3="201.03" y1="108.67" y2="109.25" y3="109.82"/> + <curve x1="201.04" x2="201.21" x3="201.64" y1="110.39" y2="110.99" y3="111.43"/> + <curve x1="202.08" x2="202.67" x3="203.24" y1="111.87" y2="112.05" y3="112.07"/> + <curve x1="203.81" x2="204.39" x3="205.03" y1="112.09" y2="111.97" y3="111.77"/> + <curve x1="206.29" x2="207.77" x3="209.44" y1="111.37" y2="110.61" y3="109.55"/> + <curve x1="211.48" x2="213.79" x3="216.22" y1="108.26" y2="106.52" y3="104.44"/> + <line x="216.22" y="111.69"/> + <line x="213.7" y="111.69"/> + <line x="217.26" y="115.1"/> + <line x="220.69" y="111.69"/> + <line x="218.35" y="111.69"/> + <line x="218.35" y="104.6"/> + <curve x1="220.71" x2="222.96" x3="224.94" y1="106.61" y2="108.29" y3="109.55"/> + <curve x1="226.62" x2="228.09" x3="229.36" y1="110.61" y2="111.37" y3="111.77"/> + <curve x1="229.99" x2="230.57" x3="231.14" y1="111.97" y2="112.09" y3="112.07"/> + <curve x1="231.71" x2="232.31" x3="232.74" y1="112.05" y2="111.87" y3="111.43"/> + <curve x1="233.18" x2="233.35" x3="233.36" y1="110.99" y2="110.39" y3="109.82"/> + <curve x1="233.37" x2="233.24" x3="233.03" y1="109.25" y2="108.67" y3="108.04"/> + <curve x1="232.62" x2="231.83" x3="230.74" y1="106.78" y2="105.32" y3="103.66"/> + <curve x1="229.48" x2="227.8" x3="225.81" y1="101.73" y2="99.56" y3="97.27"/> + <line x="232.77" y="97.27"/> + <line x="232.77" y="99.61"/> + <line x="236.18" y="96.19"/> + <line x="232.77" y="92.62"/> + <line x="232.77" y="95.15"/> + <line x="225.64" y="95.15"/> + <curve x1="227.71" x2="229.45" x3="230.74" y1="92.79" y2="90.55" y3="88.57"/> + <curve x1="231.83" x2="232.62" x3="233.03" y1="86.92" y2="85.45" y3="84.19"/> + <curve x1="233.24" x2="233.37" x3="233.36" y1="83.56" y2="82.98" y3="82.41"/> + <curve x1="233.35" x2="233.17" x3="232.74" y1="81.84" y2="81.24" y3="80.8"/> + <curve x1="232.31" x2="231.71" x3="231.14" y1="80.37" y2="80.18" y3="80.17"/> + <curve x1="230.57" x2="229.99" x3="229.36" y1="80.15" y2="80.26" y3="80.46"/> + <curve x1="228.09" x2="226.62" x3="224.94" y1="80.86" y2="81.62" y3="82.68"/> + <curve x1="222.96" x2="220.71" x3="218.35" y1="83.94" y2="85.63" y3="87.64"/> + <line x="218.35" y="80.54"/> + <line x="220.69" y="80.54"/> + <close/> + <move x="26.53" y="97.96"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="31.21" x-axis-rotation="0" y="102.7"/> + <curve x1="28.72" x2="26.36" x3="24.35" y1="104.85" y2="106.63" y3="107.9"/> + <curve x1="22.76" x2="21.38" x3="20.39" y1="108.91" y2="109.6" y3="109.91"/> + <curve x1="19.9" x2="19.5" x3="19.26" y1="110.07" y2="110.13" y3="110.12"/> + <curve x1="19.02" x2="18.99" x3="18.98" y1="110.11" y2="110.07" y3="110.06"/> + <curve x1="18.98" x2="18.93" x3="18.93" y1="110.06" y2="110.02" y3="109.78"/> + <curve x1="18.92" x2="18.99" x3="19.15" y1="109.55" y2="109.15" y3="108.66"/> + <curve x1="19.48" x2="20.19" x3="21.22" y1="107.67" y2="106.3" y3="104.73"/> + <curve x1="22.53" x2="24.34" x3="26.53" y1="102.74" y2="100.41" y3="97.96"/> + <close/> + <move x="39.76" y="97.95"/> + <curve x1="41.94" x2="43.76" x3="45.07" y1="100.41" y2="102.74" y3="104.73"/> + <curve x1="46.1" x2="46.81" x3="47.14" y1="106.3" y2="107.67" y3="108.66"/> + <curve x1="47.3" x2="47.36" x3="47.36" y1="109.15" y2="109.55" y3="109.78"/> + <curve x1="47.36" x2="47.31" x3="47.31" y1="110.02" y2="110.06" y3="110.06"/> + <curve x1="47.3" x2="47.27" x3="47.03" y1="110.07" y2="110.11" y3="110.12"/> + <curve x1="46.79" x2="46.39" x3="45.9" y1="110.13" y2="110.07" y3="109.91"/> + <curve x1="44.9" x2="43.53" x3="41.94" y1="109.6" y2="108.91" y3="107.91"/> + <curve x1="39.93" x2="37.57" x3="35.08" y1="106.63" y2="104.85" y3="102.7"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="39.76" x-axis-rotation="0" y="97.95"/> + <close/> + <move x="19.26" y="82.11"/> + <curve x1="19.5" x2="19.9" x3="20.39" y1="82.1" y2="82.16" y3="82.32"/> + <curve x1="21.38" x2="22.76" x3="24.35" y1="82.63" y2="83.32" y3="84.33"/> + <curve x1="26.36" x2="28.72" x3="31.21" y1="85.6" y2="87.38" y3="89.53"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="26.53" x-axis-rotation="0" y="94.28"/> + <curve x1="24.34" x2="22.53" x3="21.22" y1="91.83" y2="89.5" y3="87.51"/> + <curve x1="20.19" x2="19.48" x3="19.15" y1="85.93" y2="84.57" y3="83.58"/> + <curve x1="18.99" x2="18.92" x3="18.93" y1="83.08" y2="82.69" y3="82.45"/> + <curve x1="18.93" x2="18.98" x3="18.98" y1="82.21" y2="82.18" y3="82.17"/> + <curve x1="18.99" x2="19.02" x3="19.26" y1="82.17" y2="82.12" y3="82.11"/> + <close/> + <move x="47.03" y="82.11"/> + <curve x1="47.27" x2="47.3" x3="47.31" y1="82.12" y2="82.17" y3="82.17"/> + <curve x1="47.31" x2="47.36" x3="47.36" y1="82.18" y2="82.21" y3="82.45"/> + <curve x1="47.36" x2="47.3" x3="47.14" y1="82.69" y2="83.08" y3="83.58"/> + <curve x1="46.81" x2="46.1" x3="45.07" y1="84.57" y2="85.93" y3="87.5"/> + <curve x1="43.76" x2="41.95" x3="39.76" y1="89.49" y2="91.82" y3="94.28"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="0" x="35.08" x-axis-rotation="0" y="89.53"/> + <curve x1="37.57" x2="39.93" x3="41.94" y1="87.38" y2="85.6" y3="84.33"/> + <curve x1="43.53" x2="44.9" x3="45.9" y1="83.32" y2="82.63" y3="82.32"/> + <curve x1="46.39" x2="46.79" x3="47.03" y1="82.16" y2="82.11" y3="82.11"/> + <close/> + <move x="33.21" y="77.13"/> + <line x="29.65" y="80.54"/> + <line x="32.17" y="80.54"/> + <line x="32.17" y="87.79"/> + <curve x1="29.74" x2="27.43" x3="25.39" y1="85.71" y2="83.97" y3="82.68"/> + <curve x1="23.72" x2="22.25" x3="20.98" y1="81.62" y2="80.86" y3="80.46"/> + <curve x1="20.35" x2="19.76" x3="19.19" y1="80.26" y2="80.15" y3="80.17"/> + <curve x1="18.62" x2="18.03" x3="17.59" y1="80.18" y2="80.37" y3="80.8"/> + <curve x1="17.16" x2="16.99" x3="16.98" y1="81.24" y2="81.84" y3="82.41"/> + <curve x1="16.97" x2="17.09" x3="17.3" y1="82.98" y2="83.56" y3="84.19"/> + <curve x1="17.72" x2="18.51" x3="19.59" y1="85.45" y2="86.92" y3="88.57"/> + <curve x1="20.89" x2="22.63" x3="24.69" y1="90.55" y2="92.79" y3="95.15"/> + <line x="17.57" y="95.15"/> + <line x="17.57" y="92.62"/> + <line x="14.16" y="96.19"/> + <line x="17.57" y="99.61"/> + <line x="17.57" y="97.27"/> + <line x="24.53" y="97.27"/> + <curve x1="22.54" x2="20.86" x3="19.59" y1="99.56" y2="101.73" y3="103.66"/> + <curve x1="18.51" x2="17.72" x3="17.3" y1="105.32" y2="106.78" y3="108.04"/> + <curve x1="17.09" x2="16.97" x3="16.98" y1="108.67" y2="109.25" y3="109.82"/> + <curve x1="16.99" x2="17.16" x3="17.59" y1="110.39" y2="110.99" y3="111.43"/> + <curve x1="18.03" x2="18.62" x3="19.19" y1="111.87" y2="112.05" y3="112.07"/> + <curve x1="19.76" x2="20.35" x3="20.98" y1="112.09" y2="111.97" y3="111.77"/> + <curve x1="22.25" x2="23.72" x3="25.39" y1="111.37" y2="110.61" y3="109.55"/> + <curve x1="27.43" x2="29.74" x3="32.17" y1="108.26" y2="106.52" y3="104.44"/> + <line x="32.17" y="111.69"/> + <line x="29.65" y="111.69"/> + <line x="33.21" y="115.1"/> + <line x="36.64" y="111.69"/> + <line x="34.3" y="111.69"/> + <line x="34.3" y="104.6"/> + <curve x1="36.66" x2="38.91" x3="40.89" y1="106.61" y2="108.29" y3="109.55"/> + <curve x1="42.57" x2="44.04" x3="45.31" y1="110.61" y2="111.37" y3="111.77"/> + <curve x1="45.94" x2="46.53" x3="47.1" y1="111.97" y2="112.09" y3="112.07"/> + <curve x1="47.66" x2="48.26" x3="48.69" y1="112.05" y2="111.87" y3="111.43"/> + <curve x1="49.13" x2="49.3" x3="49.31" y1="110.99" y2="110.39" y3="109.82"/> + <curve x1="49.32" x2="49.2" x3="48.99" y1="109.25" y2="108.67" y3="108.04"/> + <curve x1="48.57" x2="47.78" x3="46.7" y1="106.78" y2="105.32" y3="103.66"/> + <curve x1="45.43" x2="43.75" x3="41.76" y1="101.73" y2="99.56" y3="97.27"/> + <line x="48.72" y="97.27"/> + <line x="48.72" y="99.61"/> + <line x="52.13" y="96.19"/> + <line x="48.72" y="92.62"/> + <line x="48.72" y="95.15"/> + <line x="41.6" y="95.15"/> + <curve x1="43.66" x2="45.4" x3="46.7" y1="92.79" y2="90.55" y3="88.57"/> + <curve x1="47.78" x2="48.57" x3="48.99" y1="86.92" y2="85.45" y3="84.19"/> + <curve x1="49.2" x2="49.32" x3="49.31" y1="83.56" y2="82.98" y3="82.41"/> + <curve x1="49.3" x2="49.13" x3="48.69" y1="81.84" y2="81.24" y3="80.8"/> + <curve x1="48.26" x2="47.66" x3="47.09" y1="80.37" y2="80.18" y3="80.17"/> + <curve x1="46.53" x2="45.94" x3="45.31" y1="80.15" y2="80.26" y3="80.46"/> + <curve x1="44.04" x2="42.57" x3="40.89" y1="80.86" y2="81.62" y3="82.68"/> + <curve x1="38.91" x2="36.66" x3="34.3" y1="83.94" y2="85.63" y3="87.64"/> + <line x="34.3" y="80.54"/> + <line x="36.64" y="80.54"/> + <close/> + <move x="36.59" y="47.35"/> + <line x="43.58" y="47.35"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="45.26" x-axis-rotation="0" y="48.21"/> + <line x="43.67" y="53.08"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="41.32" x-axis-rotation="0" y="53.76"/> + <line x="33.83" y="53.75"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="32.47" x-axis-rotation="0" y="53.19"/> + <line x="34.06" y="48.3"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="36.59" x-axis-rotation="0" y="47.35"/> + <close/> + <move x="24.17" y="47.33"/> + <line x="31.01" y="47.34"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="32.89" x-axis-rotation="0" y="48.24"/> + <line x="31.31" y="53.07"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="28.82" x-axis-rotation="0" y="53.75"/> + <line x="21.37" y="53.74"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="20.12" x-axis-rotation="0" y="53.21"/> + <line x="21.73" y="48.3"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="24.17" x-axis-rotation="0" y="47.33"/> + <close/> + <move x="39.15" y="39.5"/> + <line x="46.68" y="39.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="47.92" x-axis-rotation="0" y="40.06"/> + <line x="46.14" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="43.81" x-axis-rotation="0" y="46.22"/> + <line x="36.34" y="46.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="34.94" x-axis-rotation="0" y="45.62"/> + <line x="36.71" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="39.15" x-axis-rotation="0" y="39.5"/> + <close/> + <move x="26.78" y="39.49"/> + <line x="34.05" y="39.5"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="35.54" x-axis-rotation="0" y="40.12"/> + <line x="33.78" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="31.26" x-axis-rotation="0" y="46.21"/> + <line x="23.9" y="46.2"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="22.6" x-axis-rotation="0" y="45.64"/> + <line x="24.37" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="26.78" x-axis-rotation="0" y="39.49"/> + <close/> + <move x="37.59" y="33.87"/> + <line x="36.43" y="37.41"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="33.82" x-axis-rotation="0" y="38.36"/> + <line x="26.99" y="38.36"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="25.25" x-axis-rotation="0" y="37.5"/> + <line x="26.28" y="34.35"/> + <line x="25.21" y="33.99"/> + <line x="24.09" y="37.41"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="21.44" x-axis-rotation="0" y="38.35"/> + <line x="16.13" y="38.35"/> + <line x="16.13" y="39.48"/> + <line x="21.65" y="39.49"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="23.2" x-axis-rotation="0" y="40.12"/> + <line x="21.45" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="21.37" x-axis-rotation="0" y="45.51"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="18.85" x-axis-rotation="0" y="46.19"/> + <line x="14.32" y="46.19"/> + <line x="14.32" y="47.32"/> + <line x="18.58" y="47.33"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="20.55" x-axis-rotation="0" y="48.25"/> + <line x="18.97" y="53.08"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="18.87" x-axis-rotation="0" y="53.07"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="16.39" x-axis-rotation="0" y="53.73"/> + <line x="12.54" y="53.73"/> + <line x="12.54" y="54.86"/> + <line x="16.05" y="54.86"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="18.08" x-axis-rotation="0" y="55.82"/> + <line x="17.22" y="58.46"/> + <line x="18.29" y="58.81"/> + <line x="19.26" y="55.86"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="21.69" x-axis-rotation="0" y="54.87"/> + <line x="28.51" y="54.88"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="30.42" x-axis-rotation="0" y="55.81"/> + <line x="29.6" y="58.33"/> + <line x="30.67" y="58.68"/> + <line x="31.59" y="55.87"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="34.13" x-axis-rotation="0" y="54.88"/> + <line x="41.04" y="54.89"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="42.79" x-axis-rotation="0" y="55.78"/> + <line x="41.92" y="58.44"/> + <line x="43" y="58.79"/> + <line x="43.95" y="55.88"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="46.64" x-axis-rotation="0" y="54.9"/> + <line x="51.01" y="54.9"/> + <line x="51.01" y="53.77"/> + <line x="46.36" y="53.76"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="44.84" x-axis-rotation="0" y="53.16"/> + <line x="46.42" y="48.31"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="49.14" x-axis-rotation="0" y="47.36"/> + <line x="52.79" y="47.36"/> + <line x="52.79" y="46.23"/> + <line x="48.92" y="46.22"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="47.31" x-axis-rotation="0" y="45.58"/> + <line x="49.07" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="49.22" x-axis-rotation="0" y="40.21"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="51.75" x-axis-rotation="0" y="39.52"/> + <line x="54.6" y="39.52"/> + <line x="54.6" y="38.39"/> + <line x="52.01" y="38.38"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="49.96" x-axis-rotation="0" y="37.46"/> + <line x="50.99" y="34.33"/> + <line x="49.91" y="33.97"/> + <line x="48.78" y="37.43"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="46.43" x-axis-rotation="0" y="38.38"/> + <line x="39.39" y="38.37"/> + <arc large-arc-flag="0" rx="2.94" ry="1.4" sweep-flag="0" x="37.59" x-axis-rotation="0" y="37.49"/> + <line x="38.66" y="34.22"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="224.06" y="96.12"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="217.19" x-axis-rotation="0" y="102.99"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="210.32" x-axis-rotation="0" y="96.12"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="217.19" x-axis-rotation="0" y="89.25"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="224.06" x-axis-rotation="0" y="96.12"/> + <close/> + <move x="40.01" y="96.12"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="33.14" x-axis-rotation="0" y="102.99"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="26.28" x-axis-rotation="0" y="96.12"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="33.14" x-axis-rotation="0" y="89.25"/> + <arc large-arc-flag="0" rx="6.87" ry="6.87" sweep-flag="1" x="40.01" x-axis-rotation="0" y="96.12"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="79.63" name="ucs c series server" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="86.93" y="31.35"/> + <line x="169.91" y="31.35"/> + <line x="169.91" y="47.83"/> + <line x="86.93" y="47.83"/> + <close/> + <move x="35.43" y="41.67"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="0" x="40.89" x-axis-rotation="0" y="47.21"/> + <curve x1="37.99" x2="35.24" x3="32.89" y1="49.72" y2="51.79" y3="53.28"/> + <curve x1="31.04" x2="29.43" x3="28.27" y1="54.46" y2="55.26" y3="55.63"/> + <curve x1="27.69" x2="27.22" x3="26.95" y1="55.81" y2="55.88" y3="55.87"/> + <curve x1="26.67" x2="26.63" x3="26.62" y1="55.86" y2="55.81" y3="55.8"/> + <curve x1="26.62" x2="26.56" x3="26.56" y1="55.8" y2="55.76" y3="55.48"/> + <curve x1="26.55" x2="26.63" x3="26.82" y1="55.2" y2="54.74" y3="54.16"/> + <curve x1="27.2" x2="28.03" x3="29.24" y1="53.01" y2="51.41" y3="49.58"/> + <curve x1="30.76" x2="32.88" x3="35.43" y1="47.25" y2="44.53" y3="41.67"/> + <close/> + <move x="50.88" y="41.66"/> + <curve x1="53.43" x2="55.55" x3="57.08" y1="44.53" y2="47.25" y3="49.58"/> + <curve x1="58.28" x2="59.11" x3="59.5" y1="51.41" y2="53.01" y3="54.16"/> + <curve x1="59.69" x2="59.76" x3="59.76" y1="54.74" y2="55.2" y3="55.48"/> + <curve x1="59.75" x2="59.7" x3="59.69" y1="55.76" y2="55.8" y3="55.8"/> + <curve x1="59.69" x2="59.65" x3="59.37" y1="55.81" y2="55.86" y3="55.87"/> + <curve x1="59.09" x2="58.63" x3="58.05" y1="55.88" y2="55.81" y3="55.63"/> + <curve x1="56.89" x2="55.28" x3="53.43" y1="55.26" y2="54.46" y3="53.28"/> + <curve x1="51.08" x2="48.33" x3="45.42" y1="51.8" y2="49.72" y3="47.21"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="0" x="50.88" x-axis-rotation="0" y="41.66"/> + <close/> + <move x="26.95" y="23.17"/> + <curve x1="27.22" x2="27.69" x3="28.27" y1="23.16" y2="23.22" y3="23.41"/> + <curve x1="29.43" x2="31.04" x3="32.89" y1="23.77" y2="24.58" y3="25.75"/> + <curve x1="35.24" x2="37.99" x3="40.9" y1="27.24" y2="29.32" y3="31.83"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="0" x="35.44" x-axis-rotation="0" y="37.38"/> + <curve x1="32.88" x2="30.76" x3="29.24" y1="34.51" y2="31.79" y3="29.46"/> + <curve x1="28.03" x2="27.2" x3="26.82" y1="27.63" y2="26.03" y3="24.88"/> + <curve x1="26.63" x2="26.55" x3="26.56" y1="24.3" y2="23.84" y3="23.56"/> + <curve x1="26.56" x2="26.62" x3="26.62" y1="23.28" y2="23.24" y3="23.23"/> + <curve x1="26.63" x2="26.67" x3="26.95" y1="23.23" y2="23.18" y3="23.17"/> + <close/> + <move x="59.37" y="23.17"/> + <curve x1="59.65" x2="59.69" x3="59.69" y1="23.18" y2="23.23" y3="23.23"/> + <curve x1="59.7" x2="59.75" x3="59.76" y1="23.24" y2="23.28" y3="23.56"/> + <curve x1="59.76" x2="59.69" x3="59.5" y1="23.84" y2="24.3" y3="24.88"/> + <curve x1="59.11" x2="58.28" x3="57.08" y1="26.03" y2="27.63" y3="29.46"/> + <curve x1="55.56" x2="53.44" x3="50.89" y1="31.79" y2="34.5" y3="37.37"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="0" x="45.42" x-axis-rotation="0" y="31.83"/> + <curve x1="48.33" x2="51.08" x3="53.43" y1="29.32" y2="27.24" y3="25.75"/> + <curve x1="55.28" x2="56.89" x3="58.05" y1="24.58" y2="23.77" y3="23.41"/> + <curve x1="58.63" x2="59.09" x3="59.37" y1="23.22" y2="23.16" y3="23.17"/> + <close/> + <move x="43.24" y="17.35"/> + <line x="39.08" y="21.33"/> + <line x="42.02" y="21.33"/> + <line x="42.02" y="29.8"/> + <curve x1="39.19" x2="36.48" x3="34.11" y1="27.37" y2="25.34" y3="23.83"/> + <curve x1="32.16" x2="30.43" x3="28.95" y1="22.59" y2="21.7" y3="21.24"/> + <curve x1="28.21" x2="27.53" x3="26.87" y1="21" y2="20.87" y3="20.89"/> + <curve x1="26.2" x2="25.51" x3="25" y1="20.91" y2="21.13" y3="21.64"/> + <curve x1="24.5" x2="24.3" x3="24.28" y1="22.15" y2="22.85" y3="23.52"/> + <curve x1="24.27" x2="24.41" x3="24.66" y1="24.18" y2="24.86" y3="25.59"/> + <curve x1="25.15" x2="26.07" x3="27.33" y1="27.07" y2="28.78" y3="30.71"/> + <curve x1="28.85" x2="30.88" x3="33.29" y1="33.02" y2="35.64" y3="38.38"/> + <line x="24.97" y="38.38"/> + <line x="24.97" y="35.44"/> + <line x="20.99" y="39.6"/> + <line x="24.97" y="43.6"/> + <line x="24.97" y="40.87"/> + <line x="33.1" y="40.87"/> + <curve x1="30.77" x2="28.81" x3="27.33" y1="43.54" y2="46.08" y3="48.33"/> + <curve x1="26.07" x2="25.15" x3="24.66" y1="50.26" y2="51.97" y3="53.44"/> + <curve x1="24.42" x2="24.27" x3="24.28" y1="54.18" y2="54.86" y3="55.52"/> + <curve x1="24.3" x2="24.5" x3="25" y1="56.19" y2="56.89" y3="57.4"/> + <curve x1="25.51" x2="26.2" x3="26.87" y1="57.91" y2="58.12" y3="58.15"/> + <curve x1="27.53" x2="28.21" x3="28.95" y1="58.17" y2="58.03" y3="57.8"/> + <curve x1="30.43" x2="32.16" x3="34.11" y1="57.33" y2="56.44" y3="55.21"/> + <curve x1="36.48" x2="39.19" x3="42.02" y1="53.7" y2="51.67" y3="49.24"/> + <line x="42.02" y="57.71"/> + <line x="39.08" y="57.71"/> + <line x="43.24" y="61.69"/> + <line x="47.24" y="57.71"/> + <line x="44.51" y="57.71"/> + <line x="44.51" y="49.42"/> + <curve x1="47.27" x2="49.89" x3="52.21" y1="51.77" y2="53.74" y3="55.21"/> + <curve x1="54.16" x2="55.89" x3="57.36" y1="56.45" y2="57.33" y3="57.8"/> + <curve x1="58.1" x2="58.79" x3="59.45" y1="58.04" y2="58.17" y3="58.15"/> + <curve x1="60.11" x2="60.81" x3="61.32" y1="58.12" y2="57.91" y3="57.4"/> + <curve x1="61.82" x2="62.02" x3="62.03" y1="56.89" y2="56.19" y3="55.52"/> + <curve x1="62.05" x2="61.9" x3="61.66" y1="54.86" y2="54.18" y3="53.44"/> + <curve x1="61.17" x2="60.25" x3="58.98" y1="51.97" y2="50.26" y3="48.33"/> + <curve x1="57.51" x2="55.55" x3="53.22" y1="46.08" y2="43.54" y3="40.87"/> + <line x="61.35" y="40.87"/> + <line x="61.35" y="43.6"/> + <line x="65.33" y="39.6"/> + <line x="61.35" y="35.44"/> + <line x="61.35" y="38.38"/> + <line x="53.03" y="38.38"/> + <curve x1="55.44" x2="57.47" x3="58.98" y1="35.64" y2="33.02" y3="30.71"/> + <curve x1="60.25" x2="61.17" x3="61.66" y1="28.78" y2="27.07" y3="25.6"/> + <curve x1="61.9" x2="62.05" x3="62.03" y1="24.86" y2="24.18" y3="23.52"/> + <curve x1="62.02" x2="61.82" x3="61.32" y1="22.85" y2="22.15" y3="21.64"/> + <curve x1="60.81" x2="60.11" x3="59.45" y1="21.12" y2="20.91" y3="20.89"/> + <curve x1="58.78" x2="58.1" x3="57.36" y1="20.87" y2="21" y3="21.24"/> + <curve x1="55.89" x2="54.16" x3="52.21" y1="21.7" y2="22.59" y3="23.83"/> + <curve x1="49.89" x2="47.27" x3="44.51" y1="25.3" y2="27.27" y3="29.61"/> + <line x="44.51" y="21.33"/> + <line x="47.24" y="21.33"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="67.91"/> + <curve x1="0" x2="5.27" x3="11.72" y1="74.36" y2="79.63" y3="79.63"/> + <line x="179.27" y="79.63"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="79.63" y2="74.36" y3="67.91"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="67.91"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="71.52" y2="74.34" y3="74.34"/> + <line x="11.72" y="74.34"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="74.34" y2="71.52" y3="67.91"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <alpha alpha="0.5"/> + <path> + <move x="51.18" y="39.52"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="1" x="43.16" x-axis-rotation="0" y="47.54"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="1" x="35.14" x-axis-rotation="0" y="39.52"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="1" x="43.16" x-axis-rotation="0" y="31.5"/> + <arc large-arc-flag="0" rx="8.02" ry="8.02" sweep-flag="1" x="51.18" x-axis-rotation="0" y="39.52"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="744.45" name="ucs express" strokewidth="inherit" w="744.45"> + <connections/> + <foreground> + <path> + <move x="292.65" y="521.53"/> + <line x="292.65" y="527.2"/> + <line x="292.65" y="571.21"/> + <line x="257.08" y="571.21"/> + <line x="257.08" y="543.81"/> + <line x="195.97" y="585.86"/> + <line x="257.08" y="624.87"/> + <line x="257.08" y="600.5"/> + <line x="292.65" y="600.5"/> + <line x="292.65" y="648.84"/> + <line x="477.85" y="648.84"/> + <line x="477.85" y="600.33"/> + <line x="513.58" y="600.33"/> + <line x="513.58" y="624.7"/> + <line x="574.7" y="585.68"/> + <line x="513.58" y="543.63"/> + <line x="513.58" y="571.03"/> + <line x="477.85" y="571.03"/> + <line x="477.85" y="521.53"/> + <close/> + <move x="303.99" y="532.87"/> + <line x="466.51" y="532.87"/> + <line x="466.51" y="637.5"/> + <line x="303.99" y="637.5"/> + <close/> + <move x="328.31" y="547.1"/> + <line x="328.31" y="558.44"/> + <line x="440.44" y="558.44"/> + <line x="440.44" y="547.1"/> + <close/> + <move x="328.31" y="579.37"/> + <line x="328.31" y="590.71"/> + <line x="440.44" y="590.71"/> + <line x="440.44" y="579.37"/> + <close/> + <move x="328.31" y="611.63"/> + <line x="328.31" y="622.97"/> + <line x="440.44" y="622.97"/> + <line x="440.44" y="611.63"/> + <close/> + <move x="372.22" y="9.45"/> + <curve x1="572.64" x2="735" x3="735" y1="9.45" y2="171.81" y3="372.22"/> + <curve x1="735" x2="572.64" x3="372.22" y1="572.64" y2="735" y3="735"/> + <curve x1="171.81" x2="9.45" x3="9.45" y1="735" y2="572.64" y3="372.22"/> + <curve x1="9.45" x2="171.81" x3="372.22" y1="171.81" y2="9.45" y3="9.45"/> + <close/> + <move x="372.22" y="0"/> + <curve x1="166.71" x2="0" x3="0" y1="0" y2="166.71" y3="372.22"/> + <curve x1="0" x2="166.71" x3="372.22" y1="577.74" y2="744.45" y3="744.45"/> + <curve x1="577.74" x2="744.45" x3="744.45" y1="744.45" y2="577.74" y3="372.22"/> + <curve x1="744.45" x2="577.74" x3="372.22" y1="166.71" y2="0" y3="0"/> + <close/> + <move x="385.89" y="249.81"/> + <line x="467.7" y="166.4"/> + <line x="433.08" y="132.45"/> + <line x="557.91" y="106.49"/> + <line x="534.75" y="232.15"/> + <line x="500.44" y="198.51"/> + <line x="418.64" y="281.92"/> + <close/> + <move x="202.14" y="92.02"/> + <line x="285.56" y="173.83"/> + <line x="319.51" y="139.21"/> + <line x="345.47" y="264.03"/> + <line x="219.81" y="240.88"/> + <line x="253.45" y="206.57"/> + <line x="170.03" y="124.76"/> + <close/> + <move x="359.62" y="340.64"/> + <line x="277.81" y="424.06"/> + <line x="312.43" y="458.01"/> + <line x="187.6" y="483.96"/> + <line x="210.76" y="358.3"/> + <line x="245.07" y="391.95"/> + <line x="326.87" y="308.53"/> + <close/> + <move x="546.8" y="499.38"/> + <line x="463.38" y="417.57"/> + <line x="429.43" y="452.19"/> + <line x="403.48" y="327.37"/> + <line x="529.14" y="350.52"/> + <line x="495.49" y="384.83"/> + <line x="578.91" y="466.63"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="unity" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="94.48" y="50.41"/> + <curve x1="119.69" x2="140.06" x3="140.06" y1="50.41" y2="70.78" y3="95.99"/> + <curve x1="140.06" x2="119.69" x3="94.48" y1="121.2" y2="141.57" y3="141.57"/> + <curve x1="69.26" x2="48.89" x3="48.89" y1="141.57" y2="121.2" y3="95.99"/> + <curve x1="48.89" x2="69.26" x3="94.48" y1="70.78" y2="50.41" y3="50.41"/> + <close/> + <move x="79.22" y="77.92"/> + <line x="79.22" y="104.41"/> + <curve x1="79.22" x2="81.06" x3="84.01" y1="109.14" y2="113.21" y3="115.8"/> + <curve x1="86.95" x2="90.74" x3="94.47" y1="118.4" y2="119.52" y3="119.52"/> + <curve x1="98.4" x2="102.28" x3="105.3" y1="119.52" y2="118.29" y3="115.7"/> + <curve x1="108.32" x2="110.31" x3="110.31" y1="113.11" y2="109.06" y3="104.41"/> + <line x="110.31" y="77.92"/> + <line x="102.31" y="77.92"/> + <line x="102.31" y="104.41"/> + <curve x1="102.31" x2="101.45" x3="100.09" y1="106.94" y2="108.45" y3="109.62"/> + <curve x1="98.72" x2="96.69" x3="94.47" y1="110.79" y2="111.52" y3="111.52"/> + <curve x1="92.35" x2="90.51" x3="89.29" y1="111.52" y2="110.88" y3="109.8"/> + <curve x1="88.07" x2="87.22" x3="87.22" y1="108.73" y2="107.24" y3="104.41"/> + <line x="87.22" y="77.92"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="45.54" y="23.83"/> + <line x="30.11" y="43.33"/> + <line x="60.98" y="43.33"/> + <close/> + <move x="148.24" y="31.32"/> + <line x="148.24" y="62.18"/> + <line x="167.74" y="46.75"/> + <close/> + <move x="94.49" y="43.56"/> + <line x="94.49" y="43.61"/> + <curve x1="94.48" x2="94.48" x3="94.48" y1="43.61" y2="43.61" y3="43.61"/> + <curve x1="74.84" x2="57.7" x3="48.73" y1="43.61" y2="54.46" y3="70.49"/> + <line x="48.73" y="45.68"/> + <line x="42.35" y="45.68"/> + <line x="42.35" y="90.74"/> + <curve x1="42.18" x2="42.09" x3="42.09" y1="92.47" y2="94.22" y3="95.99"/> + <curve x1="42.09" x2="53.08" x3="69.26" y1="115.75" y2="132.98" y3="141.9"/> + <line x="44.09" y="141.9"/> + <line x="44.09" y="148.28"/> + <line x="91.29" y="148.28"/> + <curve x1="92.34" x2="93.41" x3="94.48" y1="148.34" y2="148.38" y3="148.38"/> + <curve x1="114.27" x2="131.52" x3="140.43" y1="148.38" y2="137.35" y3="121.12"/> + <line x="140.43" y="146.37"/> + <line x="146.81" y="146.37"/> + <line x="146.81" y="98.3"/> + <curve x1="146.84" x2="146.86" x3="146.86" y1="97.53" y2="96.76" y3="95.99"/> + <curve x1="146.86" x2="135.76" x3="119.44" y1="76.13" y2="58.82" y3="49.94"/> + <line x="145.89" y="49.94"/> + <line x="145.89" y="43.56"/> + <close/> + <move x="41.74" y="129.65"/> + <line x="22.24" y="145.09"/> + <line x="41.74" y="160.52"/> + <close/> + <move x="128.19" y="148.72"/> + <line x="143.62" y="168.22"/> + <line x="159.05" y="148.72"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.61" name="upc unified personal communicator" strokewidth="inherit" w="220.46"> + <connections/> + <foreground> + <path> + <move x="111.78" y="93.18"/> + <line x="134.21" y="84.43"/> + <line x="123.96" y="79.24"/> + <curve x1="127.04" x2="130.36" x3="134.48" y1="73.26" y2="68.28" y3="63.96"/> + <line x="128.69" y="58.44"/> + <curve x1="123.91" x2="120.16" x3="116.82" y1="63.45" y2="69.14" y3="75.62"/> + <line x="107.39" y="70.85"/> + <close/> + <move x="106.13" y="102.69"/> + <line x="87.47" y="87.48"/> + <line x="88" y="98.97"/> + <curve x1="81.27" x2="75.31" x3="69.52" y1="99.23" y2="98.8" y3="97.34"/> + <line x="67.57" y="105.1"/> + <curve x1="74.28" x2="81.08" x3="88.37" y1="106.79" y2="107.24" y3="106.96"/> + <line x="88.86" y="117.51"/> + <close/> + <move x="114.66" y="103.93"/> + <line x="116.28" y="127.95"/> + <line x="124.31" y="119.72"/> + <curve x1="129.09" x2="132.84" x3="135.73" y1="124.46" y2="129.11" y3="134.34"/> + <line x="142.73" y="130.47"/> + <curve x1="139.38" x2="135.08" x3="129.9" y1="124.41" y2="119.13" y3="114"/> + <line x="137.28" y="106.44"/> + <close/> + <move x="72.96" y="177.39"/> + <line x="80.61" y="164.29"/> + <line x="140.11" y="164.29"/> + <line x="147.79" y="177.39"/> + <line x="127.94" y="177.39"/> + <line x="127.94" y="179.69"/> + <curve x1="127.94" x2="125.69" x3="123.23" y1="182.06" y2="184.69" y3="184.69"/> + <line x="96.85" y="184.69"/> + <curve x1="94.33" x2="92.36" x3="92.36" y1="184.69" y2="182.1" y3="179.81"/> + <line x="92.36" y="177.39"/> + <close/> + <move x="37.11" y="52.15"/> + <line x="183.01" y="52.15"/> + <line x="183.01" y="140.16"/> + <line x="37.11" y="140.16"/> + <close/> + <move x="98.42" y="16.51"/> + <line x="121.93" y="16.51"/> + <line x="121.93" y="12.37"/> + <line x="98.42" y="12.37"/> + <close/> + <move x="126.78" y="16.43"/> + <curve x1="126.78" x2="119.42" x3="110.35" y1="25.5" y2="32.86" y3="32.86"/> + <curve x1="101.28" x2="93.92" x3="93.92" y1="32.86" y2="25.5" y3="16.43"/> + <curve x1="93.92" x2="101.28" x3="110.35" y1="7.35" y2="0" y3="0"/> + <curve x1="119.42" x2="126.78" x3="126.78" y1="0" y2="7.35" y3="16.43"/> + <close/> + <move x="85.62" y="36.75"/> + <line x="90.75" y="20.32"/> + <line x="92.3" y="20.32"/> + <curve x1="94.11" x2="101.6" x3="110.16" y1="30.26" y2="35.58" y3="35.58"/> + <curve x1="119.14" x2="126.39" x3="128.37" y1="35.58" y2="30.02" y3="20.32"/> + <line x="129.7" y="20.32"/> + <line x="135.15" y="36.75"/> + <close/> + <move x="35.08" y="40.62"/> + <curve x1="29.93" x2="25.74" x3="25.74" y1="40.62" y2="44.81" y3="49.96"/> + <line x="25.74" y="142.23"/> + <curve x1="25.74" x2="27.13" x3="29.28" y1="145.19" y2="147.84" y3="149.56"/> + <curve x1="28.54" x2="27.89" x3="27.34" y1="149.94" y2="150.41" y3="150.89"/> + <line x="27.32" y="150.91"/> + <line x="0" y="176.52"/> + <line x="0" y="182.69"/> + <curve x1="0" x2="1.27" x3="3.08" y1="185.47" y2="187.79" y3="189.31"/> + <curve x1="4.9" x2="7.23" x3="9.54" y1="190.83" y2="191.61" y3="191.61"/> + <line x="211.1" y="191.61"/> + <curve x1="216.17" x2="220.46" x3="220.46" y1="191.61" y2="187.77" y3="183.15"/> + <line x="220.46" y="176.31"/> + <line x="194.67" y="151.91"/> + <line x="194.61" y="151.86"/> + <curve x1="193.58" x2="192.45" x3="191.25" y1="151.07" y2="150.22" y3="149.58"/> + <curve x1="193.42" x2="194.82" x3="194.82" y1="147.86" y2="145.21" y3="142.23"/> + <line x="194.82" y="49.96"/> + <curve x1="194.82" x2="190.62" x3="185.47" y1="44.81" y2="40.62" y3="40.62"/> + <close/> + <move x="35.08" y="43.62"/> + <line x="185.47" y="43.62"/> + <curve x1="189.01" x2="191.82" x3="191.82" y1="43.62" y2="46.42" y3="49.96"/> + <line x="191.82" y="142.23"/> + <curve x1="191.82" x2="189.01" x3="185.47" y1="145.77" y2="148.59" y3="148.59"/> + <line x="35.08" y="148.59"/> + <curve x1="31.54" x2="28.74" x3="28.74" y1="148.59" y2="145.77" y3="142.23"/> + <line x="28.74" y="49.96"/> + <curve x1="28.74" x2="31.54" x3="35.08" y1="46.42" y2="43.62" y3="43.62"/> + <close/> + <move x="33.01" y="151.59"/> + <line x="35.08" y="151.59"/> + <line x="185.47" y="151.59"/> + <line x="187.7" y="151.59"/> + <curve x1="188.61" x2="190.94" x3="192.74" y1="151.59" y2="152.83" y3="154.21"/> + <line x="217.46" y="177.61"/> + <line x="217.46" y="183.15"/> + <curve x1="217.46" x2="214.63" x3="211.1" y1="185.83" y2="188.61" y3="188.61"/> + <line x="9.54" y="188.61"/> + <curve x1="7.92" x2="6.23" x3="5.01" y1="188.61" y2="188.03" y3="187.01"/> + <curve x1="3.78" x2="3" x3="3" y1="185.99" y2="184.6" y3="182.69"/> + <line x="3" y="177.82"/> + <line x="29.32" y="153.14"/> + <curve x1="30.2" x2="31.72" x3="33.01" y1="152.37" y2="151.59" y3="151.59"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="ups" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="511" y="109.64"/> + <curve x1="500.72" x2="491.38" x3="482.97" y1="109.64" y2="111.38" y3="114.85"/> + <curve x1="474.57" x2="468.18" x3="463.81" y1="118.32" y2="123.43" y3="130.16"/> + <curve x1="459.43" x2="457.25" x3="457.25" y1="136.83" y2="144.02" y3="151.72"/> + <curve x1="457.25" x2="459.02" x3="462.56" y1="158.74" y2="165.09" y3="170.79"/> + <curve x1="466.17" x2="471.62" x3="478.91" y1="176.41" y2="181.14" y3="184.96"/> + <curve x1="484.54" x2="494.36" x3="508.39" y1="187.94" y2="191.13" y3="194.54"/> + <curve x1="522.42" x2="531.48" x3="535.58" y1="197.87" y2="200.34" y3="201.93"/> + <curve x1="541.97" x2="546.55" x3="549.33" y1="204.36" y2="207.38" y3="211"/> + <curve x1="552.11" x2="553.5" x3="553.5" y1="214.54" y2="218.7" y3="223.5"/> + <curve x1="553.5" x2="552.04" x3="549.12" y1="228.22" y2="232.59" y3="236.62"/> + <curve x1="546.27" x2="541.9" x3="536" y1="240.58" y2="243.7" y3="246"/> + <curve x1="530.09" x2="523.29" x3="515.58" y1="248.29" y2="249.43" y3="249.43"/> + <curve x1="506.9" x2="499.09" x3="492.14" y1="249.43" y2="247.94" y3="244.96"/> + <curve x1="485.2" x2="480.06" x3="476.72" y1="241.9" y2="237.94" y3="233.08"/> + <curve x1="473.46" x2="471.38" x3="470.47" y1="228.15" y2="221.86" y3="214.22"/> + <line x="451.41" y="215.89"/> + <curve x1="451.69" x2="454.47" x3="459.75" y1="226.1" y2="235.27" y3="243.39"/> + <curve x1="465.09" x2="472.42" x3="481.72" y1="251.45" y2="257.49" y3="261.52"/> + <curve x1="491.1" x2="502.7" x3="516.52" y1="265.55" y2="267.56" y3="267.56"/> + <curve x1="527.42" x2="537.21" x3="545.89" y1="267.56" y2="265.58" y3="261.62"/> + <curve x1="554.64" x2="561.34" x3="566" y1="257.59" y2="252" y3="244.85"/> + <curve x1="570.65" x2="572.97" x3="572.97" y1="237.63" y2="229.96" y3="221.83"/> + <curve x1="572.97" x2="570.86" x3="566.62" y1="213.64" y2="206.41" y3="200.16"/> + <curve x1="562.38" x2="555.82" x3="546.93" y1="193.84" y2="188.63" y3="184.54"/> + <curve x1="540.82" x2="529.54" x3="513.08" y1="181.76" y2="178.53" y3="174.85"/> + <curve x1="496.69" x2="486.55" x3="482.66" y1="171.1" y2="167.45" y3="163.91"/> + <curve x1="478.7" x2="476.72" x3="476.72" y1="160.37" y2="155.86" y3="150.37"/> + <curve x1="476.72" x2="479.5" x3="485.06" y1="144.05" y2="138.67" y3="134.22"/> + <curve x1="490.68" x2="499.61" x3="511.83" y1="129.71" y2="127.46" y3="127.46"/> + <curve x1="523.57" x2="532.42" x3="538.39" y1="127.46" y2="129.92" y3="134.85"/> + <curve x1="544.43" x2="547.98" x3="549.02" y1="139.78" y2="147.07" y3="156.72"/> + <line x="568.39" y="155.27"/> + <curve x1="568.05" x2="565.55" x3="560.89" y1="146.31" y2="138.29" y3="131.21"/> + <curve x1="556.24" x2="549.57" x3="540.89" y1="124.12" y2="118.77" y3="115.16"/> + <curve x1="532.28" x2="522.32" x3="511" y1="111.48" y2="109.64" y3="109.64"/> + <close/> + <move x="161.93" y="112.25"/> + <line x="161.93" y="200.47"/> + <curve x1="161.93" x2="162.5" x3="163.63" y1="209.18" y2="216.9" y3="223.64"/> + <line x="120.56" y="203.94"/> + <line x="166.07" y="234.08"/> + <curve x1="166.59" x2="167.15" x3="167.77" y1="235.74" y2="237.32" y3="238.81"/> + <curve x1="171.66" x2="178.15" x3="187.25" y1="248.11" y2="255.23" y3="260.16"/> + <curve x1="195.04" x2="204.76" x3="216.38" y1="264.39" y2="266.8" y3="267.4"/> + <line x="322.27" y="337.54"/> + <line x="141.75" y="337.22"/> + <line x="350.19" y="460.99"/> + <line x="192" y="482.08"/> + <line x="602.67" y="637.79"/> + <line x="365.39" y="503.48"/> + <line x="502.49" y="503.79"/> + <line x="275.44" y="369.79"/> + <line x="479.84" y="368.24"/> + <line x="249.92" y="263.1"/> + <curve x1="252.82" x2="255.51" x3="257.97" y1="261.98" y2="260.66" y3="259.12"/> + <curve x1="267.07" x2="273.36" x3="276.83" y1="253.43" y2="246.06" y3="237.04"/> + <curve x1="280.3" x2="282.04" x3="282.04" y1="228.01" y2="215.82" y3="200.47"/> + <line x="282.04" y="112.25"/> + <line x="261.83" y="112.25"/> + <line x="261.83" y="200.37"/> + <curve x1="261.83" x2="258.67" x3="252.35" y1="219.54" y2="232.49" y3="239.22"/> + <curve x1="246.03" x2="235.44" x3="220.58" y1="245.96" y2="249.33" y3="249.33"/> + <curve x1="220.3" x2="220.04" x3="219.77" y1="249.33" y2="249.31" y3="249.31"/> + <line x="188.54" y="235.03"/> + <curve x1="187.46" x2="186.54" x3="185.79" y1="233.4" y2="231.64" y3="229.75"/> + <curve x1="183.36" x2="182.14" x3="182.14" y1="223.43" y2="213.64" y3="200.37"/> + <line x="182.14" y="112.25"/> + <close/> + <move x="315.79" y="112.25"/> + <line x="315.79" y="264.96"/> + <line x="336" y="264.96"/> + <line x="336" y="202.87"/> + <line x="375.16" y="202.87"/> + <curve x1="396.76" x2="411.69" x3="419.96" y1="202.87" y2="198.39" y3="189.43"/> + <curve x1="428.22" x2="432.35" x3="432.35" y1="180.41" y2="169.4" y3="156.41"/> + <curve x1="432.35" x2="430.79" x3="427.66" y1="148.84" y2="141.9" y3="135.58"/> + <curve x1="424.61" x2="420.54" x3="415.47" y1="129.26" y2="124.36" y3="120.89"/> + <curve x1="410.41" x2="404.12" x3="396.62" y1="117.35" y2="114.96" y3="113.71"/> + <curve x1="391.27" x2="383.53" x3="373.39" y1="112.73" y2="112.25" y3="112.25"/> + <close/> + <move x="336" y="130.27"/> + <line x="375.06" y="130.27"/> + <curve x1="384.23" x2="390.51" x3="393.91" y1="130.27" y2="130.72" y3="131.62"/> + <curve x1="399.19" x2="403.43" x3="406.62" y1="133.08" y2="136.1" y3="140.68"/> + <curve x1="409.88" x2="411.52" x3="411.52" y1="145.2" y2="150.65" y3="157.04"/> + <curve x1="411.52" x2="408.77" x3="403.29" y1="165.86" y2="172.7" y3="177.56"/> + <curve x1="397.8" x2="388.53" x3="375.47" y1="182.42" y2="184.85" y3="184.85"/> + <line x="336" y="184.85"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="712.49" name="user" strokewidth="inherit" w="681.53"> + <connections/> + <foreground> + <path> + <move x="239.85" y="0"/> + <curve x1="165.14" x2="104.33" x3="104.33" y1="0" y2="60.81" y3="135.52"/> + <curve x1="104.33" x2="126.5" x3="160.5" y1="180.62" y2="220.65" y3="245.3"/> + <curve x1="59.24" x2="0" x3="0" y1="280.53" y2="382" y3="483.12"/> + <line x="0" y="565.74"/> + <line x="9.45" y="565.74"/> + <line x="235.47" y="565.74"/> + <line x="235.47" y="600.83"/> + <curve x1="235.47" x2="255.35" x3="279.6" y1="625.08" y2="644.96" y3="644.96"/> + <line x="416.73" y="644.96"/> + <line x="416.73" y="674.54"/> + <line x="356.45" y="674.54"/> + <curve x1="345.9" x2="337.27" x3="337.27" y1="674.38" y2="682.88" y3="693.43"/> + <curve x1="337.27" x2="345.9" x3="356.45" y1="703.98" y2="712.49" y3="712.33"/> + <line x="560.56" y="712.33"/> + <curve x1="571.1" x2="579.74" x3="579.74" y1="712.49" y2="703.98" y3="693.43"/> + <curve x1="579.74" x2="571.1" x3="560.56" y1="682.88" y2="674.38" y3="674.54"/> + <line x="500.27" y="674.54"/> + <line x="500.27" y="644.96"/> + <line x="637.4" y="644.96"/> + <curve x1="661.66" x2="681.53" x3="681.53" y1="644.96" y2="625.08" y3="600.83"/> + <line x="681.53" y="396.11"/> + <curve x1="681.53" x2="661.66" x3="637.4" y1="371.86" y2="351.98" y3="351.98"/> + <line x="444.95" y="351.98"/> + <curve x1="438.22" x2="430.48" x3="421.68" y1="340.66" y2="329.47" y3="318.71"/> + <curve x1="396.47" x2="362.27" x3="318.91" y1="287.88" y2="260.8" y3="245.5"/> + <curve x1="353.07" x2="375.36" x3="375.36" y1="220.87" y2="180.75" y3="135.52"/> + <curve x1="375.36" x2="314.56" x3="239.85" y1="60.81" y2="0" y3="0"/> + <close/> + <move x="239.85" y="22.68"/> + <curve x1="302.3" x2="352.69" x3="352.69" y1="22.68" y2="73.06" y3="135.52"/> + <curve x1="352.69" x2="302.3" x3="239.85" y1="197.97" y2="248.36" y3="248.36"/> + <curve x1="177.39" x2="127.01" x3="127.01" y1="248.36" y2="197.97" y3="135.52"/> + <curve x1="127.01" x2="177.39" x3="239.85" y1="73.06" y2="22.68" y3="22.68"/> + <close/> + <move x="182.51" y="258.29"/> + <curve x1="199.94" x2="219.37" x3="239.85" y1="266.46" y2="271.03" y3="271.03"/> + <curve x1="260.23" x2="279.58" x3="296.94" y1="271.03" y2="266.5" y3="258.39"/> + <curve x1="344.45" x2="380.65" x3="407.05" y1="270.89" y2="298.39" y3="330.68"/> + <curve x1="412.7" x2="417.87" x3="422.59" y1="337.59" y2="344.73" y3="351.98"/> + <line x="279.6" y="351.98"/> + <curve x1="255.35" x2="235.47" x3="235.47" y1="351.98" y2="371.86" y3="396.11"/> + <line x="235.47" y="546.84"/> + <line x="18.9" y="546.84"/> + <line x="18.9" y="483.12"/> + <curve x1="18.9" x2="78.95" x3="182.51" y1="384.02" y2="285.12" y3="258.29"/> + <close/> + <move x="279.6" y="374.66"/> + <line x="637.4" y="374.66"/> + <curve x1="649.49" x2="658.86" x3="658.86" y1="374.66" y2="384.03" y3="396.11"/> + <line x="658.86" y="600.83"/> + <curve x1="658.86" x2="649.49" x3="637.4" y1="612.91" y2="622.28" y3="622.28"/> + <line x="279.6" y="622.28"/> + <curve x1="267.52" x2="258.15" x3="258.15" y1="622.28" y2="612.91" y3="600.83"/> + <line x="258.15" y="396.11"/> + <curve x1="258.15" x2="267.52" x3="279.6" y1="384.03" y2="374.66" y3="374.66"/> + <close/> + <move x="289.16" y="398.51"/> + <line x="289.16" y="597.6"/> + <line x="627.85" y="597.6"/> + <line x="627.85" y="398.51"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="vbond" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="98.48" y="34.18"/> + <curve x1="67.1" x2="40.92" x3="35.3" y1="34.18" y2="56.75" y3="86.51"/> + <line x="16.73" y="86.51"/> + <line x="16.73" y="110.46"/> + <line x="35.3" y="110.46"/> + <curve x1="40.92" x2="67.1" x3="98.48" y1="140.22" y2="162.79" y3="162.79"/> + <curve x1="129.86" x2="156.04" x3="161.67" y1="162.79" y2="140.22" y3="110.46"/> + <line x="180.24" y="110.46"/> + <line x="180.24" y="86.51"/> + <line x="161.67" y="86.51"/> + <curve x1="156.04" x2="129.87" x3="98.48" y1="56.75" y2="34.18" y3="34.18"/> + <close/> + <move x="98.48" y="41.18"/> + <curve x1="126.07" x2="149.04" x3="154.54" y1="41.18" y2="60.59" y3="86.51"/> + <line x="130.66" y="86.51"/> + <line x="130.66" y="110.46"/> + <line x="154.54" y="110.46"/> + <curve x1="149.04" x2="126.07" x3="98.48" y1="136.38" y2="155.79" y3="155.79"/> + <curve x1="70.9" x2="47.93" x3="42.43" y1="155.79" y2="136.38" y3="110.46"/> + <line x="66.31" y="110.46"/> + <line x="66.31" y="86.51"/> + <line x="42.43" y="86.51"/> + <curve x1="47.93" x2="70.9" x3="98.48" y1="60.59" y2="41.18" y3="41.18"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="video analytics" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="132.54" y="28.96"/> + <arc large-arc-flag="0" rx="8.45" ry="8.45" sweep-flag="1" x="124.09" x-axis-rotation="0" y="37.41"/> + <arc large-arc-flag="0" rx="8.45" ry="8.45" sweep-flag="1" x="115.64" x-axis-rotation="0" y="28.96"/> + <arc large-arc-flag="0" rx="8.45" ry="8.45" sweep-flag="1" x="124.09" x-axis-rotation="0" y="20.51"/> + <arc large-arc-flag="0" rx="8.45" ry="8.45" sweep-flag="1" x="132.54" x-axis-rotation="0" y="28.96"/> + <close/> + <move x="53.83" y="53.07"/> + <line x="194.36" y="53.07"/> + <curve x1="202.43" x2="208.93" x3="208.93" y1="53.07" y2="59.57" y3="67.65"/> + <line x="208.93" y="148.3"/> + <curve x1="208.93" x2="202.43" x3="194.36" y1="156.37" y2="162.88" y3="162.88"/> + <line x="53.83" y="162.88"/> + <curve x1="45.75" x2="39.25" x3="39.25" y1="162.88" y2="156.37" y3="148.3"/> + <line x="39.25" y="67.65"/> + <curve x1="39.25" x2="45.75" x3="53.83" y1="59.57" y2="53.07" y3="53.07"/> + <close/> + </path> + <fill/> + <fillcolor color="#ffffff"/> + <path> + <move x="130.89" y="71"/> + <curve x1="146.45" x2="158.95" x3="158.95" y1="71" y2="83.49" y3="99.06"/> + <curve x1="158.95" x2="146.45" x3="130.89" y1="114.62" y2="127.12" y3="127.12"/> + <curve x1="115.32" x2="102.83" x3="102.83" y1="127.12" y2="114.62" y3="99.06"/> + <curve x1="102.83" x2="115.32" x3="130.89" y1="83.49" y2="71" y3="71"/> + <close/> + <move x="130.89" y="60"/> + <curve x1="109.38" x2="91.83" x3="91.83" y1="60" y2="77.55" y3="99.06"/> + <curve x1="91.83" x2="94.79" x3="99.78" y1="107.89" y2="116.06" y3="122.62"/> + <line x="78.24" y="144.8"/> + <line x="89.72" y="155.95"/> + <line x="111.86" y="133.15"/> + <curve x1="117.5" x2="123.99" x3="130.89" y1="136.31" y2="138.12" y3="138.12"/> + <curve x1="152.39" x2="169.95" x3="169.95" y1="138.12" y2="120.56" y3="99.06"/> + <curve x1="169.95" x2="152.39" x3="130.89" y1="77.55" y2="60" y3="60"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="video call server" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="232.01" y="148.33"/> + <line x="232.01" y="291.01"/> + <line x="433.01" y="291.01"/> + <line x="433.01" y="238.54"/> + <line x="491.79" y="269.38"/> + <line x="491.79" y="169.96"/> + <line x="433.01" y="200.79"/> + <line x="433.01" y="148.33"/> + <close/> + <move x="112.84" y="155.84"/> + <line x="39.26" y="219.67"/> + <line x="112.84" y="283.49"/> + <line x="112.84" y="240.07"/> + <line x="195.86" y="240.07"/> + <line x="195.86" y="199.27"/> + <line x="112.84" y="199.27"/> + <close/> + <move x="607.65" y="155.84"/> + <line x="607.65" y="199.27"/> + <line x="524.63" y="199.27"/> + <line x="524.63" y="240.06"/> + <line x="607.65" y="240.06"/> + <line x="607.65" y="283.49"/> + <line x="681.23" y="219.67"/> + <close/> + <move x="289.68" y="386.23"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="246" x-axis-rotation="0" y="429.91"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="266.7" x-axis-rotation="0" y="467"/> + <curve x1="250.58" x2="241.48" x3="241.48" y1="486.08" y2="511.21" y3="536.07"/> + <line x="241.48" y="578.51"/> + <line x="337.88" y="578.51"/> + <line x="337.88" y="536.07"/> + <curve x1="337.88" x2="326.49" x3="311.39" y1="510.93" y2="486.8" y3="467.75"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="333.36" x-axis-rotation="0" y="429.91"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="289.68" x-axis-rotation="0" y="386.23"/> + <close/> + <move x="430.76" y="386.23"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="387.08" x-axis-rotation="0" y="429.91"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="407.79" x-axis-rotation="0" y="467"/> + <curve x1="391.67" x2="382.56" x3="382.56" y1="486.08" y2="511.21" y3="536.07"/> + <line x="382.56" y="578.51"/> + <line x="478.96" y="578.51"/> + <line x="478.96" y="536.07"/> + <curve x1="478.96" x2="467.57" x3="452.48" y1="510.93" y2="486.8" y3="467.75"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="474.44" x-axis-rotation="0" y="429.91"/> + <arc large-arc-flag="0" rx="43.68" ry="43.68" sweep-flag="0" x="430.76" x-axis-rotation="0" y="386.23"/> + <close/> + <move x="120.9" y="443.18"/> + <line x="120.9" y="486.6"/> + <line x="37.89" y="486.6"/> + <line x="37.89" y="527.4"/> + <line x="120.9" y="527.4"/> + <line x="120.9" y="570.83"/> + <line x="194.49" y="507"/> + <close/> + <move x="602.3" y="443.18"/> + <line x="528.71" y="507"/> + <line x="602.3" y="570.83"/> + <line x="602.3" y="527.4"/> + <line x="685.31" y="527.4"/> + <line x="685.31" y="486.6"/> + <line x="602.3" y="486.6"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="video gateway" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="585.3" y="58.52"/> + <line x="585.3" y="99.23"/> + <line x="407.02" y="99.23"/> + <line x="407.02" y="197.79"/> + <line x="365.4" y="197.79"/> + <line x="419.35" y="277.5"/> + <curve x1="413.9" x2="408.46" x3="403.07" y1="277.55" y2="277.96" y3="278.76"/> + <curve x1="403.01" x2="402.96" x3="402.91" y1="278.76" y2="278.77" y3="278.79"/> + <curve x1="350.74" x2="321.23" x3="310.05" y1="287.72" y2="327.03" y3="364.11"/> + <curve x1="297.81" x2="284.75" x3="273.19" y1="367.72" y2="371.93" y3="383.77"/> + <curve x1="272.87" x2="272.58" x3="272.34" y1="384.1" y2="384.46" y3="384.85"/> + <curve x1="260.77" x2="264.64" x3="287.59" y1="403.1" y2="429.74" y3="442.35"/> + <curve x1="309.41" x2="330.39" x3="344.68" y1="454.86" y2="455.17" y3="454.91"/> + <curve x1="365.85" x2="391.53" x3="415.11" y1="470.12" y2="478.77" y3="482.05"/> + <curve x1="415.3" x2="415.49" x3="415.68" y1="482.08" y2="482.1" y3="482.11"/> + <curve x1="455.92" x2="483.49" x3="503.55" y1="484.16" y2="468.16" y3="455.59"/> + <line x="451.95" y="531.84"/> + <line x="493.11" y="531.84"/> + <line x="493.11" y="593.36"/> + <line x="351.89" y="593.36"/> + <line x="351.89" y="552.3"/> + <line x="263.52" y="612.12"/> + <line x="351.89" y="671.94"/> + <line x="351.89" y="631.15"/> + <line x="530.91" y="631.15"/> + <line x="530.91" y="531.84"/> + <line x="571.59" y="531.84"/> + <line x="518.55" y="453.48"/> + <curve x1="541.75" x2="565.68" x3="581.58" y1="454.78" y2="455.06" y3="454.54"/> + <curve x1="581.63" x2="581.67" x3="581.71" y1="454.54" y2="454.54" y3="454.53"/> + <curve x1="600.31" x2="617.04" x3="629.73" y1="453.56" y2="449.58" y3="442.07"/> + <curve x1="642.38" x2="651.13" x3="651.2" y1="434.59" y2="422.74" y3="408.19"/> + <curve x1="651.82" x2="644.61" x3="635.06" y1="395.1" y2="384.6" y3="377.55"/> + <curve x1="626.17" x2="615.14" x3="604.33" y1="370.98" y2="366.73" y3="363.4"/> + <curve x1="598.45" x2="592.36" x3="574.9" y1="353.11" y2="340.34" y3="331.73"/> + <curve x1="574.85" x2="574.79" x3="574.73" y1="331.71" y2="331.69" y3="331.66"/> + <curve x1="552.47" x2="536.22" x3="522.03" y1="321.43" y2="324.24" y3="326.91"/> + <curve x1="499.8" x2="465.83" x3="430.82" y1="298.39" y2="280.78" y3="277.9"/> + <line x="485.04" y="197.79"/> + <line x="444.81" y="197.79"/> + <line x="444.81" y="137.03"/> + <line x="585.3" y="137.03"/> + <line x="585.3" y="178.16"/> + <line x="673.68" y="118.34"/> + <close/> + <move x="162.98" y="58.8"/> + <line x="71.54" y="122.08"/> + <line x="162.98" y="185.35"/> + <line x="162.98" y="141.96"/> + <line x="263.47" y="141.96"/> + <line x="263.47" y="102.19"/> + <line x="162.98" y="102.19"/> + <close/> + <move x="747.38" y="67.43"/> + <curve x1="714.84" x2="688.46" x3="688.46" y1="67.43" y2="93.81" y3="126.35"/> + <curve x1="688.48" x2="699.93" x3="718.43" y1="147.59" y2="167.18" y3="177.62"/> + <curve x1="696.29" x2="683.14" x3="683.14" y1="204.66" y2="235.97" y3="272.5"/> + <line x="683.14" y="324.96"/> + <line x="809.15" y="325.15"/> + <line x="809.15" y="273.26"/> + <curve x1="809.15" x2="798.58" x3="776.67" y1="232.41" y2="204.96" y3="177.38"/> + <curve x1="794.97" x2="806.27" x3="806.3" y1="166.9" y2="147.44" y3="126.35"/> + <curve x1="806.3" x2="779.92" x3="747.38" y1="93.81" y2="67.43" y3="67.43"/> + <close/> + <move x="171.18" y="202.36"/> + <line x="171.18" y="245.74"/> + <line x="70.68" y="245.74"/> + <line x="70.68" y="285.52"/> + <line x="171.18" y="285.52"/> + <line x="171.18" y="328.9"/> + <line x="262.62" y="265.63"/> + <close/> + <move x="420.19" y="290.73"/> + <curve x1="455.85" x2="492.35" x3="513.94" y1="290.65" y2="308.07" y3="337.79"/> + <curve x1="515.44" x2="518" x3="520.51" y1="339.86" y2="340.88" y3="340.41"/> + <curve x1="536.04" x2="548.09" x3="569.13" y1="337.5" y2="334.01" y3="343.65"/> + <curve x1="584.01" x2="587.28" x3="594.23" y1="351.02" y2="360.48" y3="372.22"/> + <curve x1="595.09" x2="596.45" x3="598.06" y1="373.66" y2="374.72" y3="375.19"/> + <curve x1="608.94" x2="619.79" x3="627.2" y1="378.4" y2="382.71" y3="388.18"/> + <curve x1="634.61" x2="638.45" x3="638.01" y1="393.66" y2="399.38" y3="407.68"/> + <curve x1="638" x2="638" x3="637.99" y1="407.8" y2="407.91" y3="408.03"/> + <curve x1="637.99" x2="633.01" x3="623" y1="417.65" y2="424.77" y3="430.68"/> + <curve x1="613.01" x2="598.13" x3="581.07" y1="436.59" y2="440.42" y3="441.32"/> + <curve x1="562.9" x2="532.95" x3="506.74" y1="441.91" y2="441.47" y3="439.53"/> + <curve x1="505.34" x2="503.94" x3="502.74" y1="439.42" y2="439.77" y3="440.51"/> + <curve x1="481.95" x2="456.65" x3="416.59" y1="453.54" y2="470.84" y3="468.88"/> + <curve x1="394.29" x2="369.76" x3="350.69" y1="465.73" y2="457.34" y3="443.11"/> + <curve x1="349.51" x2="348.06" x3="346.59" y1="442.22" y2="441.76" y3="441.79"/> + <curve x1="332.56" x2="313.69" x3="294.13" y1="442.09" y2="442.09" y3="430.84"/> + <curve x1="294.08" x2="294.04" x3="294" y1="430.82" y2="430.8" y3="430.78"/> + <curve x1="277.29" x2="275.69" x3="283.28" y1="421.64" y2="404.99" y3="392.48"/> + <curve x1="293.14" x2="304.01" x3="316.87" y1="382.71" y2="379.48" y3="375.73"/> + <curve x1="319.08" x2="320.8" x3="321.4" y1="375.09" y2="373.33" y3="371.11"/> + <curve x1="330.65" x2="356.99" x3="405.09" y1="336.91" y2="300.1" y3="291.84"/> + <curve x1="410.07" x2="415.12" x3="420.19" y1="291.11" y2="290.74" y3="290.73"/> + <close/> + <move x="776.17" y="388.3"/> + <line x="776.17" y="431.68"/> + <line x="675.67" y="431.68"/> + <line x="675.67" y="471.46"/> + <line x="776.17" y="471.46"/> + <line x="776.17" y="514.84"/> + <line x="867.61" y="451.57"/> + <close/> + <move x="179.04" y="414.7"/> + <curve x1="146.5" x2="120.12" x3="120.12" y1="414.7" y2="441.08" y3="473.62"/> + <curve x1="120.13" x2="131.58" x3="150.09" y1="494.86" y2="514.45" y3="524.89"/> + <curve x1="127.95" x2="114.8" x3="114.8" y1="551.93" y2="583.25" y3="619.77"/> + <line x="114.8" y="672.23"/> + <line x="240.8" y="672.42"/> + <line x="240.8" y="620.53"/> + <curve x1="240.8" x2="230.23" x3="208.32" y1="579.69" y2="552.24" y3="524.66"/> + <curve x1="226.62" x2="237.92" x3="237.96" y1="514.17" y2="494.71" y3="473.62"/> + <curve x1="237.95" x2="211.58" x3="179.04" y1="441.08" y2="414.7" y3="414.7"/> + <close/> + <move x="766.35" y="532.74"/> + <line x="674.91" y="596.02"/> + <line x="766.35" y="659.29"/> + <line x="766.35" y="615.9"/> + <line x="866.85" y="615.9"/> + <line x="866.85" y="576.12"/> + <line x="766.35" y="576.12"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="virtual desktop service" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="163.23" y="74.47"/> + <curve x1="142.43" x2="125.27" x3="125.27" y1="74.47" y2="91.63" y3="112.43"/> + <line x="125.27" y="392.17"/> + <line x="97.85" y="392.17"/> + <line x="97.85" y="374.98"/> + <line x="60.05" y="399.82"/> + <line x="97.85" y="424.66"/> + <line x="97.85" y="407.47"/> + <line x="125.27" y="407.47"/> + <line x="125.27" y="617.55"/> + <curve x1="125.27" x2="142.43" x3="163.23" y1="638.35" y2="655.5" y3="655.5"/> + <line x="766.26" y="655.5"/> + <curve x1="787.06" x2="804.21" x3="804.21" y1="655.5" y2="638.35" y3="617.55"/> + <line x="804.21" y="467.73"/> + <line x="833.98" y="487.21"/> + <line x="834" y="469.92"/> + <line x="859.92" y="469.92"/> + <line x="859.92" y="642.77"/> + <line x="875.04" y="642.77"/> + <line x="875.04" y="454.8"/> + <line x="834.03" y="454.8"/> + <line x="834.06" y="437.48"/> + <line x="804.21" y="457.03"/> + <line x="804.21" y="407.55"/> + <line x="828.13" y="407.55"/> + <line x="828.13" y="391.69"/> + <line x="804.21" y="391.69"/> + <line x="804.21" y="112.43"/> + <curve x1="804.21" x2="787.06" x3="766.26" y1="91.63" y2="74.47" y3="74.47"/> + <close/> + <move x="163.23" y="100.93"/> + <line x="766.26" y="100.93"/> + <curve x1="772.86" x2="777.76" x3="777.76" y1="100.93" y2="105.83" y3="112.43"/> + <line x="777.76" y="617.55"/> + <curve x1="777.76" x2="772.86" x3="766.26" y1="624.15" y2="629.05" y3="629.05"/> + <line x="718.02" y="629.05"/> + <curve x1="718.25" x2="719.79" x3="710.67" y1="585.29" y2="552.02" y3="516.68"/> + <curve x1="703.06" x2="690.8" x3="671.42" y1="488.65" y2="465.51" y3="449.86"/> + <arc large-arc-flag="0" rx="65.38" ry="65.38" sweep-flag="0" x="711.58" x-axis-rotation="0" y="389.61"/> + <arc large-arc-flag="0" rx="65.38" ry="65.38" sweep-flag="0" x="646.2" x-axis-rotation="0" y="324.23"/> + <arc large-arc-flag="0" rx="65.38" ry="65.38" sweep-flag="0" x="580.82" x-axis-rotation="0" y="389.61"/> + <arc large-arc-flag="0" rx="65.38" ry="65.38" sweep-flag="0" x="620.5" x-axis-rotation="0" y="449.71"/> + <curve x1="599.06" x2="588.15" x3="580.89" y1="465.18" y2="491.91" y3="516.39"/> + <curve x1="572.57" x2="572.94" x3="573.03" y1="551.02" y2="586.61" y3="629.05"/> + <line x="163.23" y="629.05"/> + <curve x1="156.63" x2="151.73" x3="151.73" y1="629.05" y2="624.15" y3="617.55"/> + <line x="151.73" y="112.43"/> + <curve x1="151.73" x2="156.63" x3="163.23" y1="105.83" y2="100.93" y3="100.93"/> + <close/> + <move x="305.88" y="101.52"/> + <line x="281.04" y="139.32"/> + <line x="298.23" y="139.32"/> + <line x="298.23" y="169.57"/> + <line x="313.53" y="169.57"/> + <line x="313.53" y="139.32"/> + <line x="330.71" y="139.32"/> + <close/> + <move x="193.22" y="186.58"/> + <line x="193.22" y="194.14"/> + <line x="193.22" y="473.17"/> + <line x="412.88" y="473.17"/> + <line x="412.88" y="415.62"/> + <line x="459.75" y="462.36"/> + <line x="486.44" y="435.6"/> + <line x="422.18" y="371.51"/> + <curve x1="436.88" x2="445.7" x3="445.7" y1="353.25" y2="330.07" y3="304.88"/> + <curve x1="445.7" x2="433.09" x3="412.88" y1="274.75" y2="247.5" y3="228.1"/> + <line x="412.88" y="186.58"/> + <close/> + <move x="208.34" y="201.7"/> + <line x="312.86" y="201.7"/> + <curve x1="289.23" x2="268.74" x3="254.38" y1="207.74" y2="221.72" y3="240.6"/> + <line x="208.34" y="240.6"/> + <close/> + <move x="365.55" y="201.7"/> + <line x="397.77" y="201.7"/> + <line x="397.77" y="216.01"/> + <curve x1="388.02" x2="377.17" x3="365.55" y1="209.56" y2="204.67" y3="201.7"/> + <close/> + <move x="339.21" y="221.07"/> + <curve x1="359.76" x2="378.53" x3="393.08" y1="221.07" y2="228.41" y3="240.6"/> + <line x="285.33" y="240.6"/> + <curve x1="299.88" x2="318.65" x3="339.21" y1="228.41" y2="221.07" y3="221.07"/> + <close/> + <move x="208.34" y="252.96"/> + <line x="246.28" y="252.96"/> + <curve x1="239.23" x2="234.65" x3="233.21" y1="265.52" y2="279.65" y3="294.68"/> + <line x="208.34" y="294.68"/> + <close/> + <move x="273.35" y="252.96"/> + <line x="397.77" y="252.96"/> + <line x="397.77" y="294.68"/> + <line x="256.01" y="294.68"/> + <curve x1="257.89" x2="264.09" x3="273.35" y1="279.01" y2="264.71" y3="252.96"/> + <close/> + <move x="412.88" y="264.79"/> + <curve x1="419.35" x2="423.02" x3="423.02" y1="276.69" y2="290.34" y3="304.88"/> + <curve x1="423.02" x2="419.35" x3="412.88" y1="319.42" y2="333.07" y3="344.96"/> + <close/> + <move x="649.75" y="274.2"/> + <curve x1="608.31" x2="569.58" x3="552.38" y1="274.06" y2="298.5" y3="337.88"/> + <curve x1="547.61" x2="544.83" x3="543.86" y1="348.8" y2="360.16" y3="371.53"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="531.59" x-axis-rotation="0" y="390.66"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="547.94" x-axis-rotation="0" y="411.2"/> + <curve x1="554.6" x2="568.53" x3="588.69" y1="433.56" y2="453.77" y3="467.94"/> + <line x="597.38" y="455.57"/> + <curve x1="580.7" x2="568.98" x3="563.03" y1="443.85" y2="427.36" y3="409.03"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="573.79" x-axis-rotation="0" y="390.66"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="559.11" x-axis-rotation="0" y="370.57"/> + <curve x1="560.11" x2="562.46" x3="566.24" y1="361.57" y2="352.6" y3="343.94"/> + <curve x1="583.69" x2="626.63" x3="668.97" y1="303.97" y2="282.06" y3="291.47"/> + <curve x1="707.6" x2="735.78" x3="739.72" y1="300.05" y2="332.52" y3="371.3"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="726.93" x-axis-rotation="0" y="390.66"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="748.03" x-axis-rotation="0" y="411.76"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="769.13" x-axis-rotation="0" y="390.66"/> + <arc large-arc-flag="0" rx="21.1" ry="21.1" sweep-flag="0" x="754.85" x-axis-rotation="0" y="370.72"/> + <curve x1="750.62" x2="717.57" x3="672.25" y1="325.2" y2="286.78" y3="276.71"/> + <curve x1="666.09" x2="659.9" x3="653.77" y1="275.34" y2="274.55" y3="274.29"/> + <curve x1="652.43" x2="651.09" x3="649.75" y1="274.23" y2="274.2" y3="274.2"/> + <close/> + <move x="208.34" y="307.03"/> + <line x="232.74" y="307.03"/> + <curve x1="233.04" x2="236.47" x3="242.41" y1="322.05" y2="336.33" y3="349.22"/> + <line x="208.34" y="349.22"/> + <close/> + <move x="255.42" y="307.03"/> + <line x="397.77" y="307.03"/> + <line x="397.77" y="349.22"/> + <line x="268.02" y="349.22"/> + <curve x1="260.37" x2="255.8" x3="255.42" y1="336.94" y2="322.52" y3="307.03"/> + <close/> + <move x="208.34" y="361.58"/> + <line x="249.13" y="361.58"/> + <curve x1="260.71" x2="277.73" x3="297.89" y1="379.9" y2="394.48" y3="403.01"/> + <line x="208.34" y="403.01"/> + <close/> + <move x="277.4" y="361.58"/> + <line x="397.77" y="361.58"/> + <line x="397.77" y="364.91"/> + <curve x1="382.68" x2="362.04" x3="339.21" y1="379.63" y2="388.69" y3="388.69"/> + <curve x1="314.69" x2="292.7" x3="277.4" y1="388.69" y2="378.25" y3="361.58"/> + <close/> + <move x="393.59" y="396.38"/> + <line x="397.77" y="400.54"/> + <line x="397.77" y="403.01"/> + <line x="380.52" y="403.01"/> + <curve x1="385.04" x2="389.41" x3="393.59" y1="401.1" y2="398.87" y3="396.38"/> + <close/> + <move x="208.34" y="415.36"/> + <line x="397.77" y="415.36"/> + <line x="397.77" y="458.05"/> + <line x="208.34" y="458.05"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="virtual matrix switch" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="398.21" y="195.56"/> + <line x="382.78" y="242.82"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="348.04" x-axis-rotation="0" y="255.53"/> + <line x="256.96" y="255.44"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="233.81" x-axis-rotation="0" y="244.02"/> + <line x="247.54" y="201.97"/> + <line x="233.17" y="197.27"/> + <line x="218.3" y="242.81"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="183.01" x-axis-rotation="0" y="255.37"/> + <line x="112.14" y="255.3"/> + <line x="112.12" y="270.42"/> + <line x="185.73" y="270.49"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="206.48" x-axis-rotation="0" y="278.99"/> + <line x="183.04" y="350.77"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="182.08" x-axis-rotation="0" y="350.74"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="148.45" x-axis-rotation="0" y="359.91"/> + <line x="88.01" y="359.85"/> + <line x="88" y="374.97"/> + <line x="144.78" y="375.03"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="171.09" x-axis-rotation="0" y="387.35"/> + <line x="150.09" y="451.66"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="148.74" x-axis-rotation="0" y="451.63"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="115.62" x-axis-rotation="0" y="460.41"/> + <line x="64.28" y="460.36"/> + <line x="64.27" y="475.47"/> + <line x="111.17" y="475.52"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="138.13" x-axis-rotation="0" y="488.29"/> + <line x="126.66" y="523.41"/> + <line x="141.03" y="528.1"/> + <line x="153.86" y="488.82"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="186.27" x-axis-rotation="0" y="475.6"/> + <line x="277.2" y="475.69"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="302.67" x-axis-rotation="0" y="488.1"/> + <line x="291.7" y="521.69"/> + <line x="306.07" y="526.38"/> + <line x="318.31" y="488.91"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="352.1" x-axis-rotation="0" y="475.76"/> + <line x="444.24" y="475.85"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="467.54" x-axis-rotation="0" y="487.74"/> + <line x="455.99" y="523.12"/> + <line x="470.36" y="527.81"/> + <line x="483.04" y="488.98"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="518.92" x-axis-rotation="0" y="475.93"/> + <line x="577.17" y="475.98"/> + <line x="577.18" y="460.87"/> + <line x="515.23" y="460.81"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="494.87" x-axis-rotation="0" y="452.76"/> + <line x="515.99" y="388.1"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="552.21" x-axis-rotation="0" y="375.43"/> + <line x="600.91" y="375.47"/> + <line x="600.92" y="360.35"/> + <line x="549.28" y="360.3"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="527.85" x-axis-rotation="0" y="351.77"/> + <line x="551.26" y="280.11"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="553.31" x-axis-rotation="0" y="280.16"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="587.08" x-axis-rotation="0" y="270.88"/> + <line x="625.02" y="270.92"/> + <line x="625.04" y="255.8"/> + <line x="590.54" y="255.77"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="563.24" x-axis-rotation="0" y="243.42"/> + <line x="576.87" y="201.68"/> + <line x="562.5" y="196.99"/> + <line x="547.47" y="243.01"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="516.11" x-axis-rotation="0" y="255.7"/> + <line x="422.24" y="255.61"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="398.32" x-axis-rotation="0" y="243.9"/> + <line x="412.58" y="200.25"/> + <close/> + <move x="254.15" y="270.56"/> + <line x="351.09" y="270.65"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="371" x-axis-rotation="0" y="278.88"/> + <line x="347.53" y="350.75"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="313.9" x-axis-rotation="0" y="360.07"/> + <line x="215.79" y="359.98"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="198.39" x-axis-rotation="0" y="352.46"/> + <line x="222.02" y="280.12"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="254.15" x-axis-rotation="0" y="270.56"/> + <close/> + <move x="419.1" y="270.72"/> + <line x="519.47" y="270.82"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="535.98" x-axis-rotation="0" y="278.2"/> + <line x="512.27" y="350.8"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="481.13" x-axis-rotation="0" y="360.24"/> + <line x="381.65" y="360.14"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="362.95" x-axis-rotation="0" y="352.21"/> + <line x="386.49" y="280.13"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="419.1" x-axis-rotation="0" y="270.72"/> + <close/> + <move x="219.36" y="375.1"/> + <line x="310.56" y="375.19"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="335.63" x-axis-rotation="0" y="387.19"/> + <line x="314.58" y="451.63"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="281.32" x-axis-rotation="0" y="460.57"/> + <line x="181.99" y="460.47"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="165.41" x-axis-rotation="0" y="453.43"/> + <line x="186.8" y="387.96"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="219.36" x-axis-rotation="0" y="375.1"/> + <close/> + <move x="384.9" y="375.26"/> + <line x="478.11" y="375.35"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="500.53" x-axis-rotation="0" y="386.75"/> + <line x="479.32" y="451.67"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="448.04" x-axis-rotation="0" y="460.74"/> + <line x="348.1" y="460.64"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="330" x-axis-rotation="0" y="453.13"/> + <line x="351.26" y="388.03"/> + <arc large-arc-flag="0" rx="39.14" ry="18.69" sweep-flag="0" x="384.9" x-axis-rotation="0" y="375.26"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="506.05"/> + <curve x1="694.29" x2="683.27" x3="670.53" y1="520.25" y2="531.95" y3="543.13"/> + <curve x1="651.59" x2="622.27" x3="596.66" y1="558.22" y2="571.61" y3="571.61"/> + <line x="399.9" y="571.61"/> + <line x="399.9" y="525.92"/> + <line x="326.86" y="585.01"/> + <line x="399.9" y="650.97"/> + <line x="399.9" y="599.08"/> + <line x="587.91" y="599.08"/> + <curve x1="635.8" x2="664.63" x3="683.98" y1="599.08" y2="575.83" y3="557.56"/> + <line x="684.15" y="557.42"/> + <line x="684.31" y="557.28"/> + <curve x1="688.92" x2="695.52" x3="701.86" y1="552.28" y2="543.47" y3="531.92"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="226.23"/> + <curve x1="27.39" x2="40.03" x3="55.06" y1="208.32" y2="194.41" y3="181.22"/> + <curve x1="74" x2="103.31" x3="128.93" y1="166.13" y2="152.74" y3="152.74"/> + <line x="325.68" y="152.74"/> + <line x="325.68" y="198.43"/> + <line x="398.73" y="139.34"/> + <line x="325.68" y="73.38"/> + <line x="325.68" y="125.27"/> + <line x="137.68" y="125.27"/> + <curve x1="89.79" x2="60.95" x3="41.61" y1="125.27" y2="148.52" y3="166.79"/> + <line x="41.44" y="166.93"/> + <line x="41.28" y="167.07"/> + <curve x1="35.74" x2="27.37" x3="20" y1="173.07" y2="184.51" y3="199.62"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="virtual private network" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="95.85" y="81.24"/> + <line x="78.02" y="85.74"/> + <line x="78.02" y="93.58"/> + <curve x1="78.02" x2="78.78" x3="84.17" y1="97.83" y2="105.4" y3="112.77"/> + <line x="111.94" y="85.08"/> + <close/> + <move x="113.78" y="88.65"/> + <line x="86.62" y="115.74"/> + <curve x1="89.1" x2="92.28" x3="96.36" y1="118.42" y2="121" y3="123.32"/> + <curve x1="111.54" x2="113.72" x3="113.72" y1="114.35" y2="99.4" y3="93.07"/> + <close/> + <move x="95.99" y="70.89"/> + <line x="101.4" y="72.09"/> + <line x="101.34" y="75.68"/> + <line x="111.81" y="77.97"/> + <line x="111.86" y="74.4"/> + <line x="120.4" y="76.29"/> + <line x="120.4" y="94.99"/> + <curve x1="120.4" x2="109.54" x3="95.91" y1="111.1" y2="125.62" y3="131.18"/> + <curve x1="80.52" x2="71.15" x3="71.15" y1="125" y2="110.51" y3="95.72"/> + <line x="71.15" y="76.37"/> + <line x="79.7" y="74.48"/> + <line x="79.75" y="77.97"/> + <line x="90.22" y="75.68"/> + <line x="90.15" y="72.17"/> + <close/> + <move x="96.18" y="22.5"/> + <curve x1="55.17" x2="21.87" x3="21.87" y1="22.5" y2="55.8" y3="96.8"/> + <curve x1="21.87" x2="55.17" x3="96.18" y1="137.81" y2="171.11" y3="171.11"/> + <curve x1="137.18" x2="170.48" x3="170.48" y1="171.11" y2="137.81" y3="96.8"/> + <curve x1="170.48" x2="137.18" x3="96.18" y1="55.8" y2="22.5" y3="22.5"/> + <close/> + <move x="93.71" y="29.01"/> + <curve x1="93.74" x2="93.63" x3="93.52" y1="29.48" y2="29.77" y3="30.05"/> + <curve x1="92.26" x2="91.6" x3="90.81" y1="29.68" y2="29.41" y3="29.16"/> + <curve x1="91.77" x2="92.74" x3="93.71" y1="29.09" y2="29.04" y3="29.01"/> + <close/> + <move x="106.96" y="30.54"/> + <curve x1="107.73" x2="108.4" x3="108.56" y1="30.54" y2="30.61" y3="30.66"/> + <curve x1="108.99" x2="111.13" x3="110.75" y1="30.82" y2="31.2" y3="32.1"/> + <curve x1="110.37" x2="106.59" x3="105.56" y1="32.99" y2="32.58" y3="32.48"/> + <curve x1="104.54" x2="104.23" x3="104.16" y1="32.39" y2="32.25" y3="31.29"/> + <curve x1="104.11" x2="105.68" x3="106.96" y1="30.69" y2="30.53" y3="30.54"/> + <close/> + <move x="120.08" y="35.09"/> + <line x="120.08" y="35.09"/> + <curve x1="120.3" x2="120.52" x3="120.74" y1="35.09" y2="35.11" y3="35.15"/> + <curve x1="120.7" x2="121.37" x3="119.43" y1="35.68" y2="36.22" y3="37.39"/> + <curve x1="119.06" x2="117.99" x3="119.83" y1="37.62" y2="38.65" y3="38.24"/> + <curve x1="120.27" x2="122.46" x3="123.79" y1="38.14" y2="37.7" y3="38.32"/> + <curve x1="124.21" x2="124.53" x3="125.16" y1="38.51" y2="38.84" y3="38.33"/> + <curve x1="125.41" x2="125.49" x3="125.08" y1="38.13" y2="37.56" y3="37.04"/> + <curve x1="124.77" x2="124.51" x3="123.75" y1="36.63" y2="36.28" y3="36.2"/> + <curve x1="123.27" x2="123.15" x3="123.14" y1="36.15" y2="35.45" y3="35.43"/> + <curve x1="125.13" x2="129.3" x3="130.87" y1="36.16" y2="37.91" y3="39.38"/> + <curve x1="131.61" x2="130.15" x3="129.06" y1="40.07" y2="39.56" y3="39.63"/> + <curve x1="126.1" x2="126.49" x3="125.67" y1="39.82" y2="38.62" y3="39.23"/> + <curve x1="124.98" x2="125.97" x3="125.39" y1="39.74" y2="39.58" y3="40.39"/> + <curve x1="125.11" x2="124.51" x3="124.23" y1="40.78" y2="40.15" y3="40.58"/> + <curve x1="123.46" x2="124.62" x3="123.48" y1="41.8" y2="43.86" y3="45.88"/> + <curve x1="122.58" x2="121.62" x3="119.43" y1="47.47" y2="48.38" y3="49.01"/> + <curve x1="117.38" x2="116.7" x3="116.73" y1="49.6" y2="48.7" y3="51.01"/> + <curve x1="116.76" x2="115.07" x3="114.05" y1="52.36" y2="53.87" y3="53.51"/> + <line x="114.05" y="53.5"/> + <curve x1="112.19" x2="111.89" x3="112.58" y1="52.84" y2="52.12" y3="51.21"/> + <curve x1="113.33" x2="111.07" x3="112.62" y1="50.21" y2="49.65" y3="49.26"/> + <curve x1="114" x2="114.87" x3="112.95" y1="48.9" y2="48" y3="48.23"/> + <curve x1="111.8" x2="111.39" x3="109.4" y1="48.37" y2="48.78" y3="47.81"/> + <curve x1="108.55" x2="108.19" x3="107.68" y1="47.39" y2="47.51" y3="47"/> + <curve x1="107.16" x2="107.12" x3="105.19" y1="46.48" y2="46.01" y3="46.12"/> + <curve x1="103.5" x2="104.59" x3="104.05" y1="46.22" y2="45.26" y3="44.58"/> + <curve x1="103.52" x2="103.2" x3="103.64" y1="43.9" y2="43.91" y3="42.81"/> + <curve x1="104.06" x2="104.91" x3="106.45" y1="41.77" y2="40.83" y3="40.02"/> + <curve x1="107.31" x2="108.47" x3="109.18" y1="39.56" y2="39.41" y3="38.83"/> + <curve x1="109.78" x2="110.48" x3="111.37" y1="38.34" y2="38.01" y3="38.02"/> + <curve x1="112.11" x2="112.83" x3="113.92" y1="38.03" y2="38.05" y3="37.57"/> + <curve x1="114.62" x2="114.79" x3="115.44" y1="37.26" y2="37.42" y3="36.55"/> + <curve x1="115.89" x2="116.31" x3="117.23" y1="35.94" y2="36.14" y3="36.13"/> + <curve x1="117.86" x2="118.06" x3="118.16" y1="36.12" y2="35.66" y3="35.17"/> + <curve x1="118.81" x2="119.44" x3="120.08" y1="35.22" y2="35.08" y3="35.09"/> + <close/> + <move x="133.95" y="40.71"/> + <curve x1="134.91" x2="135.85" x3="136.77" y1="41.37" y2="42.05" y3="42.75"/> + <curve x1="136.1" x2="134.65" x3="133.91" y1="42.98" y2="42.85" y3="42.25"/> + <curve x1="133.29" x2="133.42" x3="133.95" y1="41.75" y2="41.12" y3="40.71"/> + <close/> + <move x="53.44" y="43.5"/> + <line x="53.56" y="43.78"/> + <curve x1="53.52" x2="53.51" x3="53.72" y1="44.08" y2="44.33" y3="44.46"/> + <curve x1="54.48" x2="53.64" x3="53.68" y1="44.97" y2="44.85" y3="45.98"/> + <curve x1="53.74" x2="53.04" x3="53.3" y1="47.38" y2="47.77" y3="48.35"/> + <curve x1="53.8" x2="54.83" x3="55.37" y1="49.53" y2="47.6" y3="48.45"/> + <curve x1="55.59" x2="55.81" x3="55.11" y1="48.8" y2="49.23" y3="49.57"/> + <curve x1="53.98" x2="54.24" x3="54.2" y1="50.13" y2="50.8" y3="51.8"/> + <curve x1="54.15" x2="55.05" x3="54.98" y1="53.16" y2="52.97" y3="53.59"/> + <curve x1="54.9" x2="53.36" x3="53.62" y1="54.24" y2="54.16" y3="55.63"/> + <curve x1="53.82" x2="55.21" x3="55.2" y1="56.8" y2="56.11" y3="58.52"/> + <curve x1="55.2" x2="54.56" x3="54.07" y1="59.54" y2="58.95" y3="59.73"/> + <curve x1="52.95" x2="52.05" x3="51.43" y1="61.49" y2="63.4" y3="63.99"/> + <curve x1="50.48" x2="49.31" x3="49.24" y1="64.91" y2="65.55" y3="66.88"/> + <curve x1="49.19" x2="48.63" x3="47.97" y1="67.66" y2="67.27" y3="68.3"/> + <curve x1="47.04" x2="47.04" x3="47.07" y1="69.76" y2="69.78" y3="72.74"/> + <curve x1="47.08" x2="46.61" x3="48.61" y1="73.84" y2="78" y3="77.81"/> + <curve x1="50.05" x2="49.51" x3="50.42" y1="77.68" y2="78.4" y3="78.9"/> + <curve x1="51.75" x2="51.23" x3="51.23" y1="79.64" y2="81.56" y3="82.75"/> + <curve x1="51.22" x2="51.15" x3="51.46" y1="84.23" y2="83.84" y3="84.69"/> + <curve x1="52.04" x2="52.84" x3="51.59" y1="86.31" y2="86.18" y3="87.2"/> + <curve x1="50.19" x2="52.71" x3="53.7" y1="88.35" y2="88.94" y3="89.41"/> + <curve x1="54.21" x2="54.36" x3="54.28" y1="89.65" y2="89.88" y3="90.85"/> + <curve x1="54.18" x2="54.65" x3="55.19" y1="91.92" y2="92.27" y3="92.81"/> + <curve x1="55.76" x2="56.9" x3="57.22" y1="93.38" y2="93.7" y3="93.54"/> + <curve x1="57.55" x2="56.55" x3="56.29" y1="93.38" y2="92.38" y3="92.15"/> + <curve x1="55.45" x2="55.55" x3="55.55" y1="91.45" y2="91.14" y3="90.6"/> + <curve x1="55.55" x2="55.08" x3="54.96" y1="89.98" y2="90.06" y3="89.04"/> + <curve x1="54.82" x2="54.14" x3="54.21" y1="87.88" y2="87.55" y3="86.64"/> + <curve x1="54.36" x2="54.15" x3="53.74" y1="84.81" y2="85.15" y3="84.4"/> + <curve x1="53.05" x2="54.23" x3="54.84" y1="83.13" y2="82.26" y3="82.14"/> + <curve x1="56.14" x2="55.98" x3="55.97" y1="81.87" y2="83.4" y3="84.19"/> + <curve x1="55.92" x2="56.35" x3="57.44" y1="86.49" y2="85.89" y3="86.7"/> + <curve x1="58.54" x2="57.52" x3="58.15" y1="87.52" y2="88.39" y3="89.12"/> + <curve x1="59.18" x2="58.51" x3="58.62" y1="90.3" y2="90.58" y3="90.89"/> + <curve x1="59.02" x2="59.71" x3="60.03" y1="92" y2="91.41" y3="93.03"/> + <curve x1="60.33" x2="62.01" x3="62.51" y1="94.52" y2="93.67" y3="96.96"/> + <curve x1="62.82" x2="60.12" x3="62.41" y1="99.03" y2="98.97" y3="100.29"/> + <curve x1="63.7" x2="63.25" x3="64.5" y1="101.04" y2="101.72" y3="101.6"/> + <curve x1="66.3" x2="66.62" x3="67.11" y1="101.42" y2="101.75" y3="102.3"/> + <curve x1="66.39" x2="65.95" x3="65.79" y1="98.91" y2="95.27" y3="91.35"/> + <line x="65.79" y="72.38"/> + <line x="95.55" y="66.08"/> + <line x="114.1" y="69.54"/> + <curve x1="114.49" x2="114.77" x3="115.45" y1="68.94" y2="68.81" y3="68.74"/> + <curve x1="115.99" x2="116.1" x3="116.59" y1="68.68" y2="68.86" y3="68.37"/> + <curve x1="116.87" x2="118" x3="119.05" y1="68.09" y2="67.95" y3="68.03"/> + <curve x1="119.82" x2="120.06" x3="120.05" y1="68.09" y2="68.08" y3="67.41"/> + <curve x1="120.02" x2="120.91" x3="122.24" y1="65.23" y2="65.54" y3="64.76"/> + <curve x1="125.11" x2="126.35" x3="127.23" y1="63.06" y2="63.07" y3="63.01"/> + <curve x1="129.64" x2="126.59" x3="126.27" y1="62.86" y2="63.95" y3="64.78"/> + <curve x1="125.99" x2="126.88" x3="127.49" y1="65.5" y2="65.49" y3="65.18"/> + <curve x1="128.52" x2="129.04" x3="129.75" y1="64.64" y2="64.73" y3="63.67"/> + <curve x1="130.41" x2="131.15" x3="133.07" y1="62.69" y2="63.44" y3="62.94"/> + <curve x1="134.99" x2="134.81" x3="135.37" y1="62.44" y2="62.33" y3="61.98"/> + <curve x1="136.18" x2="135.15" x3="134.76" y1="61.46" y2="60.6" y3="60.36"/> + <curve x1="134.26" x2="133.67" x3="133.54" y1="60.06" y2="60.54" y3="60.95"/> + <curve x1="133.04" x2="132.39" x3="132.1" y1="62.52" y2="62.44" y3="62.45"/> + <curve x1="130.69" x2="130.01" x3="129.69" y1="62.52" y2="61.37" y3="60.88"/> + <curve x1="129.16" x2="130.61" x3="131.05" y1="60.06" y2="59.58" y3="58.94"/> + <curve x1="131.99" x2="131.05" x3="130.34" y1="57.59" y2="57.64" y3="57.85"/> + <curve x1="129.01" x2="128.52" x3="129" y1="58.25" y2="57.71" y3="56.78"/> + <curve x1="129.95" x2="131.3" x3="132.06" y1="54.95" y2="55.85" y3="55.76"/> + <curve x1="133.46" x2="132.26" x3="133.11" y1="55.59" y2="56.26" y3="57.08"/> + <curve x1="133.69" x2="134.4" x3="134.68" y1="57.64" y2="57.31" y3="56.68"/> + <curve x1="135.05" x2="133.13" x3="133.47" y1="55.82" y2="56.67" y3="55.89"/> + <curve x1="133.87" x2="135.16" x3="136.65" y1="54.99" y2="55.56" y3="55.62"/> + <curve x1="137.76" x2="137.72" x3="138.18" y1="55.67" y2="55.78" y3="55.38"/> + <curve x1="139.09" x2="139.34" x3="139.73" y1="54.58" y2="55.14" y3="54.88"/> + <curve x1="140.94" x2="141.34" x3="141.99" y1="54.08" y2="53.92" y3="54.83"/> + <curve x1="142.69" x2="141.76" x3="140.86" y1="55.83" y2="55.57" y3="56.14"/> + <curve x1="139.54" x2="138.4" x3="137.99" y1="56.96" y2="58.25" y3="58.95"/> + <curve x1="137.2" x2="139.1" x3="140.9" y1="60.32" y2="59.25" y3="59.22"/> + <curve x1="142.4" x2="142.71" x3="143.6" y1="59.19" y2="59.01" y3="59.64"/> + <curve x1="144.53" x2="144.43" x3="144.99" y1="60.29" y2="59.8" y3="59.57"/> + <curve x1="146.15" x2="143.69" x3="144.46" y1="59.07" y2="58" y3="57.17"/> + <curve x1="144.93" x2="145.27" x3="144.41" y1="56.65" y2="56.47" y3="56.38"/> + <curve x1="142.76" x2="142.9" x3="142.88" y1="56.23" y2="55.59" y3="55.05"/> + <curve x1="142.84" x2="143.57" x3="143.66" y1="53.76" y2="54.67" y3="53.92"/> + <curve x1="143.8" x2="144.54" x3="144.58" y1="52.88" y2="53.19" y3="52.34"/> + <curve x1="144.64" x2="144.47" x3="144.39" y1="51.14" y2="51.58" y3="50.61"/> + <curve x1="144.3" x2="143.77" x3="143.6" y1="49.52" y2="50.15" y3="49.56"/> + <curve x1="143.47" x2="143.57" x3="143.6" y1="49.07" y2="48.83" y3="48.7"/> + <line x="143.6" y="48.7"/> + <curve x1="143.41" x2="143.21" x3="142.99" y1="48.13" y2="47.57" y3="47.04"/> + <curve x1="156.22" x2="164.48" x3="164.48" y1="59.49" y2="77.17" y3="96.8"/> + <curve x1="164.48" x2="160.81" x3="154.44" y1="109.89" y2="122.11" y3="132.5"/> + <line x="153.1" y="132.67"/> + <curve x1="152.05" x2="150.71" x3="149.2" y1="132.7" y2="132.56" y3="132.02"/> + <curve x1="148.4" x2="146.63" x3="146.63" y1="131.74" y2="132.24" y3="131.65"/> + <curve x1="146.63" x2="146.24" x3="145.79" y1="131.12" y2="131.41" y3="131.02"/> + <curve x1="145.32" x2="144.86" x3="144.59" y1="130.62" y2="129.88" y3="130.89"/> + <curve x1="144.48" x2="143.95" x3="143.11" y1="131.32" y2="130.7" y3="130.38"/> + <curve x1="142.26" x2="141.36" x3="140.7" y1="130.06" y2="130.58" y3="129.88"/> + <curve x1="140.01" x2="140.4" x3="139.73" y1="129.14" y2="128.92" y3="128.88"/> + <curve x1="138.33" x2="138.57" x3="138.68" y1="128.8" y2="128.36" y3="127.22"/> + <curve x1="138.81" x2="138.01" x3="137.94" y1="125.85" y2="126.05" y3="125.22"/> + <curve x1="137.86" x2="137.42" x3="137.16" y1="124.17" y2="124.66" y3="124.24"/> + <curve x1="136.81" x2="138.97" x3="137.42" y1="123.68" y2="124.09" y3="123.12"/> + <curve x1="135.57" x2="135.4" x3="134.07" y1="121.96" y2="121.89" y3="121.22"/> + <curve x1="131.34" x2="130.52" x3="128.91" y1="119.83" y2="122.19" y3="119.68"/> + <curve x1="128.16" x2="127.7" x3="127.2" y1="118.5" y2="119.12" y3="118.66"/> + <curve x1="126.46" x2="126.19" x3="125.66" y1="117.98" y2="117.7" y3="116.82"/> + <curve x1="125.32" x2="124.95" x3="124.38" y1="116.24" y2="116.5" y3="116.4"/> + <curve x1="123.47" x2="123.97" x3="123.81" y1="116.23" y2="115.76" y3="115.21"/> + <curve x1="123.56" x2="123.84" x3="123.46" y1="114.38" y2="113.9" y3="113.7"/> + <curve x1="123.14" x2="123.37" x3="122.54" y1="113.54" y2="114.19" y3="114.09"/> + <curve x1="121.97" x2="122.16" x3="121.63" y1="114.02" y2="113.25" y3="112.88"/> + <curve x1="117.01" x2="108.17" x3="96.62" y1="123.77" y2="131.48" y3="135.81"/> + <curve x1="95.93" x2="95.26" x3="94.59" y1="135.54" y2="135.27" y3="134.99"/> + <curve x1="94.6" x2="94.6" x3="94.6" y1="135" y2="135" y3="135.01"/> + <curve x1="94.82" x2="94.22" x3="95.2" y1="135.95" y2="136.46" y3="136.76"/> + <curve x1="96.83" x2="99.62" x3="99.89" y1="137.26" y2="142.54" y3="143.13"/> + <curve x1="100.51" x2="101.32" x3="101.95" y1="144.67" y2="144.51" y3="146.46"/> + <curve x1="103.39" x2="102.58" x3="103.72" y1="147.92" y2="148.12" y3="149"/> + <curve x1="105.3" x2="106.07" x3="107.49" y1="150.24" y2="152.34" y3="152.35"/> + <curve x1="108.16" x2="108.08" x3="109.64" y1="152.36" y2="152.95" y3="153.67"/> + <curve x1="110.72" x2="112.22" x3="112.63" y1="154.16" y2="155.17" y3="155.85"/> + <curve x1="112.97" x2="112.65" x3="113.04" y1="156.4" y2="156.36" y3="157.7"/> + <curve x1="113.58" x2="113.2" x3="113.28" y1="159.59" y2="159.95" y3="162.96"/> + <curve x1="107.81" x2="102.08" x3="96.18" y1="164.36" y2="165.11" y3="165.11"/> + <curve x1="58.42" x2="27.87" x3="27.87" y1="165.11" y2="134.56" y3="96.8"/> + <curve x1="27.87" x2="37.85" x3="53.44" y1="75.23" y2="56.01" y3="43.5"/> + <close/> + <move x="140.08" y="46.11"/> + <curve x1="140.46" x2="141.48" x3="142.61" y1="46.07" y2="47.02" y3="47.74"/> + <curve x1="142.62" x2="142.62" x3="142.62" y1="47.74" y2="47.74" y3="47.74"/> + <curve x1="142.9" x2="143.17" x3="143.44" y1="48" y2="48.27" y3="48.54"/> + <curve x1="143.36" x2="143.27" x3="143.12" y1="48.53" y2="48.52" y3="48.51"/> + <curve x1="139.34" x2="140.03" x3="139.95" y1="48.24" y2="47.08" y3="46.53"/> + <curve x1="139.91" x2="139.96" x3="140.08" y1="46.25" y2="46.12" y3="46.11"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="virtual private network2" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="537.5" y="414.97"/> + <curve x1="538.5" x2="539.37" x3="540.14" y1="414.97" y2="415.29" y3="415.94"/> + <curve x1="540.92" x2="541.56" x3="542.07" y1="416.56" y2="417.82" y3="419.72"/> + <curve x1="542.58" x2="542.83" x3="542.83" y1="421.59" y2="425.05" y3="430.09"/> + <curve x1="542.83" x2="542.78" x3="542.7" y1="431.97" y2="433.58" y3="435.05"/> + <curve x1="539.96" x2="537.05" x3="533.99" y1="437.92" y2="440.64" y3="443.16"/> + <curve x1="533.59" x2="533.24" x3="532.93" y1="442.49" y2="441.62" y3="440.49"/> + <curve x1="532.42" x2="532.17" x3="532.17" y1="438.59" y2="435.13" y3="430.09"/> + <curve x1="532.17" x2="532.45" x3="533.02" y1="425.05" y2="421.46" y3="419.34"/> + <curve x1="533.45" x2="534.05" x3="534.83" y1="417.7" y2="416.56" y3="415.94"/> + <curve x1="535.62" x2="536.5" x3="537.5" y1="415.29" y2="414.97" y3="414.97"/> + <close/> + <move x="494.75" y="414.97"/> + <curve x1="495.75" x2="496.62" x3="497.39" y1="414.97" y2="415.29" y3="415.94"/> + <curve x1="498.17" x2="498.81" x3="499.32" y1="416.56" y2="417.82" y3="419.72"/> + <curve x1="499.83" x2="500.08" x3="500.08" y1="421.59" y2="425.05" y3="430.09"/> + <curve x1="500.08" x2="499.8" x3="499.23" y1="435.13" y2="438.7" y3="440.81"/> + <curve x1="498.8" x2="498.2" x3="497.42" y1="442.45" y2="443.59" y3="444.24"/> + <curve x1="496.63" x2="495.75" x3="494.75" y1="444.86" y2="445.18" y3="445.18"/> + <curve x1="493.75" x2="492.87" x3="492.08" y1="445.18" y2="444.86" y3="444.24"/> + <curve x1="491.32" x2="490.69" x3="490.18" y1="443.61" y2="442.36" y3="440.49"/> + <curve x1="489.67" x2="489.42" x3="489.42" y1="438.59" y2="435.13" y3="430.09"/> + <curve x1="489.42" x2="489.7" x3="490.27" y1="425.05" y2="421.46" y3="419.34"/> + <curve x1="490.7" x2="491.3" x3="492.08" y1="417.7" y2="416.56" y3="415.94"/> + <curve x1="492.87" x2="493.75" x3="494.75" y1="415.29" y2="414.97" y3="414.97"/> + <close/> + <move x="418.25" y="414.97"/> + <curve x1="419.25" x2="420.12" x3="420.89" y1="414.97" y2="415.29" y3="415.94"/> + <curve x1="421.67" x2="422.31" x3="422.82" y1="416.56" y2="417.82" y3="419.72"/> + <curve x1="423.33" x2="423.58" x3="423.58" y1="421.59" y2="425.05" y3="430.09"/> + <curve x1="423.58" x2="423.3" x3="422.73" y1="435.13" y2="438.7" y3="440.81"/> + <curve x1="422.3" x2="421.7" x3="420.92" y1="442.45" y2="443.59" y3="444.24"/> + <curve x1="420.13" x2="419.25" x3="418.25" y1="444.86" y2="445.18" y3="445.18"/> + <curve x1="417.25" x2="416.37" x3="415.58" y1="445.18" y2="444.86" y3="444.24"/> + <curve x1="414.82" x2="414.19" x3="413.68" y1="443.61" y2="442.36" y3="440.49"/> + <curve x1="413.17" x2="412.92" x3="412.92" y1="438.59" y2="435.13" y3="430.09"/> + <curve x1="412.92" x2="413.2" x3="413.77" y1="425.05" y2="421.46" y3="419.34"/> + <curve x1="414.2" x2="414.8" x3="415.58" y1="417.7" y2="416.56" y3="415.94"/> + <curve x1="416.37" x2="417.25" x3="418.25" y1="415.29" y2="414.97" y3="414.97"/> + <close/> + <move x="455.75" y="408.51"/> + <curve x1="454.82" x2="453.09" x3="450.57" y1="411.13" y2="413.42" y3="415.39"/> + <curve x1="448.05" x2="445.71" x3="443.57" y1="417.35" y2="418.68" y3="419.38"/> + <line x="443.57" y="426.85"/> + <curve x1="447.65" x2="451.19" x3="454.2" y1="425.5" y2="423.42" y3="420.61"/> + <line x="454.2" y="451.63"/> + <line x="462.43" y="451.63"/> + <line x="462.43" y="408.51"/> + <close/> + <move x="494.75" y="408.14"/> + <curve x1="490.59" x2="487.35" x3="485.02" y1="408.14" y2="409.61" y3="412.54"/> + <curve x1="482.21" x2="480.8" x3="480.8" y1="416.09" y2="421.91" y3="430"/> + <curve x1="480.8" x2="482.08" x3="484.64" y1="438.24" y2="443.97" y3="447.2"/> + <curve x1="487.2" x2="490.57" x3="494.75" y1="450.4" y2="452" y3="452"/> + <curve x1="498.91" x2="502.15" x3="504.48" y1="452" y2="450.54" y3="447.61"/> + <curve x1="507.29" x2="508.7" x3="508.7" y1="444.05" y2="438.21" y3="430.09"/> + <curve x1="508.7" x2="507.3" x3="504.51" y1="421.94" y2="416.11" y3="412.6"/> + <curve x1="502.16" x2="498.91" x3="494.75" y1="409.63" y2="408.14" y3="408.14"/> + <close/> + <move x="558.25" y="351.4"/> + <curve x1="559.25" x2="560.12" x3="560.89" y1="351.4" y2="351.73" y3="352.37"/> + <curve x1="561.67" x2="562.31" x3="562.82" y1="353" y2="354.26" y3="356.15"/> + <curve x1="563.33" x2="563.58" x3="563.58" y1="358.03" y2="361.48" y3="366.52"/> + <curve x1="563.58" x2="563.3" x3="562.73" y1="371.56" y2="375.13" y3="377.24"/> + <curve x1="562.3" x2="561.7" x3="560.92" y1="378.88" y2="380.03" y3="380.67"/> + <curve x1="560.13" x2="559.25" x3="558.25" y1="381.3" y2="381.61" y3="381.61"/> + <curve x1="557.25" x2="556.37" x3="555.58" y1="381.61" y2="381.3" y3="380.67"/> + <curve x1="554.82" x2="554.19" x3="553.68" y1="380.05" y2="378.8" y3="376.92"/> + <curve x1="553.17" x2="552.92" x3="552.92" y1="375.03" y2="371.56" y3="366.52"/> + <curve x1="552.92" x2="553.2" x3="553.77" y1="361.48" y2="357.9" y3="355.77"/> + <curve x1="554.2" x2="554.8" x3="555.58" y1="354.13" y2="353" y3="352.37"/> + <curve x1="556.37" x2="557.25" x3="558.25" y1="351.73" y2="351.4" y3="351.4"/> + <close/> + <move x="486.25" y="351.4"/> + <curve x1="487.25" x2="488.12" x3="488.89" y1="351.4" y2="351.73" y3="352.37"/> + <curve x1="489.67" x2="490.31" x3="490.82" y1="353" y2="354.26" y3="356.15"/> + <curve x1="491.33" x2="491.58" x3="491.58" y1="358.03" y2="361.48" y3="366.52"/> + <curve x1="491.58" x2="491.3" x3="490.73" y1="371.56" y2="375.13" y3="377.24"/> + <curve x1="490.3" x2="489.7" x3="488.92" y1="378.88" y2="380.03" y3="380.67"/> + <curve x1="488.13" x2="487.25" x3="486.25" y1="381.3" y2="381.61" y3="381.61"/> + <curve x1="485.25" x2="484.37" x3="483.58" y1="381.61" y2="381.3" y3="380.67"/> + <curve x1="482.82" x2="482.19" x3="481.68" y1="380.05" y2="378.8" y3="376.92"/> + <curve x1="481.17" x2="480.92" x3="480.92" y1="375.03" y2="371.56" y3="366.52"/> + <curve x1="480.92" x2="481.2" x3="481.77" y1="361.48" y2="357.9" y3="355.77"/> + <curve x1="482.2" x2="482.8" x3="483.58" y1="354.13" y2="353" y3="352.37"/> + <curve x1="484.37" x2="485.25" x3="486.25" y1="351.73" y2="351.4" y3="351.4"/> + <close/> + <move x="447.25" y="351.4"/> + <curve x1="448.25" x2="449.12" x3="449.89" y1="351.4" y2="351.73" y3="352.37"/> + <curve x1="450.67" x2="451.31" x3="451.82" y1="353" y2="354.26" y3="356.15"/> + <curve x1="452.33" x2="452.58" x3="452.58" y1="358.03" y2="361.48" y3="366.52"/> + <curve x1="452.58" x2="452.3" x3="451.73" y1="371.56" y2="375.13" y3="377.24"/> + <curve x1="451.3" x2="450.7" x3="449.92" y1="378.88" y2="380.03" y3="380.67"/> + <curve x1="449.13" x2="448.25" x3="447.25" y1="381.3" y2="381.61" y3="381.61"/> + <curve x1="446.25" x2="445.37" x3="444.58" y1="381.61" y2="381.3" y3="380.67"/> + <curve x1="443.82" x2="443.19" x3="442.68" y1="380.05" y2="378.8" y3="376.92"/> + <curve x1="442.17" x2="441.92" x3="441.92" y1="375.03" y2="371.56" y3="366.52"/> + <curve x1="441.92" x2="442.2" x3="442.77" y1="361.48" y2="357.9" y3="355.77"/> + <curve x1="443.2" x2="443.8" x3="444.58" y1="354.13" y2="353" y3="352.37"/> + <curve x1="445.37" x2="446.25" x3="447.25" y1="351.73" y2="351.4" y3="351.4"/> + <close/> + <move x="376.5" y="351.4"/> + <curve x1="377.5" x2="378.38" x3="379.14" y1="351.4" y2="351.73" y3="352.37"/> + <curve x1="379.92" x2="380.56" x3="381.07" y1="353" y2="354.26" y3="356.15"/> + <curve x1="381.58" x2="381.83" x3="381.83" y1="358.03" y2="361.48" y3="366.52"/> + <curve x1="381.83" x2="381.55" x3="380.98" y1="371.56" y2="375.13" y3="377.24"/> + <curve x1="380.55" x2="379.95" x3="379.17" y1="378.88" y2="380.03" y3="380.67"/> + <curve x1="378.38" x2="377.5" x3="376.5" y1="381.3" y2="381.61" y3="381.61"/> + <curve x1="375.5" x2="374.62" x3="373.83" y1="381.61" y2="381.3" y3="380.67"/> + <curve x1="373.56" x2="373.31" x3="373.06" y1="380.45" y2="380.11" y3="379.72"/> + <curve x1="372.52" x2="372.24" x3="372.24" y1="375.52" y2="371.24" y3="366.89"/> + <curve x1="372.24" x2="372.57" x3="373.21" y1="362.19" y2="357.57" y3="353.05"/> + <curve x1="373.4" x2="373.61" x3="373.83" y1="352.79" y2="352.55" y3="352.37"/> + <curve x1="374.62" x2="375.5" x3="376.5" y1="351.73" y2="351.4" y3="351.4"/> + <close/> + <move x="522.5" y="344.94"/> + <curve x1="521.57" x2="519.84" x3="517.32" y1="347.56" y2="349.86" y3="351.83"/> + <curve x1="514.8" x2="512.46" x3="510.32" y1="353.78" y2="355.11" y3="355.81"/> + <line x="510.32" y="363.28"/> + <curve x1="514.4" x2="517.94" x3="520.95" y1="361.94" y2="359.86" y3="357.04"/> + <line x="520.95" y="388.07"/> + <line x="529.18" y="388.07"/> + <line x="529.18" y="344.94"/> + <close/> + <move x="412.5" y="344.94"/> + <curve x1="411.57" x2="409.84" x3="407.32" y1="347.56" y2="349.86" y3="351.83"/> + <curve x1="404.8" x2="402.46" x3="400.32" y1="353.78" y2="355.11" y3="355.81"/> + <line x="400.32" y="363.28"/> + <curve x1="404.4" x2="407.94" x3="410.95" y1="361.94" y2="359.86" y3="357.04"/> + <line x="410.95" y="388.07"/> + <line x="419.18" y="388.07"/> + <line x="419.18" y="344.94"/> + <close/> + <move x="486.25" y="344.58"/> + <curve x1="482.09" x2="478.85" x3="476.52" y1="344.58" y2="346.04" y3="348.97"/> + <curve x1="473.71" x2="472.3" x3="472.3" y1="352.53" y2="358.35" y3="366.43"/> + <curve x1="472.3" x2="473.58" x3="476.14" y1="374.68" y2="380.41" y3="383.63"/> + <curve x1="478.7" x2="482.07" x3="486.25" y1="386.83" y2="388.44" y3="388.44"/> + <curve x1="490.41" x2="493.65" x3="495.98" y1="388.44" y2="386.97" y3="384.04"/> + <curve x1="498.79" x2="500.2" x3="500.2" y1="380.49" y2="374.65" y3="366.52"/> + <curve x1="500.2" x2="498.8" x3="496.01" y1="358.38" y2="352.55" y3="349.03"/> + <curve x1="493.66" x2="490.41" x3="486.25" y1="346.06" y2="344.58" y3="344.58"/> + <close/> + <move x="447.25" y="344.58"/> + <curve x1="443.09" x2="439.85" x3="437.52" y1="344.58" y2="346.04" y3="348.97"/> + <curve x1="434.71" x2="433.3" x3="433.3" y1="352.53" y2="358.35" y3="366.43"/> + <curve x1="433.3" x2="434.58" x3="437.14" y1="374.68" y2="380.41" y3="383.63"/> + <curve x1="439.7" x2="443.07" x3="447.25" y1="386.83" y2="388.44" y3="388.44"/> + <curve x1="451.41" x2="454.65" x3="456.98" y1="388.44" y2="386.97" y3="384.04"/> + <curve x1="459.79" x2="461.2" x3="461.2" y1="380.49" y2="374.65" y3="366.52"/> + <curve x1="461.2" x2="459.8" x3="457.01" y1="358.38" y2="352.55" y3="349.03"/> + <curve x1="454.66" x2="451.41" x3="447.25" y1="346.06" y2="344.58" y3="344.58"/> + <close/> + <move x="206.04" y="293.72"/> + <curve x1="206.3" x2="207.1" x3="208.52" y1="293.87" y2="294.38" y3="296.29"/> + <curve x1="210.64" x2="213.18" x3="215.32" y1="299.16" y2="304.39" y3="311.22"/> + <curve x1="219.6" x2="222.47" x3="222.47" y1="324.88" y2="344.85" y3="366.89"/> + <curve x1="222.47" x2="219.6" x3="215.32" y1="388.93" y2="408.89" y3="422.55"/> + <curve x1="213.18" x2="210.64" x3="208.52" y1="429.38" y2="434.61" y3="437.47"/> + <curve x1="207.1" x2="206.3" x3="206.04" y1="439.39" y2="439.9" y3="440.05"/> + <curve x1="205.77" x2="204.97" x3="203.56" y1="439.9" y2="439.39" y3="437.47"/> + <curve x1="201.44" x2="198.89" x3="196.75" y1="434.61" y2="429.38" y3="422.55"/> + <curve x1="192.48" x2="189.6" x3="189.6" y1="408.89" y2="388.93" y3="366.89"/> + <curve x1="189.6" x2="192.48" x3="196.75" y1="344.85" y2="324.88" y3="311.22"/> + <curve x1="198.89" x2="201.44" x3="203.56" y1="304.39" y2="299.16" y3="296.29"/> + <curve x1="204.97" x2="205.77" x3="206.04" y1="294.38" y2="293.87" y3="293.72"/> + <close/> + <move x="495.75" y="287.22"/> + <curve x1="496.75" x2="497.62" x3="498.39" y1="287.22" y2="287.54" y3="288.19"/> + <curve x1="499.17" x2="499.81" x3="500.32" y1="288.81" y2="290.07" y3="291.97"/> + <curve x1="500.83" x2="501.08" x3="501.08" y1="293.84" y2="297.3" y3="302.34"/> + <curve x1="501.08" x2="500.8" x3="500.23" y1="307.38" y2="310.95" y3="313.06"/> + <curve x1="499.8" x2="499.2" x3="498.42" y1="314.7" y2="315.84" y3="316.49"/> + <curve x1="497.63" x2="496.75" x3="495.75" y1="317.11" y2="317.43" y3="317.43"/> + <curve x1="494.75" x2="493.87" x3="493.08" y1="317.43" y2="317.11" y3="316.49"/> + <curve x1="492.32" x2="491.69" x3="491.18" y1="315.86" y2="314.61" y3="312.74"/> + <curve x1="490.67" x2="490.42" x3="490.42" y1="310.84" y2="307.38" y3="302.34"/> + <curve x1="490.42" x2="490.7" x3="491.27" y1="297.3" y2="293.71" y3="291.59"/> + <curve x1="491.7" x2="492.3" x3="493.08" y1="289.95" y2="288.81" y3="288.19"/> + <curve x1="493.87" x2="494.75" x3="495.75" y1="287.54" y2="287.22" y3="287.22"/> + <close/> + <move x="419.46" y="287.22"/> + <curve x1="420.46" x2="421.34" x3="422.1" y1="287.22" y2="287.54" y3="288.19"/> + <curve x1="422.88" x2="423.53" x3="424.04" y1="288.81" y2="290.07" y3="291.97"/> + <curve x1="424.54" x2="424.8" x3="424.8" y1="293.84" y2="297.3" y3="302.34"/> + <curve x1="424.8" x2="424.51" x3="423.95" y1="307.38" y2="310.95" y3="313.06"/> + <curve x1="423.52" x2="422.91" x3="422.13" y1="314.7" y2="315.84" y3="316.49"/> + <curve x1="421.35" x2="420.46" x3="419.46" y1="317.11" y2="317.43" y3="317.43"/> + <curve x1="418.47" x2="417.58" x3="416.8" y1="317.43" y2="317.11" y3="316.49"/> + <curve x1="416.04" x2="415.4" x3="414.89" y1="315.86" y2="314.61" y3="312.74"/> + <curve x1="414.39" x2="414.13" x3="414.13" y1="310.84" y2="307.38" y3="302.34"/> + <curve x1="414.13" x2="414.42" x3="414.98" y1="297.3" y2="293.71" y3="291.59"/> + <curve x1="415.41" x2="416.02" x3="416.8" y1="289.95" y2="288.81" y3="288.19"/> + <curve x1="417.58" x2="418.47" x3="419.46" y1="287.54" y2="287.22" y3="287.22"/> + <close/> + <move x="458.72" y="280.76"/> + <curve x1="457.78" x2="456.05" x3="453.53" y1="283.38" y2="285.67" y3="287.64"/> + <curve x1="451.01" x2="448.68" x3="446.53" y1="289.6" y2="290.93" y3="291.63"/> + <line x="446.53" y="299.1"/> + <curve x1="450.61" x2="454.16" x3="457.17" y1="297.75" y2="295.67" y3="292.86"/> + <line x="457.17" y="323.88"/> + <line x="465.4" y="323.88"/> + <line x="465.4" y="280.76"/> + <close/> + <move x="495.75" y="280.39"/> + <curve x1="491.59" x2="488.35" x3="486.02" y1="280.39" y2="281.86" y3="284.79"/> + <curve x1="483.21" x2="481.8" x3="481.8" y1="288.34" y2="294.16" y3="302.25"/> + <curve x1="481.8" x2="483.08" x3="485.64" y1="310.49" y2="316.22" y3="319.45"/> + <curve x1="488.2" x2="491.57" x3="495.75" y1="322.65" y2="324.25" y3="324.25"/> + <curve x1="499.91" x2="503.15" x3="505.48" y1="324.25" y2="322.79" y3="319.86"/> + <curve x1="508.29" x2="509.7" x3="509.7" y1="316.3" y2="310.46" y3="302.34"/> + <curve x1="509.7" x2="508.3" x3="505.51" y1="294.19" y2="288.36" y3="284.85"/> + <curve x1="503.16" x2="499.91" x3="495.75" y1="281.88" y2="280.39" y3="280.39"/> + <close/> + <move x="471.07" y="268.05"/> + <curve x1="493.4" x2="513.98" x3="530.51" y1="268.05" y2="275.42" y3="287.87"/> + <curve x1="528.11" x2="525.88" x3="523.82" y1="289.69" y2="290.95" y3="291.63"/> + <line x="523.82" y="299.1"/> + <curve x1="527.9" x2="531.44" x3="534.45" y1="297.75" y2="295.67" y3="292.86"/> + <line x="534.45" y="323.88"/> + <line x="542.68" y="323.88"/> + <line x="542.68" y="298.7"/> + <curve x1="555.79" x2="564.95" x3="568.39" y1="312.46" y2="330.01" y3="349.55"/> + <curve x1="568.27" x2="568.14" x3="568.01" y1="349.38" y2="349.2" y3="349.03"/> + <curve x1="565.66" x2="562.41" x3="558.25" y1="346.06" y2="344.58" y3="344.58"/> + <curve x1="554.09" x2="550.85" x3="548.52" y1="344.58" y2="346.04" y3="348.97"/> + <curve x1="545.71" x2="544.3" x3="544.3" y1="352.53" y2="358.35" y3="366.43"/> + <curve x1="544.3" x2="545.58" x3="548.14" y1="374.68" y2="380.41" y3="383.63"/> + <curve x1="550.7" x2="554.07" x3="558.25" y1="386.83" y2="388.44" y3="388.44"/> + <curve x1="562.41" x2="565.65" x3="567.98" y1="388.44" y2="386.97" y3="384.04"/> + <curve x1="568.18" x2="568.37" x3="568.55" y1="383.79" y2="383.52" y3="383.24"/> + <curve x1="566.01" x2="559.94" x3="551.21" y1="398.59" y2="412.72" y3="424.8"/> + <curve x1="550.71" x2="549.4" x3="547.26" y1="419.37" y2="415.3" y3="412.6"/> + <curve x1="544.91" x2="541.66" x3="537.5" y1="409.63" y2="408.14" y3="408.14"/> + <curve x1="533.34" x2="530.1" x3="527.77" y1="408.14" y2="409.61" y3="412.54"/> + <curve x1="524.96" x2="523.55" x3="523.55" y1="416.09" y2="421.91" y3="430"/> + <curve x1="523.55" x2="524.83" x3="527.39" y1="438.24" y2="443.97" y3="447.2"/> + <curve x1="527.56" x2="527.74" x3="527.92" y1="447.41" y2="447.59" y3="447.79"/> + <curve x1="511.85" x2="492.25" x3="471.07" y1="459.09" y2="465.72" y3="465.72"/> + <curve x1="452.56" x2="435.26" x3="420.46" y1="465.72" y2="460.65" y3="451.83"/> + <curve x1="423.57" x2="426.08" x3="427.98" y1="451.39" y2="449.99" y3="447.61"/> + <curve x1="430.79" x2="432.2" x3="432.2" y1="444.05" y2="438.21" y3="430.09"/> + <curve x1="432.2" x2="430.8" x3="428.01" y1="421.94" y2="416.11" y3="412.6"/> + <curve x1="425.66" x2="422.41" x3="418.25" y1="409.63" y2="408.14" y3="408.14"/> + <curve x1="414.09" x2="410.85" x3="408.52" y1="408.14" y2="409.61" y3="412.54"/> + <curve x1="405.71" x2="404.3" x3="404.3" y1="416.09" y2="421.91" y3="430"/> + <curve x1="404.3" x2="404.65" x3="405.33" y1="434.25" y2="437.82" y3="440.74"/> + <curve x1="390.1" x2="379.11" x3="374.56" y1="427.18" y2="408.96" y3="388.3"/> + <curve x1="375.19" x2="375.83" x3="376.5" y1="388.38" y2="388.44" y3="388.44"/> + <curve x1="380.66" x2="383.9" x3="386.23" y1="388.44" y2="386.97" y3="384.04"/> + <curve x1="389.04" x2="390.45" x3="390.45" y1="380.49" y2="374.65" y3="366.52"/> + <curve x1="390.45" x2="389.05" x3="386.26" y1="358.38" y2="352.55" y3="349.03"/> + <curve x1="383.91" x2="380.66" x3="376.5" y1="346.06" y2="344.58" y3="344.58"/> + <curve x1="375.89" x2="375.31" x3="374.73" y1="344.58" y2="344.62" y3="344.68"/> + <curve x1="379.51" x2="390.88" x3="406.54" y1="323.8" y2="305.46" y3="291.96"/> + <curve x1="405.86" x2="405.52" x3="405.52" y1="294.85" y2="298.27" y3="302.25"/> + <curve x1="405.52" x2="406.8" x3="409.36" y1="310.49" y2="316.22" y3="319.45"/> + <curve x1="411.92" x2="415.29" x3="419.46" y1="322.65" y2="324.25" y3="324.25"/> + <curve x1="423.63" x2="426.87" x3="429.19" y1="324.25" y2="322.79" y3="319.86"/> + <curve x1="432" x2="433.41" x3="433.41" y1="316.3" y2="310.46" y3="302.34"/> + <curve x1="433.41" x2="432.01" x3="429.22" y1="294.19" y2="288.36" y3="284.85"/> + <curve x1="427.5" x2="425.28" x3="422.58" y1="282.67" y2="281.29" y3="280.71"/> + <curve x1="436.89" x2="453.43" x3="471.07" y1="272.65" y2="268.05" y3="268.05"/> + <close/> + <move x="471.07" y="252.93"/> + <curve x1="446.07" x2="422.93" x3="404.13" y1="252.93" y2="261.03" y3="274.72"/> + <line x="206.04" y="274.72"/> + <curve x1="198.38" x2="192.44" x3="188.36" y1="274.72" y2="279.55" y3="285.06"/> + <curve x1="184.29" x2="181.26" x3="178.72" y1="290.57" y2="297.44" y3="305.58"/> + <curve x1="173.62" x2="170.71" x3="170.71" y1="321.85" y2="343.25" y3="366.89"/> + <curve x1="170.71" x2="173.62" x3="178.72" y1="390.53" y2="411.92" y3="428.19"/> + <curve x1="181.26" x2="184.29" x3="188.36" y1="436.33" y2="443.21" y3="448.71"/> + <curve x1="192.44" x2="198.38" x3="206.04" y1="454.22" y2="459.04" y3="459.04"/> + <line x="404.12" y="459.04"/> + <curve x1="422.93" x2="446.07" x3="471.07" y1="472.74" y2="480.83" y3="480.83"/> + <curve x1="496.07" x2="519.21" x3="538.01" y1="480.83" y2="472.74" y3="459.04"/> + <line x="732.85" y="459.04"/> + <curve x1="740.5" x2="746.45" x3="750.53" y1="459.04" y2="454.22" y3="448.71"/> + <curve x1="754.6" x2="757.63" x3="760.17" y1="443.21" y2="436.33" y3="428.19"/> + <curve x1="765.26" x2="768.18" x3="768.18" y1="411.92" y2="390.53" y3="366.89"/> + <curve x1="768.18" x2="765.26" x3="760.17" y1="343.25" y2="321.85" y3="305.58"/> + <curve x1="757.63" x2="754.6" x3="750.53" y1="297.44" y2="290.57" y3="285.06"/> + <curve x1="746.45" x2="740.5" x3="732.85" y1="279.55" y2="274.72" y3="274.72"/> + <line x="538.01" y="274.72"/> + <curve x1="519.2" x2="496.07" x3="471.07" y1="261.03" y2="252.93" y3="252.93"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="virtual private network connector" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="220.2" y="480.75"/> + <curve x1="220.33" x2="220.74" x3="221.46" y1="480.83" y2="481.09" y3="482.07"/> + <curve x1="222.53" x2="223.82" x3="224.9" y1="483.52" y2="486.16" y3="489.61"/> + <curve x1="227.05" x2="228.49" x3="228.49" y1="496.51" y2="506.58" y3="517.7"/> + <curve x1="228.49" x2="227.05" x3="224.9" y1="528.82" y2="538.89" y3="545.79"/> + <curve x1="223.82" x2="222.53" x3="221.46" y1="549.23" y2="551.87" y3="553.32"/> + <curve x1="220.74" x2="220.33" x3="220.2" y1="554.31" y2="554.56" y3="554.64"/> + <curve x1="220.07" x2="219.65" x3="218.92" y1="554.56" y2="554.31" y3="553.32"/> + <curve x1="217.85" x2="216.57" x3="215.49" y1="551.87" y2="549.23" y3="545.79"/> + <curve x1="213.34" x2="211.9" x3="211.9" y1="538.89" y2="528.82" y3="517.7"/> + <curve x1="211.9" x2="213.34" x3="215.49" y1="506.58" y2="496.51" y3="489.61"/> + <curve x1="216.57" x2="217.85" x3="218.92" y1="486.16" y2="483.52" y3="482.07"/> + <curve x1="219.65" x2="220.07" x3="220.2" y1="481.09" y2="480.83" y3="480.75"/> + <close/> + <move x="472.95" y="426.34"/> + <curve x1="473.88" x2="474.7" x3="475.41" y1="426.34" y2="426.64" y3="427.24"/> + <curve x1="476.14" x2="476.74" x3="477.21" y1="427.83" y2="429" y3="430.77"/> + <curve x1="477.69" x2="477.92" x3="477.92" y1="432.52" y2="435.75" y3="440.45"/> + <curve x1="477.92" x2="477.89" x3="477.83" y1="442" y2="443.35" y3="444.6"/> + <curve x1="475.2" x2="472.4" x3="469.46" y1="447.33" y2="449.9" y3="452.29"/> + <curve x1="469.17" x2="468.91" x3="468.68" y1="451.72" y2="451.01" y3="450.16"/> + <curve x1="468.21" x2="467.97" x3="467.97" y1="448.39" y2="445.15" y3="440.45"/> + <curve x1="467.97" x2="468.24" x3="468.76" y1="435.75" y2="432.4" y3="430.42"/> + <curve x1="469.16" x2="469.73" x3="470.46" y1="428.88" y2="427.83" y3="427.24"/> + <curve x1="471.19" x2="472.02" x3="472.95" y1="426.64" y2="426.34" y3="426.34"/> + <close/> + <move x="433.27" y="426.34"/> + <curve x1="434.2" x2="435.02" x3="435.73" y1="426.34" y2="426.64" y3="427.24"/> + <curve x1="436.46" x2="437.06" x3="437.53" y1="427.83" y2="429" y3="430.77"/> + <curve x1="438.01" x2="438.24" x3="438.24" y1="432.52" y2="435.75" y3="440.45"/> + <curve x1="438.24" x2="437.98" x3="437.45" y1="445.15" y2="448.49" y3="450.46"/> + <curve x1="437.05" x2="436.49" x3="435.76" y1="451.99" y2="453.06" y3="453.66"/> + <curve x1="435.03" x2="434.2" x3="433.27" y1="454.24" y2="454.53" y3="454.53"/> + <curve x1="432.34" x2="431.51" x3="430.78" y1="454.53" y2="454.24" y3="453.66"/> + <curve x1="430.07" x2="429.48" x3="429" y1="453.07" y2="451.91" y3="450.16"/> + <curve x1="428.53" x2="428.29" x3="428.29" y1="448.39" y2="445.15" y3="440.45"/> + <curve x1="428.29" x2="428.56" x3="429.08" y1="435.75" y2="432.4" y3="430.42"/> + <curve x1="429.49" x2="430.05" x3="430.78" y1="428.88" y2="427.83" y3="427.24"/> + <curve x1="431.51" x2="432.34" x3="433.27" y1="426.64" y2="426.34" y3="426.34"/> + <close/> + <move x="361.27" y="426.34"/> + <curve x1="362.2" x2="363.02" x3="363.73" y1="426.34" y2="426.64" y3="427.24"/> + <curve x1="364.46" x2="365.06" x3="365.54" y1="427.83" y2="429" y3="430.77"/> + <curve x1="366.01" x2="366.25" x3="366.25" y1="432.52" y2="435.75" y3="440.45"/> + <curve x1="366.25" x2="365.98" x3="365.45" y1="445.15" y2="448.49" y3="450.46"/> + <curve x1="365.05" x2="364.49" x3="363.76" y1="451.99" y2="453.06" y3="453.66"/> + <curve x1="363.03" x2="362.2" x3="361.27" y1="454.24" y2="454.53" y3="454.53"/> + <curve x1="360.34" x2="359.51" x3="358.78" y1="454.53" y2="454.24" y3="453.66"/> + <curve x1="358.07" x2="357.48" x3="357" y1="453.07" y2="451.91" y3="450.16"/> + <curve x1="356.53" x2="356.29" x3="356.29" y1="448.39" y2="445.15" y3="440.45"/> + <curve x1="356.29" x2="356.56" x3="357.09" y1="435.75" y2="432.4" y3="430.42"/> + <curve x1="357.49" x2="358.05" x3="358.78" y1="428.88" y2="427.83" y3="427.24"/> + <curve x1="359.51" x2="360.34" x3="361.27" y1="426.64" y2="426.34" y3="426.34"/> + <close/> + <move x="396.97" y="420.31"/> + <curve x1="396.1" x2="394.48" x3="392.13" y1="422.76" y2="424.9" y3="426.74"/> + <curve x1="389.78" x2="387.6" x3="385.6" y1="428.56" y2="429.8" y3="430.46"/> + <line x="385.6" y="437.43"/> + <curve x1="389.41" x2="392.72" x3="395.52" y1="436.17" y2="434.23" y3="431.61"/> + <line x="395.52" y="460.56"/> + <line x="403.21" y="460.56"/> + <line x="403.21" y="420.31"/> + <close/> + <move x="433.27" y="419.97"/> + <curve x1="429.38" x2="426.36" x3="424.19" y1="419.97" y2="421.34" y3="424.07"/> + <curve x1="421.56" x2="420.25" x3="420.25" y1="427.39" y2="432.82" y3="440.37"/> + <curve x1="420.25" x2="421.45" x3="423.83" y1="448.06" y2="453.41" y3="456.42"/> + <curve x1="426.22" x2="429.37" x3="433.27" y1="459.41" y2="460.9" y3="460.9"/> + <curve x1="437.15" x2="440.18" x3="442.35" y1="460.9" y2="459.54" y3="456.8"/> + <curve x1="444.97" x2="446.28" x3="446.28" y1="453.49" y2="448.03" y3="440.45"/> + <curve x1="446.28" x2="444.98" x3="442.37" y1="432.85" y2="427.41" y3="424.13"/> + <curve x1="440.19" x2="437.15" x3="433.27" y1="421.36" y2="419.97" y3="419.97"/> + <close/> + <move x="492.91" y="365.14"/> + <curve x1="493.84" x2="494.66" x3="495.37" y1="365.14" y2="365.45" y3="366.05"/> + <curve x1="496.1" x2="496.7" x3="497.18" y1="366.63" y2="367.81" y3="369.57"/> + <curve x1="497.65" x2="497.89" x3="497.89" y1="371.32" y2="374.55" y3="379.25"/> + <curve x1="497.89" x2="497.62" x3="497.1" y1="383.96" y2="387.29" y3="389.26"/> + <curve x1="496.69" x2="496.13" x3="495.4" y1="390.79" y2="391.86" y3="392.46"/> + <curve x1="494.67" x2="493.84" x3="492.91" y1="393.04" y2="393.34" y3="393.34"/> + <curve x1="491.98" x2="491.15" x3="490.42" y1="393.34" y2="393.04" y3="392.46"/> + <curve x1="489.71" x2="489.12" x3="488.65" y1="391.88" y2="390.71" y3="388.96"/> + <curve x1="488.17" x2="487.94" x3="487.94" y1="387.19" y2="383.96" y3="379.25"/> + <curve x1="487.94" x2="488.2" x3="488.73" y1="374.55" y2="371.21" y3="369.22"/> + <curve x1="489.13" x2="489.69" x3="490.42" y1="367.69" y2="366.63" y3="366.05"/> + <curve x1="491.15" x2="491.98" x3="492.91" y1="365.45" y2="365.14" y3="365.14"/> + <close/> + <move x="424.97" y="365.14"/> + <curve x1="425.9" x2="426.72" x3="427.43" y1="365.14" y2="365.45" y3="366.05"/> + <curve x1="428.16" x2="428.76" x3="429.23" y1="366.63" y2="367.81" y3="369.57"/> + <curve x1="429.71" x2="429.95" x3="429.95" y1="371.32" y2="374.55" y3="379.25"/> + <curve x1="429.95" x2="429.68" x3="429.15" y1="383.96" y2="387.29" y3="389.26"/> + <curve x1="428.75" x2="428.19" x3="427.46" y1="390.79" y2="391.86" y3="392.46"/> + <curve x1="426.73" x2="425.9" x3="424.97" y1="393.04" y2="393.34" y3="393.34"/> + <curve x1="424.04" x2="423.21" x3="422.48" y1="393.34" y2="393.04" y3="392.46"/> + <curve x1="421.77" x2="421.18" x3="420.7" y1="391.88" y2="390.71" y3="388.96"/> + <curve x1="420.23" x2="419.99" x3="419.99" y1="387.19" y2="383.96" y3="379.25"/> + <curve x1="419.99" x2="420.26" x3="420.79" y1="374.55" y2="371.21" y3="369.22"/> + <curve x1="421.19" x2="421.75" x3="422.48" y1="367.69" y2="366.63" y3="366.05"/> + <curve x1="423.21" x2="424.04" x3="424.97" y1="365.45" y2="365.14" y3="365.14"/> + <close/> + <move x="387.1" y="365.14"/> + <curve x1="388.03" x2="388.85" x3="389.56" y1="365.14" y2="365.45" y3="366.05"/> + <curve x1="390.29" x2="390.89" x3="391.36" y1="366.63" y2="367.81" y3="369.57"/> + <curve x1="391.84" x2="392.07" x3="392.07" y1="371.32" y2="374.55" y3="379.25"/> + <curve x1="392.07" x2="391.81" x3="391.28" y1="383.96" y2="387.29" y3="389.26"/> + <curve x1="390.88" x2="390.32" x3="389.59" y1="390.79" y2="391.86" y3="392.46"/> + <curve x1="388.86" x2="388.03" x3="387.1" y1="393.04" y2="393.34" y3="393.34"/> + <curve x1="386.17" x2="385.34" x3="384.61" y1="393.34" y2="393.04" y3="392.46"/> + <curve x1="383.9" x2="383.31" x3="382.83" y1="391.88" y2="390.71" y3="388.96"/> + <curve x1="382.36" x2="382.12" x3="382.12" y1="387.19" y2="383.96" y3="379.25"/> + <curve x1="382.12" x2="382.39" x3="382.91" y1="374.55" y2="371.21" y3="369.22"/> + <curve x1="383.32" x2="383.88" x3="384.61" y1="367.69" y2="366.63" y3="366.05"/> + <curve x1="385.34" x2="386.17" x3="387.1" y1="365.45" y2="365.14" y3="365.14"/> + <close/> + <move x="323.05" y="365.14"/> + <curve x1="323.98" x2="324.8" x3="325.52" y1="365.14" y2="365.45" y3="366.05"/> + <curve x1="326.24" x2="326.85" x3="327.32" y1="366.63" y2="367.81" y3="369.57"/> + <curve x1="327.79" x2="328.03" x3="328.03" y1="371.32" y2="374.55" y3="379.25"/> + <curve x1="328.03" x2="327.77" x3="327.24" y1="383.96" y2="387.29" y3="389.26"/> + <curve x1="326.84" x2="326.27" x3="325.54" y1="390.79" y2="391.86" y3="392.46"/> + <curve x1="324.81" x2="323.98" x3="323.05" y1="393.04" y2="393.34" y3="393.34"/> + <curve x1="322.13" x2="321.3" x3="320.57" y1="393.34" y2="393.04" y3="392.46"/> + <curve x1="319.86" x2="319.26" x3="318.79" y1="391.88" y2="390.71" y3="388.96"/> + <curve x1="318.32" x2="318.08" x3="318.08" y1="387.19" y2="383.96" y3="379.25"/> + <curve x1="318.08" x2="318.34" x3="318.87" y1="374.55" y2="371.21" y3="369.22"/> + <curve x1="319.27" x2="319.84" x3="320.57" y1="367.69" y2="366.63" y3="366.05"/> + <curve x1="321.3" x2="322.13" x3="323.05" y1="365.45" y2="365.14" y3="365.14"/> + <close/> + <move x="459.71" y="359.12"/> + <curve x1="458.83" x2="457.22" x3="454.87" y1="361.56" y2="363.7" y3="365.54"/> + <curve x1="452.52" x2="450.34" x3="448.33" y1="367.36" y2="368.6" y3="369.26"/> + <line x="448.33" y="376.23"/> + <curve x1="452.14" x2="455.45" x3="458.26" y1="374.97" y2="373.03" y3="370.41"/> + <line x="458.26" y="399.37"/> + <line x="465.94" y="399.37"/> + <line x="465.94" y="359.12"/> + <close/> + <move x="354.74" y="359.12"/> + <curve x1="353.87" x2="352.26" x3="349.9" y1="361.56" y2="363.7" y3="365.54"/> + <curve x1="347.55" x2="345.37" x3="343.37" y1="367.36" y2="368.6" y3="369.26"/> + <line x="343.37" y="376.23"/> + <curve x1="347.18" x2="350.49" x3="353.29" y1="374.97" y2="373.03" y3="370.41"/> + <line x="353.29" y="399.37"/> + <line x="360.98" y="399.37"/> + <line x="360.98" y="359.12"/> + <close/> + <move x="424.97" y="358.77"/> + <curve x1="421.09" x2="418.06" x3="415.89" y1="358.77" y2="360.14" y3="362.88"/> + <curve x1="413.27" x2="411.95" x3="411.95" y1="366.19" y2="371.63" y3="379.17"/> + <curve x1="411.95" x2="413.15" x3="415.54" y1="386.86" y2="392.21" y3="395.22"/> + <curve x1="417.92" x2="421.07" x3="424.97" y1="398.21" y2="399.71" y3="399.71"/> + <curve x1="428.85" x2="431.88" x3="434.05" y1="399.71" y2="398.34" y3="395.61"/> + <curve x1="436.67" x2="437.98" x3="437.98" y1="392.29" y2="386.84" y3="379.25"/> + <curve x1="437.98" x2="436.68" x3="434.07" y1="371.65" y2="366.21" y3="362.93"/> + <curve x1="431.89" x2="428.85" x3="424.97" y1="360.16" y2="358.77" y3="358.77"/> + <close/> + <move x="387.1" y="358.77"/> + <curve x1="383.21" x2="380.19" x3="378.02" y1="358.77" y2="360.14" y3="362.88"/> + <curve x1="375.39" x2="374.08" x3="374.08" y1="366.19" y2="371.63" y3="379.17"/> + <curve x1="374.08" x2="375.28" x3="377.66" y1="386.86" y2="392.21" y3="395.22"/> + <curve x1="380.05" x2="383.2" x3="387.1" y1="398.21" y2="399.71" y3="399.71"/> + <curve x1="390.98" x2="394.01" x3="396.18" y1="399.71" y2="398.34" y3="395.61"/> + <curve x1="398.8" x2="400.11" x3="400.11" y1="392.29" y2="386.84" y3="379.25"/> + <curve x1="400.11" x2="398.81" x3="396.2" y1="371.65" y2="366.21" y3="362.93"/> + <curve x1="394.02" x2="390.98" x3="387.1" y1="360.16" y2="358.77" y3="358.77"/> + <close/> + <move x="220.2" y="342.71"/> + <curve x1="220.33" x2="220.74" x3="221.46" y1="342.79" y2="343.04" y3="344.03"/> + <curve x1="222.53" x2="223.82" x3="224.9" y1="345.47" y2="348.11" y3="351.56"/> + <curve x1="227.05" x2="228.49" x3="228.49" y1="358.46" y2="368.53" y3="379.65"/> + <curve x1="228.49" x2="227.05" x3="224.9" y1="390.77" y2="400.84" y3="407.74"/> + <curve x1="223.82" x2="222.53" x3="221.46" y1="411.19" y2="413.83" y3="415.28"/> + <curve x1="220.74" x2="220.33" x3="220.2" y1="416.27" y2="416.52" y3="416.6"/> + <curve x1="220.07" x2="219.65" x3="218.92" y1="416.52" y2="416.27" y3="415.28"/> + <curve x1="217.85" x2="216.57" x3="215.49" y1="413.83" y2="411.19" y3="407.74"/> + <curve x1="213.34" x2="211.9" x3="211.9" y1="400.84" y2="390.77" y3="379.65"/> + <curve x1="211.9" x2="213.34" x3="215.49" y1="368.53" y2="358.46" y3="351.56"/> + <curve x1="216.57" x2="217.85" x3="218.92" y1="348.11" y2="345.47" y3="344.03"/> + <curve x1="219.65" x2="220.07" x3="220.2" y1="343.04" y2="342.78" y3="342.71"/> + <close/> + <move x="433.56" y="303.82"/> + <curve x1="434.49" x2="435.31" x3="436.03" y1="303.82" y2="304.12" y3="304.72"/> + <curve x1="436.75" x2="437.36" x3="437.83" y1="305.3" y2="306.48" y3="308.25"/> + <curve x1="438.3" x2="438.54" x3="438.54" y1="310" y2="313.22" y3="317.93"/> + <curve x1="438.54" x2="438.28" x3="437.75" y1="322.63" y2="325.97" y3="327.94"/> + <curve x1="437.35" x2="436.78" x3="436.05" y1="329.47" y2="330.53" y3="331.13"/> + <curve x1="435.32" x2="434.49" x3="433.56" y1="331.72" y2="332.01" y3="332.01"/> + <curve x1="432.63" x2="431.81" x3="431.08" y1="332.01" y2="331.72" y3="331.13"/> + <curve x1="430.37" x2="429.77" x3="429.3" y1="330.55" y2="329.38" y3="327.63"/> + <curve x1="428.82" x2="428.59" x3="428.59" y1="325.87" y2="322.63" y3="317.93"/> + <curve x1="428.59" x2="428.85" x3="429.38" y1="313.22" y2="309.88" y3="307.89"/> + <curve x1="429.78" x2="430.35" x3="431.08" y1="306.36" y2="305.3" y3="304.72"/> + <curve x1="431.81" x2="432.63" x3="433.56" y1="304.12" y2="303.82" y3="303.82"/> + <close/> + <move x="397.82" y="303.82"/> + <curve x1="398.75" x2="399.57" x3="400.28" y1="303.82" y2="304.12" y3="304.72"/> + <curve x1="401.01" x2="401.61" x3="402.09" y1="305.3" y2="306.48" y3="308.25"/> + <curve x1="402.56" x2="402.8" x3="402.8" y1="310" y2="313.22" y3="317.93"/> + <curve x1="402.8" x2="402.53" x3="402.01" y1="322.63" y2="325.97" y3="327.94"/> + <curve x1="401.6" x2="401.04" x3="400.31" y1="329.47" y2="330.53" y3="331.13"/> + <curve x1="399.58" x2="398.75" x3="397.82" y1="331.72" y2="332.01" y3="332.01"/> + <curve x1="396.89" x2="396.06" x3="395.33" y1="332.01" y2="331.72" y3="331.13"/> + <curve x1="394.62" x2="394.03" x3="393.56" y1="330.55" y2="329.38" y3="327.63"/> + <curve x1="393.08" x2="392.85" x3="392.85" y1="325.87" y2="322.63" y3="317.93"/> + <curve x1="392.85" x2="393.11" x3="393.64" y1="313.22" y2="309.88" y3="307.89"/> + <curve x1="394.04" x2="394.6" x3="395.33" y1="306.36" y2="305.3" y3="304.72"/> + <curve x1="396.06" x2="396.89" x3="397.82" y1="304.12" y2="303.82" y3="303.82"/> + <close/> + <move x="363.22" y="303.82"/> + <curve x1="364.15" x2="364.97" x3="365.68" y1="303.82" y2="304.12" y3="304.72"/> + <curve x1="366.41" x2="367.01" x3="367.49" y1="305.3" y2="306.48" y3="308.25"/> + <curve x1="367.96" x2="368.2" x3="368.2" y1="310" y2="313.22" y3="317.93"/> + <curve x1="368.2" x2="367.93" x3="367.4" y1="322.63" y2="325.97" y3="327.94"/> + <curve x1="367" x2="366.44" x3="365.71" y1="329.47" y2="330.53" y3="331.13"/> + <curve x1="364.98" x2="364.15" x3="363.22" y1="331.72" y2="332.01" y3="332.01"/> + <curve x1="362.29" x2="361.46" x3="360.73" y1="332.01" y2="331.72" y3="331.13"/> + <curve x1="360.02" x2="359.43" x3="358.96" y1="330.55" y2="329.38" y3="327.63"/> + <curve x1="358.48" x2="358.24" x3="358.24" y1="325.87" y2="322.63" y3="317.93"/> + <curve x1="358.24" x2="358.51" x3="359.04" y1="313.22" y2="309.88" y3="307.89"/> + <curve x1="359.44" x2="360" x3="360.73" y1="306.36" y2="305.3" y3="304.72"/> + <curve x1="361.46" x2="362.29" x3="363.22" y1="304.12" y2="303.82" y3="303.82"/> + <close/> + <move x="433.56" y="297.45"/> + <curve x1="429.68" x2="426.66" x3="424.49" y1="297.45" y2="298.81" y3="301.55"/> + <curve x1="421.86" x2="420.55" x3="420.55" y1="304.87" y2="310.3" y3="317.85"/> + <curve x1="420.55" x2="421.74" x3="424.13" y1="325.54" y2="330.89" y3="333.9"/> + <curve x1="426.52" x2="429.66" x3="433.56" y1="336.89" y2="338.38" y3="338.38"/> + <curve x1="437.45" x2="440.47" x3="442.64" y1="338.38" y2="337.01" y3="334.28"/> + <curve x1="445.27" x2="446.58" x3="446.58" y1="330.96" y2="325.51" y3="317.93"/> + <curve x1="446.58" x2="445.28" x3="442.67" y1="310.33" y2="304.88" y3="301.6"/> + <curve x1="440.48" x2="437.45" x3="433.56" y1="298.83" y2="297.45" y3="297.45"/> + <close/> + <move x="397.82" y="297.45"/> + <curve x1="393.94" x2="390.91" x3="388.74" y1="297.45" y2="298.81" y3="301.55"/> + <curve x1="386.12" x2="384.81" x3="384.81" y1="304.87" y2="310.3" y3="317.85"/> + <curve x1="384.81" x2="386" x3="388.39" y1="325.54" y2="330.89" y3="333.9"/> + <curve x1="390.78" x2="393.92" x3="397.82" y1="336.89" y2="338.38" y3="338.38"/> + <curve x1="401.71" x2="404.73" x3="406.9" y1="338.38" y2="337.01" y3="334.28"/> + <curve x1="409.53" x2="410.84" x3="410.84" y1="330.96" y2="325.51" y3="317.93"/> + <curve x1="410.84" x2="409.53" x3="406.93" y1="310.33" y2="304.88" y3="301.6"/> + <curve x1="404.74" x2="401.71" x3="397.82" y1="298.83" y2="297.45" y3="297.45"/> + <close/> + <move x="410.68" y="286.77"/> + <curve x1="431.09" x2="449.93" x3="465.26" y1="286.77" y2="293.3" y3="304.37"/> + <curve x1="462.99" x2="460.88" x3="458.94" y1="306.1" y2="307.3" y3="307.93"/> + <line x="458.94" y="314.91"/> + <curve x1="462.75" x2="466.06" x3="468.87" y1="313.65" y2="311.71" y3="309.08"/> + <line x="468.87" y="338.04"/> + <line x="476.55" y="338.04"/> + <line x="476.55" y="313.98"/> + <curve x1="489.75" x2="499" x3="502.41" y1="327.16" y2="344.28" y3="363.46"/> + <curve x1="502.28" x2="502.15" x3="502.02" y1="363.28" y2="363.1" y3="362.93"/> + <curve x1="499.83" x2="496.79" x3="492.91" y1="360.16" y2="358.77" y3="358.77"/> + <curve x1="489.03" x2="486" x3="483.83" y1="358.77" y2="360.14" y3="362.87"/> + <curve x1="481.21" x2="479.9" x3="479.9" y1="366.19" y2="371.63" y3="379.17"/> + <curve x1="479.9" x2="481.09" x3="483.48" y1="386.86" y2="392.21" y3="395.22"/> + <curve x1="485.87" x2="489.01" x3="492.91" y1="398.21" y2="399.71" y3="399.71"/> + <curve x1="496.79" x2="499.82" x3="501.99" y1="399.71" y2="398.34" y3="395.61"/> + <curve x1="502.25" x2="502.49" x3="502.72" y1="395.28" y2="394.93" y3="394.56"/> + <curve x1="500.35" x2="494.39" x3="485.72" y1="409.64" y2="423.5" y3="435.25"/> + <curve x1="485.24" x2="484.02" x3="482.05" y1="430.31" y2="426.6" y3="424.13"/> + <curve x1="479.87" x2="476.83" x3="472.95" y1="421.36" y2="419.97" y3="419.97"/> + <curve x1="469.06" x2="466.04" x3="463.87" y1="419.97" y2="421.34" y3="424.07"/> + <curve x1="461.24" x2="459.93" x3="459.93" y1="427.39" y2="432.82" y3="440.37"/> + <curve x1="459.93" x2="461.13" x3="463.51" y1="448.06" y2="453.41" y3="456.42"/> + <curve x1="463.57" x2="463.63" x3="463.69" y1="456.49" y2="456.55" y3="456.62"/> + <curve x1="448.65" x2="430.4" x3="410.68" y1="467.02" y2="473.11" y3="473.11"/> + <curve x1="393.67" x2="377.74" x3="364.03" y1="473.11" y2="468.57" y3="460.64"/> + <curve x1="366.61" x2="368.72" x3="370.35" y1="460.13" y2="458.85" y3="456.8"/> + <curve x1="372.97" x2="374.29" x3="374.29" y1="453.49" y2="448.03" y3="440.45"/> + <curve x1="374.29" x2="372.98" x3="370.38" y1="432.85" y2="427.41" y3="424.13"/> + <curve x1="368.19" x2="365.15" x3="361.27" y1="421.36" y2="419.97" y3="419.97"/> + <curve x1="357.39" x2="354.36" x3="352.19" y1="419.97" y2="421.34" y3="424.07"/> + <curve x1="349.57" x2="348.25" x3="348.25" y1="427.39" y2="432.82" y3="440.37"/> + <curve x1="348.25" x2="348.54" x3="349.11" y1="444.11" y2="447.29" y3="449.92"/> + <curve x1="334.32" x2="323.7" x3="319.51" y1="436.9" y2="419.26" y3="399.22"/> + <curve x1="320.61" x2="321.79" x3="323.05" y1="399.53" y2="399.71" y3="399.71"/> + <curve x1="326.94" x2="329.96" x3="332.13" y1="399.71" y2="398.34" y3="395.61"/> + <curve x1="334.76" x2="336.07" x3="336.07" y1="392.29" y2="386.84" y3="379.25"/> + <curve x1="336.07" x2="334.77" x3="332.16" y1="371.65" y2="366.21" y3="362.93"/> + <curve x1="329.97" x2="326.94" x3="323.05" y1="360.16" y2="358.77" y3="358.77"/> + <curve x1="321.9" x2="320.84" x3="319.84" y1="358.77" y2="358.91" y3="359.15"/> + <curve x1="324.45" x2="335.69" x3="351.17" y1="338.82" y2="321.05" y3="308.2"/> + <curve x1="350.53" x2="350.21" x3="350.21" y1="310.9" y2="314.11" y3="317.85"/> + <curve x1="350.21" x2="351.4" x3="353.79" y1="325.54" y2="330.89" y3="333.9"/> + <curve x1="356.18" x2="359.32" x3="363.22" y1="336.89" y2="338.38" y3="338.38"/> + <curve x1="367.1" x2="370.13" x3="372.3" y1="338.38" y2="337.01" y3="334.28"/> + <curve x1="374.92" x2="376.24" x3="376.24" y1="330.96" y2="325.51" y3="317.93"/> + <curve x1="376.24" x2="374.93" x3="372.33" y1="310.33" y2="304.88" y3="301.6"/> + <curve x1="370.8" x2="368.86" x3="366.52" y1="299.68" y2="298.43" y3="297.85"/> + <curve x1="379.66" x2="394.69" x3="410.68" y1="290.78" y2="286.77" y3="286.77"/> + <close/> + <move x="220.2" y="204.67"/> + <curve x1="220.33" x2="220.74" x3="221.46" y1="204.74" y2="205" y3="205.98"/> + <curve x1="222.53" x2="223.82" x3="224.9" y1="207.43" y2="210.07" y3="213.52"/> + <curve x1="227.05" x2="228.49" x3="228.49" y1="220.42" y2="230.49" y3="241.61"/> + <curve x1="228.49" x2="227.05" x3="224.9" y1="252.73" y2="262.8" y3="269.7"/> + <curve x1="223.82" x2="222.53" x3="221.46" y1="273.15" y2="275.79" y3="277.23"/> + <curve x1="220.74" x2="220.33" x3="220.2" y1="278.22" y2="278.48" y3="278.55"/> + <curve x1="220.07" x2="219.65" x3="218.92" y1="278.48" y2="278.22" y3="277.23"/> + <curve x1="217.85" x2="216.57" x3="215.49" y1="275.79" y2="273.15" y3="269.7"/> + <curve x1="213.34" x2="211.9" x3="211.9" y1="262.8" y2="252.73" y3="241.61"/> + <curve x1="211.9" x2="213.34" x3="215.49" y1="230.49" y2="220.42" y3="213.52"/> + <curve x1="216.57" x2="217.85" x3="218.92" y1="210.07" y2="207.43" y3="205.98"/> + <curve x1="219.65" x2="220.07" x3="220.2" y1="205" y2="204.74" y3="204.67"/> + <close/> + <move x="220.19" y="195.17"/> + <curve x1="216.35" x2="213.37" x3="211.32" y1="195.17" y2="197.59" y3="200.37"/> + <curve x1="209.27" x2="207.76" x3="206.48" y1="203.14" y2="206.61" y3="210.71"/> + <curve x1="203.92" x2="202.45" x3="202.45" y1="218.91" y2="229.69" y3="241.61"/> + <curve x1="202.45" x2="203.92" x3="206.48" y1="253.53" y2="264.31" y3="272.51"/> + <curve x1="207.76" x2="209.27" x3="211.32" y1="276.61" y2="280.08" y3="282.85"/> + <curve x1="213.37" x2="216.35" x3="220.19" y1="285.62" y2="288.05" y3="288.05"/> + <line x="311.49" y="288.05"/> + <line x="330.15" y="307.63"/> + <curve x1="323.29" x2="317.5" x3="313.01" y1="315.27" y2="323.87" y3="333.22"/> + <line x="220.19" y="333.22"/> + <curve x1="216.35" x2="213.37" x3="211.32" y1="333.22" y2="335.64" y3="338.42"/> + <curve x1="209.27" x2="207.76" x3="206.48" y1="341.19" y2="344.65" y3="348.75"/> + <curve x1="203.92" x2="202.45" x3="202.45" y1="356.95" y2="367.73" y3="379.65"/> + <curve x1="202.45" x2="203.92" x3="206.48" y1="391.57" y2="402.36" y3="410.56"/> + <curve x1="207.76" x2="209.27" x3="211.32" y1="414.66" y2="418.12" y3="420.89"/> + <curve x1="213.37" x2="216.35" x3="220.19" y1="423.67" y2="426.09" y3="426.09"/> + <line x="312.73" y="426.09"/> + <curve x1="317.2" x2="323" x3="329.88" y1="435.54" y2="444.24" y3="451.95"/> + <line x="311.49" y="471.26"/> + <line x="220.19" y="471.26"/> + <curve x1="216.35" x2="213.37" x3="211.32" y1="471.26" y2="473.68" y3="476.46"/> + <curve x1="209.27" x2="207.76" x3="206.48" y1="479.23" y2="482.7" y3="486.8"/> + <curve x1="203.92" x2="202.45" x3="202.45" y1="495" y2="505.78" y3="517.7"/> + <curve x1="202.45" x2="203.92" x3="206.48" y1="529.61" y2="540.4" y3="548.6"/> + <curve x1="207.76" x2="209.27" x3="211.32" y1="552.7" y2="556.17" y3="558.94"/> + <curve x1="213.37" x2="216.35" x3="220.19" y1="561.71" y2="564.14" y3="564.14"/> + <line x="350.96" y="564.14"/> + <line x="421.52" y="487.69"/> + <curve x1="441.36" x2="459.64" x3="474.87" y1="485.71" y2="478.35" y3="467.1"/> + <line x="706.04" y="467.1"/> + <curve x1="723.61" x2="737.87" x3="737.87" y1="467.1" y2="427.94" y3="379.63"/> + <curve x1="737.87" x2="723.61" x3="706.04" y1="331.32" y2="292.16" y3="292.16"/> + <line x="474.02" y="292.16"/> + <curve x1="459.11" x2="441.36" x3="422.11" y1="281.37" y2="274.28" y3="272.26"/> + <line x="350.96" y="195.17"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="vmanage" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="91.11" y="33.33"/> + <curve x1="86.95" x2="83.6" x3="83.6" y1="33.33" y2="36.68" y3="40.85"/> + <line x="83.6" y="55.79"/> + <curve x1="83.6" x2="86.95" x3="91.11" y1="59.95" y2="63.3" y3="63.3"/> + <line x="95.19" y="63.3"/> + <line x="95.19" y="82.14"/> + <line x="35.27" y="82.14"/> + <curve x1="31.01" x2="27.57" x3="27.57" y1="82.14" y2="85.57" y3="89.84"/> + <line x="27.57" y="104.2"/> + <curve x1="27.57" x2="31.01" x3="35.27" y1="108.46" y2="111.9" y3="111.9"/> + <line x="43.93" y="111.9"/> + <line x="43.93" y="130.29"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="36.93" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="47.22" x-axis-rotation="0" y="150.31"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="57.51" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="50.51" x-axis-rotation="0" y="130.28"/> + <line x="50.51" y="111.9"/> + <line x="78.11" y="111.9"/> + <line x="78.11" y="130.29"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="71.11" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="81.4" x-axis-rotation="0" y="150.31"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="91.69" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="84.69" x-axis-rotation="0" y="130.28"/> + <line x="84.69" y="111.9"/> + <line x="112.28" y="111.9"/> + <line x="112.28" y="130.29"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="105.28" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="115.57" x-axis-rotation="0" y="150.31"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="125.86" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="118.86" x-axis-rotation="0" y="130.28"/> + <line x="118.86" y="111.9"/> + <line x="146.45" y="111.9"/> + <line x="146.45" y="130.29"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="139.46" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="149.75" x-axis-rotation="0" y="150.31"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="160.04" x-axis-rotation="0" y="140.02"/> + <arc large-arc-flag="0" rx="10.29" ry="10.29" sweep-flag="0" x="153.04" x-axis-rotation="0" y="130.28"/> + <line x="153.04" y="111.9"/> + <line x="161.7" y="111.9"/> + <curve x1="165.96" x2="169.4" x3="169.4" y1="111.9" y2="108.46" y3="104.2"/> + <line x="169.4" y="89.84"/> + <curve x1="169.4" x2="165.96" x3="161.7" y1="85.57" y2="82.14" y3="82.14"/> + <line x="101.78" y="82.14"/> + <line x="101.78" y="63.3"/> + <line x="105.86" y="63.3"/> + <curve x1="110.02" x2="113.37" x3="113.37" y1="63.3" y2="59.95" y3="55.79"/> + <line x="113.37" y="40.85"/> + <curve x1="113.37" x2="110.02" x3="105.86" y1="36.68" y2="33.33" y3="33.33"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="vpn concentrator" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="812.97" y="110.76"/> + <line x="124.44" y="111.16"/> + <curve x1="115.9" x2="108.59" x3="103.11" y1="111.17" y2="116.02" y3="122.55"/> + <curve x1="97.63" x2="93.38" x3="89.9" y1="129.07" y2="137.54" y3="147.21"/> + <curve x1="82.94" x2="79.19" x3="79.19" y1="166.54" y2="190.77" y3="213.26"/> + <curve x1="79.19" x2="83.29" x3="90.39" y1="238.73" y2="264.29" y3="284.16"/> + <curve x1="93.94" x2="98.2" x3="103.56" y1="294.09" y2="302.62" y3="309.15"/> + <curve x1="108.91" x2="115.94" x3="124.25" y1="315.67" y2="320.57" y3="320.57"/> + <line x="124.26" y="320.57"/> + <line x="814.5" y="320.06"/> + <curve x1="822.31" x2="828.96" x3="833.88" y1="320.06" y2="315.45" y3="309.3"/> + <curve x1="838.81" x2="842.65" x3="845.84" y1="303.15" y2="295.12" y3="285.61"/> + <curve x1="852.22" x2="855.81" x3="855.81" y1="266.57" y2="241.5" y3="214.63"/> + <curve x1="855.81" x2="852.93" x3="846.74" y1="192.81" y2="168.25" y3="148.38"/> + <curve x1="843.65" x2="839.78" x3="834.5" y1="138.44" y2="129.65" y3="122.8"/> + <curve x1="829.21" x2="821.78" x3="812.98" y1="115.96" y2="110.76" y3="110.76"/> + <close/> + <move x="812.98" y="125.88"/> + <curve x1="816.05" x2="818.98" x3="822.53" y1="125.88" y2="127.43" y3="132.04"/> + <curve x1="826.09" x2="829.55" x3="832.3" y1="136.65" y2="144.01" y3="152.87"/> + <curve x1="837.82" x2="840.69" x3="840.69" y1="170.58" y2="194.18" y3="214.63"/> + <curve x1="840.69" x2="837.14" x3="831.51" y1="240.12" y2="263.98" y3="280.8"/> + <curve x1="828.69" x2="825.31" x3="822.09" y1="289.21" y2="295.82" y3="299.85"/> + <curve x1="818.87" x2="816.42" x3="814.5" y1="303.87" y2="304.95" y3="304.95"/> + <curve x1="812.74" x2="810.03" x3="806.59" y1="304.95" y2="303.78" y3="299.64"/> + <curve x1="803.14" x2="799.49" x3="796.39" y1="295.5" y2="288.81" y3="280.43"/> + <curve x1="790.2" x2="786.06" x3="786.06" y1="263.68" y2="240.27" y3="216.13"/> + <curve x1="786.06" x2="790.05" x3="796.06" y1="194.27" y2="170.37" y3="152.57"/> + <curve x1="799.07" x2="802.62" x3="806" y1="143.67" y2="136.29" y3="131.65"/> + <curve x1="809.38" x2="812.03" x3="812.98" y1="127.01" y2="125.88" y3="125.88"/> + <close/> + <move x="791.95" y="125.89"/> + <curve x1="788.03" x2="784.6" x3="781.73" y1="132.02" y2="139.25" y3="147.73"/> + <curve x1="775.07" x2="770.94" x3="770.94" y1="167.46" y2="192.47" y3="216.13"/> + <curve x1="770.94" x2="775.21" x3="782.21" y1="241.97" y2="266.73" y3="285.68"/> + <curve x1="784.99" x2="788.34" x3="792.1" y1="293.2" y2="299.49" y3="304.96"/> + <line x="124.25" y="305.45"/> + <curve x1="121.9" x2="118.92" x3="115.24" y1="305.45" y2="304.03" y3="299.56"/> + <curve x1="111.57" x2="107.79" x3="104.63" y1="295.08" y2="287.91" y3="279.07"/> + <curve x1="98.31" x2="94.31" x3="94.31" y1="261.39" y2="237.08" y3="213.26"/> + <curve x1="94.31" x2="97.96" x3="104.13" y1="192.5" y2="169.45" y3="152.33"/> + <curve x1="107.21" x2="110.96" x3="114.69" y1="143.77" y2="136.72" y3="132.28"/> + <curve x1="118.42" x2="121.55" x3="124.45" y1="127.83" y2="126.28" y3="126.28"/> + <close/> + <move x="596.97" y="142.17"/> + <line x="596.97" y="191.76"/> + <line x="231.82" y="191.76"/> + <line x="231.82" y="239.56"/> + <line x="596.97" y="239.56"/> + <line x="596.97" y="289.15"/> + <line x="703.41" y="215.66"/> + <close/> + <move x="812.97" y="407.35"/> + <line x="124.44" y="407.76"/> + <curve x1="115.9" x2="108.59" x3="103.11" y1="407.76" y2="412.62" y3="419.14"/> + <curve x1="97.62" x2="93.38" x3="89.9" y1="425.67" y2="434.13" y3="443.8"/> + <curve x1="82.94" x2="79.19" x3="79.19" y1="463.14" y2="487.37" y3="509.85"/> + <curve x1="79.19" x2="83.29" x3="90.39" y1="535.33" y2="560.89" y3="580.75"/> + <curve x1="93.94" x2="98.2" x3="103.56" y1="590.69" y2="599.22" y3="605.74"/> + <curve x1="108.91" x2="115.94" x3="124.25" y1="612.26" y2="617.16" y3="617.16"/> + <line x="124.26" y="617.16"/> + <line x="814.5" y="616.66"/> + <curve x1="822.31" x2="828.96" x3="833.88" y1="616.66" y2="612.04" y3="605.89"/> + <curve x1="838.81" x2="842.65" x3="845.84" y1="599.74" y2="591.72" y3="582.2"/> + <curve x1="852.22" x2="855.81" x3="855.81" y1="563.17" y2="538.09" y3="511.22"/> + <curve x1="855.81" x2="852.93" x3="846.74" y1="489.4" y2="464.84" y3="444.97"/> + <curve x1="843.65" x2="839.78" x3="834.5" y1="435.03" y2="426.25" y3="419.4"/> + <curve x1="829.21" x2="821.78" x3="812.98" y1="412.55" y2="407.35" y3="407.35"/> + <close/> + <move x="812.98" y="422.47"/> + <curve x1="816.05" x2="818.98" x3="822.53" y1="422.47" y2="424.03" y3="428.63"/> + <curve x1="826.09" x2="829.55" x3="832.3" y1="433.24" y2="440.6" y3="449.46"/> + <curve x1="837.82" x2="840.69" x3="840.69" y1="467.18" y2="490.77" y3="511.22"/> + <curve x1="840.69" x2="837.14" x3="831.51" y1="536.71" y2="560.58" y3="577.39"/> + <curve x1="828.69" x2="825.31" x3="822.09" y1="585.8" y2="592.42" y3="596.44"/> + <curve x1="818.87" x2="816.42" x3="814.5" y1="600.46" y2="601.54" y3="601.54"/> + <curve x1="812.74" x2="810.03" x3="806.59" y1="601.54" y2="600.37" y3="596.23"/> + <curve x1="803.14" x2="799.49" x3="796.39" y1="592.1" y2="585.4" y3="577.03"/> + <curve x1="790.2" x2="786.06" x3="786.06" y1="560.27" y2="536.86" y3="512.73"/> + <curve x1="786.06" x2="790.05" x3="796.06" y1="490.86" y2="466.96" y3="449.16"/> + <curve x1="799.07" x2="802.62" x3="806" y1="440.26" y2="432.88" y3="428.24"/> + <curve x1="809.38" x2="812.03" x3="812.98" y1="423.6" y2="422.47" y3="422.47"/> + <close/> + <move x="791.95" y="422.48"/> + <curve x1="788.03" x2="784.6" x3="781.73" y1="428.61" y2="435.84" y3="444.33"/> + <curve x1="775.07" x2="770.94" x3="770.94" y1="464.05" y2="489.07" y3="512.73"/> + <curve x1="770.94" x2="775.21" x3="782.21" y1="538.56" y2="563.33" y3="582.27"/> + <curve x1="784.99" x2="788.34" x3="792.1" y1="589.8" y2="596.08" y3="601.55"/> + <line x="124.25" y="602.04"/> + <curve x1="121.9" x2="118.92" x3="115.24" y1="602.04" y2="600.63" y3="596.15"/> + <curve x1="111.57" x2="107.79" x3="104.63" y1="591.67" y2="584.51" y3="575.67"/> + <curve x1="98.31" x2="94.31" x3="94.31" y1="557.98" y2="533.67" y3="509.85"/> + <curve x1="94.31" x2="97.96" x3="104.13" y1="489.09" y2="466.05" y3="448.93"/> + <curve x1="107.21" x2="110.96" x3="114.69" y1="440.37" y2="433.31" y3="428.87"/> + <curve x1="118.42" x2="121.55" x3="124.45" y1="424.43" y2="422.88" y3="422.88"/> + <close/> + <move x="312.65" y="438.77"/> + <line x="206.21" y="512.26"/> + <line x="312.65" y="585.75"/> + <line x="312.65" y="536.15"/> + <line x="677.79" y="536.15"/> + <line x="677.79" y="488.36"/> + <line x="312.65" y="488.36"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="196.97" name="vsmart" strokewidth="inherit" w="196.97"> + <connections/> + <foreground> + <path> + <move x="98.48" y="24.05"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="84.05" x-axis-rotation="0" y="38.48"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="94.85" x-axis-rotation="0" y="52.43"/> + <line x="94.85" y="74.3"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="74.04" x-axis-rotation="0" y="89.47"/> + <line x="52.4" y="82.32"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="42.54" x-axis-rotation="0" y="67.69"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="24.31" x-axis-rotation="0" y="76.87"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="33.48" x-axis-rotation="0" y="95.1"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="50.53" x-axis-rotation="0" y="88.55"/> + <line x="71.93" y="95.62"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="71.36" x-axis-rotation="0" y="101.15"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="81.33" x-axis-rotation="0" y="122.14"/> + <line x="67.6" y="138.55"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="50.37" x-axis-rotation="0" y="142.32"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="52.18" x-axis-rotation="0" y="162.65"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="72.51" x-axis-rotation="0" y="160.84"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="72.7" x-axis-rotation="0" y="142.58"/> + <line x="86.87" y="125.63"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="98.48" x-axis-rotation="0" y="128.28"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="110.1" x-axis-rotation="0" y="125.64"/> + <line x="124.27" y="142.58"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="124.46" x-axis-rotation="0" y="160.84"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="144.79" x-axis-rotation="0" y="162.65"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="146.6" x-axis-rotation="0" y="142.32"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="129.36" x-axis-rotation="0" y="138.55"/> + <line x="115.64" y="122.14"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="125.61" x-axis-rotation="0" y="101.15"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="125.01" x-axis-rotation="0" y="95.62"/> + <line x="146.44" y="88.55"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="163.48" x-axis-rotation="0" y="95.1"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="172.66" x-axis-rotation="0" y="76.87"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="154.43" x-axis-rotation="0" y="67.69"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="144.57" x-axis-rotation="0" y="82.32"/> + <line x="122.94" y="89.47"/> + <arc large-arc-flag="0" rx="27.13" ry="27.13" sweep-flag="0" x="101.34" x-axis-rotation="0" y="74.18"/> + <line x="101.34" y="52.61"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="112.92" x-axis-rotation="0" y="38.48"/> + <arc large-arc-flag="0" rx="14.43" ry="14.43" sweep-flag="0" x="98.48" x-axis-rotation="0" y="24.05"/> + <close/> + <move x="98.48" y="2.5"/> + <curve x1="151.51" x2="194.47" x3="194.47" y1="2.5" y2="45.46" y3="98.48"/> + <curve x1="194.47" x2="151.51" x3="98.48" y1="151.51" y2="194.47" y3="194.47"/> + <curve x1="45.46" x2="2.5" x3="2.5" y1="194.47" y2="151.51" y3="98.48"/> + <curve x1="2.5" x2="45.46" x3="98.48" y1="45.46" y2="2.5" y3="2.5"/> + <close/> + <move x="98.48" y="0"/> + <curve x1="44.11" x2="0" x3="0" y1="0" y2="44.11" y3="98.48"/> + <curve x1="0" x2="44.11" x3="98.48" y1="152.86" y2="196.97" y3="196.97"/> + <curve x1="152.86" x2="196.97" x3="196.97" y1="196.97" y2="152.86" y3="98.48"/> + <curve x1="196.97" x2="152.86" x3="98.48" y1="44.11" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="716.27" name="vts" strokewidth="inherit" w="716.26"> + <connections/> + <foreground> + <path> + <move x="358.13" y="0"/> + <curve x1="160.49" x2="0" x3="0" y1="0" y2="160.5" y3="358.13"/> + <curve x1="0" x2="160.49" x3="358.13" y1="555.77" y2="716.27" y3="716.27"/> + <curve x1="555.77" x2="716.26" x3="716.26" y1="716.27" y2="555.77" y3="358.13"/> + <curve x1="716.26" x2="555.77" x3="358.13" y1="160.5" y2="0" y3="0"/> + <close/> + <move x="358.13" y="26.46"/> + <curve x1="358.74" x2="359.34" x3="359.94" y1="26.46" y2="26.47" y3="26.47"/> + <curve x1="364.01" x2="367.58" x3="370.7" y1="41.44" y2="57.18" y3="73.46"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="344.59" x-axis-rotation="0" y="116.96"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="383.38" x-axis-rotation="0" y="165.14"/> + <curve x1="385.59" x2="387.11" x3="388.01" y1="188.99" y2="213.16" y3="237.14"/> + <curve x1="331.84" x2="254.19" x3="161.11" y1="160.26" y2="111.32" y3="91.21"/> + <curve x1="216.18" x2="284.31" x3="358.13" y1="50.52" y2="26.46" y3="26.46"/> + <close/> + <move x="379.68" y="27.14"/> + <curve x1="541.36" x2="671.32" x3="687.99" y1="37.49" y2="163.38" y3="323.23"/> + <curve x1="658.52" x2="629.18" x3="600.2" y1="310.15" y2="299.79" y3="291.67"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="600.36" x-axis-rotation="0" y="288.48"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="550.99" x-axis-rotation="0" y="239.11"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="504.53" x-axis-rotation="0" y="271.99"/> + <curve x1="471.33" x2="439.01" x3="407.97" y1="267.47" y2="265.27" y3="264.54"/> + <curve x1="407.48" x2="405.81" x3="402.76" y1="231.86" y2="198.44" y3="165.51"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="443.32" x-axis-rotation="0" y="116.96"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="393.96" x-axis-rotation="0" y="67.6"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="388.99" x-axis-rotation="0" y="67.9"/> + <curve x1="386.22" x2="383.13" x3="379.68" y1="53.91" y2="40.29" y3="27.14"/> + <close/> + <move x="141.76" y="106.65"/> + <curve x1="244.58" x2="327.67" x3="384.63" y1="124.74" y2="176.7" y3="264.28"/> + <curve x1="374.35" x2="363.44" x3="353.52" y1="264.28" y2="263.66" y3="263.94"/> + <line x="353.13" y="263.95"/> + <line x="352.74" y="263.99"/> + <curve x1="291.68" x2="236.65" x3="183.55" y1="270.72" y2="279.82" y3="292.98"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="139.02" x-axis-rotation="0" y="264.81"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="89.66" x-axis-rotation="0" y="314.18"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="90.19" x-axis-rotation="0" y="321.08"/> + <curve x1="69.19" x2="48.11" x3="26.68" y1="328.55" y2="336.84" y3="346.07"/> + <curve x1="30.09" x2="73.97" x3="141.76" y1="250.33" y2="165.01" y3="106.65"/> + <close/> + <move x="363.04" y="282.76"/> + <curve x1="371.8" x2="380.89" x3="389.68" y1="282.81" y2="283.18" y3="283.22"/> + <curve x1="389.73" x2="388.67" x3="386.33" y1="315.54" y2="346.85" y3="375.63"/> + <curve x1="380.89" x2="368.16" x3="351.07" y1="432.66" y2="485.38" y3="532.21"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="344.39" x-axis-rotation="0" y="531.7"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="295.02" x-axis-rotation="0" y="581.06"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="311.65" x-axis-rotation="0" y="617.95"/> + <curve x1="298.74" x2="284.98" x3="270.95" y1="640.66" y2="660.89" y3="678.26"/> + <curve x1="132.62" x2="30.35" x3="26.56" y1="640.75" y2="516.09" y3="366.72"/> + <curve x1="50.21" x2="73.36" x3="96.38" y1="356.34" y2="347.12" y3="338.92"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="139.02" x-axis-rotation="0" y="363.54"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="188.38" x-axis-rotation="0" y="314.18"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="188.28" x-axis-rotation="0" y="311.25"/> + <curve x1="240.24" x2="294.19" x3="354.42" y1="298.39" y2="289.49" y3="282.84"/> + <curve x1="357.24" x2="360.12" x3="363.04" y1="282.76" y2="282.74" y3="282.76"/> + <close/> + <move x="417.36" y="283.52"/> + <curve x1="444.67" x2="472.87" x3="501.7" y1="284.46" y2="286.61" y3="290.56"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="550.99" x-axis-rotation="0" y="337.84"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="595.39" x-axis-rotation="0" y="309.91"/> + <curve x1="626.49" x2="657.97" x3="689.54" y1="318.66" y2="330.04" y3="344.68"/> + <curve x1="689.71" x2="689.81" x3="689.81" y1="349.14" y2="353.63" y3="358.13"/> + <curve x1="689.81" x2="626.67" x3="531.89" y1="477.73" y2="582.42" y3="640.77"/> + <curve x1="526.08" x2="518.66" x3="508.35" y1="598.59" y2="556.2" y3="513.68"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="535.44" x-axis-rotation="0" y="469.64"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="486.07" x-axis-rotation="0" y="420.28"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="480.74" x-axis-rotation="0" y="420.62"/> + <curve x1="466.47" x2="448.85" x3="426.78" y1="380.54" y2="340.39" y3="300.24"/> + <curve x1="426.77" x2="426.76" x3="426.75" y1="300.22" y2="300.21" y3="300.19"/> + <curve x1="423.87" x2="420.43" x3="417.36" y1="294.32" y2="289.15" y3="283.52"/> + <close/> + <move x="408.05" y="305.41"/> + <curve x1="408.6" x2="409.27" x3="409.81" y1="306.51" y2="307.45" y3="308.56"/> + <line x="409.91" y="308.76"/> + <line x="410.02" y="308.96"/> + <curve x1="431.53" x2="448.73" x3="462.69" y1="348.04" y2="387.13" y3="426.21"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="436.71" x-axis-rotation="0" y="469.64"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="486.07" x-axis-rotation="0" y="519.01"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="490.16" x-axis-rotation="0" y="518.81"/> + <curve x1="500.8" x2="508.33" x3="514.2" y1="562.85" y2="606.89" y3="650.92"/> + <curve x1="467.7" x2="414.58" x3="358.13" y1="675.74" y2="689.82" y3="689.82"/> + <curve x1="335.2" x2="312.83" x3="291.21" y1="689.82" y2="687.5" y3="683.08"/> + <curve x1="303.94" x2="316.33" x3="327.99" y1="666.61" y2="648.02" y3="627.56"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="344.39" x-axis-rotation="0" y="630.42"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="393.75" x-axis-rotation="0" y="581.06"/> + <arc large-arc-flag="0" rx="49.36" ry="49.36" sweep-flag="0" x="369.05" x-axis-rotation="0" y="538.35"/> + <curve x1="386.6" x2="399.56" x3="405.15" y1="490.14" y2="435.98" y3="377.41"/> + <line x="405.15" y="377.35"/> + <line x="405.15" y="377.28"/> + <curve x1="406.99" x2="407.61" x3="408.05" y1="354.77" y2="330.13" y3="305.41"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.44" name="webex" strokewidth="inherit" w="191.44"> + <connections/> + <foreground> + <fillcolor color="#0d87c1"/> + <ellipse h="191.44" w="191.44" x="0" y="0"/> + <fill/> + <fillcolor color="#2c96c9"/> + <ellipse h="152.96" w="152.96" x="19.24" y="19.24"/> + <fill/> + <fillcolor color="#78af4e"/> + <path> + <move x="191.44" y="95.72"/> + <curve x1="191.44" x2="148.59" x3="95.72" y1="148.59" y2="191.44" y3="191.44"/> + <curve x1="88.25" x2="82.92" x3="82.92" y1="191.44" y2="148.47" y3="95.61"/> + <curve x1="82.92" x2="84.83" x3="86.11" y1="77.76" y2="46.62" y3="31.96"/> + <curve x1="87.03" x2="89.75" x3="92.69" y1="21.36" y2="7.07" y3="2.46"/> + <curve x1="93.46" x2="94.41" x3="95.72" y1="1.27" y2="0" y3="0"/> + <curve x1="148.59" x2="191.44" x3="191.44" y1="0" y2="42.86" y3="95.72"/> + <close/> + </path> + <fill/> + <fillcolor color="#92be70"/> + <path> + <move x="172.2" y="95.72"/> + <curve x1="172.2" x2="137.96" x3="95.72" y1="137.96" y2="172.2" y3="172.2"/> + <curve x1="92.75" x2="90.08" x3="87.78" y1="172.2" y2="172.1" y3="171.77"/> + <curve x1="85.93" x2="82.92" x3="82.92" y1="161.74" y2="134.98" y3="95.72"/> + <curve x1="82.92" x2="85.87" x3="87.71" y1="71.35" y2="29.96" y3="19.64"/> + <curve x1="90.21" x2="92.65" x3="95.72" y1="19.4" y2="19.24" y3="19.24"/> + <curve x1="137.96" x2="172.2" x3="172.2" y1="19.24" y2="53.48" y3="95.72"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="web application firewall" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="48.5" y="85.68"/> + <curve x1="52.48" x2="56.46" x3="60.44" y1="85.68" y2="85.68" y3="85.68"/> + <curve x1="59.85" x2="61.74" x3="59.26" y1="87.54" y2="91.87" y3="91.83"/> + <curve x1="55.68" x2="52.09" x3="48.5" y1="91.83" y2="91.83" y3="91.83"/> + <curve x1="48.5" x2="48.5" x3="48.5" y1="89.78" y2="87.73" y3="85.68"/> + <close/> + <move x="65.14" y="85.68"/> + <curve x1="74.74" x2="84.33" x3="93.93" y1="85.68" y2="85.68" y3="85.68"/> + <curve x1="93.34" x2="95.23" x3="92.75" y1="87.54" y2="91.87" y3="91.83"/> + <curve x1="83.55" x2="74.34" x3="65.14" y1="91.83" y2="91.83" y3="91.83"/> + <curve x1="65.14" x2="65.14" x3="65.14" y1="89.78" y2="87.73" y3="85.68"/> + <close/> + <move x="97.96" y="85.68"/> + <curve x1="107.55" x2="117.15" x3="126.75" y1="85.68" y2="85.68" y3="85.68"/> + <curve x1="126.16" x2="128.04" x3="125.57" y1="87.54" y2="91.87" y3="91.83"/> + <curve x1="116.37" x2="107.16" x3="97.96" y1="91.83" y2="91.83" y3="91.83"/> + <curve x1="97.96" x2="97.96" x3="97.96" y1="89.78" y2="87.73" y3="85.68"/> + <close/> + <move x="130.78" y="85.68"/> + <curve x1="134.78" x2="138.78" x3="142.78" y1="85.68" y2="85.68" y3="85.68"/> + <curve x1="142.2" x2="144.08" x3="141.61" y1="87.54" y2="91.87" y3="91.83"/> + <curve x1="138" x2="134.39" x3="130.78" y1="91.83" y2="91.83" y3="91.83"/> + <curve x1="130.78" x2="130.78" x3="130.78" y1="89.78" y2="87.73" y3="85.68"/> + <close/> + <move x="114.1" y="74.98"/> + <curve x1="123.66" x2="133.22" x3="142.78" y1="74.98" y2="74.98" y3="74.98"/> + <curve x1="142.2" x2="144.08" x3="141.61" y1="76.83" y2="81.16" y3="81.12"/> + <curve x1="132.44" x2="123.27" x3="114.1" y1="81.12" y2="81.12" y3="81.12"/> + <curve x1="114.1" x2="114.1" x3="114.1" y1="79.07" y2="77.03" y3="74.98"/> + <close/> + <move x="81.28" y="74.98"/> + <curve x1="90.87" x2="100.47" x3="110.07" y1="74.98" y2="74.98" y3="74.98"/> + <curve x1="109.48" x2="111.36" x3="108.89" y1="76.83" y2="81.16" y3="81.12"/> + <curve x1="99.68" x2="90.48" x3="81.28" y1="81.12" y2="81.12" y3="81.12"/> + <curve x1="81.28" x2="81.28" x3="81.28" y1="79.07" y2="77.03" y3="74.98"/> + <close/> + <move x="48.5" y="74.98"/> + <curve x1="58.08" x2="67.66" x3="77.25" y1="74.98" y2="74.98" y3="74.98"/> + <curve x1="76.66" x2="78.54" x3="76.07" y1="76.83" y2="81.16" y3="81.12"/> + <curve x1="66.88" x2="57.69" x3="48.5" y1="81.12" y2="81.12" y3="81.12"/> + <curve x1="48.5" x2="48.5" x3="48.5" y1="79.07" y2="77.03" y3="74.98"/> + <close/> + <move x="48.5" y="107.1"/> + <curve x1="52.48" x2="56.46" x3="60.44" y1="107.1" y2="107.1" y3="107.1"/> + <curve x1="59.85" x2="61.74" x3="59.26" y1="108.95" y2="113.28" y3="113.25"/> + <curve x1="55.68" x2="52.09" x3="48.5" y1="113.25" y2="113.25" y3="113.25"/> + <curve x1="48.5" x2="48.5" x3="48.5" y1="111.2" y2="109.15" y3="107.1"/> + <close/> + <move x="65.14" y="107.1"/> + <curve x1="74.74" x2="84.33" x3="93.93" y1="107.1" y2="107.1" y3="107.1"/> + <curve x1="93.34" x2="95.23" x3="92.75" y1="108.95" y2="113.28" y3="113.25"/> + <curve x1="83.55" x2="74.34" x3="65.14" y1="113.25" y2="113.25" y3="113.25"/> + <curve x1="65.14" x2="65.14" x3="65.14" y1="111.2" y2="109.15" y3="107.1"/> + <close/> + <move x="97.96" y="107.1"/> + <curve x1="107.55" x2="117.15" x3="126.75" y1="107.1" y2="107.1" y3="107.1"/> + <curve x1="126.16" x2="128.04" x3="125.57" y1="108.95" y2="113.28" y3="113.25"/> + <curve x1="116.37" x2="107.16" x3="97.96" y1="113.25" y2="113.25" y3="113.25"/> + <curve x1="97.96" x2="97.96" x3="97.96" y1="111.2" y2="109.15" y3="107.1"/> + <close/> + <move x="130.78" y="107.1"/> + <curve x1="134.78" x2="138.78" x3="142.78" y1="107.1" y2="107.1" y3="107.1"/> + <curve x1="142.2" x2="144.08" x3="141.61" y1="108.95" y2="113.28" y3="113.25"/> + <curve x1="138" x2="134.39" x3="130.78" y1="113.25" y2="113.25" y3="113.25"/> + <curve x1="130.78" x2="130.78" x3="130.78" y1="111.2" y2="109.15" y3="107.1"/> + <close/> + <move x="114.1" y="96.39"/> + <curve x1="123.66" x2="133.22" x3="142.78" y1="96.39" y2="96.39" y3="96.39"/> + <curve x1="142.2" x2="144.08" x3="141.61" y1="98.25" y2="102.57" y3="102.54"/> + <curve x1="132.44" x2="123.27" x3="114.1" y1="102.54" y2="102.54" y3="102.54"/> + <curve x1="114.1" x2="114.1" x3="114.1" y1="100.49" y2="98.44" y3="96.39"/> + <close/> + <move x="81.28" y="96.39"/> + <curve x1="90.87" x2="100.47" x3="110.07" y1="96.39" y2="96.39" y3="96.39"/> + <curve x1="109.48" x2="111.36" x3="108.89" y1="98.25" y2="102.57" y3="102.54"/> + <curve x1="99.68" x2="90.48" x3="81.28" y1="102.54" y2="102.54" y3="102.54"/> + <curve x1="81.28" x2="81.28" x3="81.28" y1="100.49" y2="98.44" y3="96.39"/> + <close/> + <move x="48.5" y="96.39"/> + <curve x1="58.08" x2="67.66" x3="77.25" y1="96.39" y2="96.39" y3="96.39"/> + <curve x1="76.66" x2="78.54" x3="76.07" y1="98.25" y2="102.57" y3="102.54"/> + <curve x1="66.88" x2="57.69" x3="48.5" y1="102.54" y2="102.54" y3="102.54"/> + <curve x1="48.5" x2="48.5" x3="48.5" y1="100.49" y2="98.44" y3="96.39"/> + <close/> + <move x="48.5" y="128.52"/> + <curve x1="52.48" x2="56.46" x3="60.44" y1="128.52" y2="128.52" y3="128.52"/> + <curve x1="59.85" x2="61.74" x3="59.26" y1="130.37" y2="134.7" y3="134.66"/> + <curve x1="55.68" x2="52.09" x3="48.5" y1="134.66" y2="134.66" y3="134.66"/> + <curve x1="48.5" x2="48.5" x3="48.5" y1="132.61" y2="130.56" y3="128.52"/> + <close/> + <move x="65.14" y="128.52"/> + <curve x1="74.74" x2="84.33" x3="93.93" y1="128.52" y2="128.52" y3="128.52"/> + <curve x1="93.34" x2="95.23" x3="92.75" y1="130.37" y2="134.7" y3="134.66"/> + <curve x1="83.55" x2="74.34" x3="65.14" y1="134.66" y2="134.66" y3="134.66"/> + <curve x1="65.14" x2="65.14" x3="65.14" y1="132.61" y2="130.56" y3="128.52"/> + <close/> + <move x="97.96" y="128.52"/> + <curve x1="107.55" x2="117.15" x3="126.75" y1="128.52" y2="128.52" y3="128.52"/> + <curve x1="126.16" x2="128.04" x3="125.57" y1="130.37" y2="134.7" y3="134.66"/> + <curve x1="116.37" x2="107.16" x3="97.96" y1="134.66" y2="134.66" y3="134.66"/> + <curve x1="97.96" x2="97.96" x3="97.96" y1="132.61" y2="130.56" y3="128.52"/> + <close/> + <move x="130.78" y="128.52"/> + <curve x1="134.78" x2="138.78" x3="142.78" y1="128.52" y2="128.52" y3="128.52"/> + <curve x1="142.2" x2="144.08" x3="141.61" y1="130.37" y2="134.7" y3="134.66"/> + <curve x1="138" x2="134.39" x3="130.78" y1="134.66" y2="134.66" y3="134.66"/> + <curve x1="130.78" x2="130.78" x3="130.78" y1="132.61" y2="130.56" y3="128.52"/> + <close/> + <move x="114.1" y="117.81"/> + <curve x1="123.66" x2="133.22" x3="142.78" y1="117.81" y2="117.81" y3="117.81"/> + <curve x1="142.2" x2="144.08" x3="141.61" y1="119.66" y2="123.99" y3="123.96"/> + <curve x1="132.44" x2="123.27" x3="114.1" y1="123.96" y2="123.96" y3="123.96"/> + <curve x1="114.1" x2="114.1" x3="114.1" y1="121.91" y2="119.86" y3="117.81"/> + <close/> + <move x="81.28" y="117.81"/> + <curve x1="90.87" x2="100.47" x3="110.07" y1="117.81" y2="117.81" y3="117.81"/> + <curve x1="109.48" x2="111.36" x3="108.89" y1="119.66" y2="123.99" y3="123.96"/> + <curve x1="99.68" x2="90.48" x3="81.28" y1="123.96" y2="123.96" y3="123.96"/> + <curve x1="81.28" x2="81.28" x3="81.28" y1="121.91" y2="119.86" y3="117.81"/> + <close/> + <move x="48.5" y="117.81"/> + <curve x1="58.08" x2="67.66" x3="77.25" y1="117.81" y2="117.81" y3="117.81"/> + <curve x1="76.66" x2="78.54" x3="76.07" y1="119.66" y2="123.99" y3="123.96"/> + <curve x1="66.88" x2="57.69" x3="48.5" y1="123.96" y2="123.96" y3="123.96"/> + <curve x1="48.5" x2="48.5" x3="48.5" y1="121.91" y2="119.86" y3="117.81"/> + <close/> + <move x="139.13" y="30.81"/> + <curve x1="114.12" x2="90.11" x3="81.38" y1="30.45" y2="47.04" y3="70.44"/> + <curve x1="83.74" x2="87.78" x3="88.56" y1="69.86" y2="71.89" y3="68.87"/> + <curve x1="92.21" x2="97.68" x3="104.39" y1="61.11" y2="54.22" y3="48.9"/> + <curve x1="104.98" x2="103.32" x3="106.06" y1="50.89" y2="53.25" y3="53.17"/> + <curve x1="103.93" x2="105.7" x3="105.13" y1="56.01" y2="59.08" y3="61.68"/> + <curve x1="104.58" x2="96.23" x3="101.48" y1="64.38" y2="70.66" y3="70.44"/> + <curve x1="116.92" x2="132.36" x3="147.8" y1="70.44" y2="70.44" y3="70.44"/> + <curve x1="148.23" x2="146.38" x3="150.16" y1="72.7" y2="79.59" y3="75.57"/> + <curve x1="150.16" x2="154.7" x3="158.94" y1="72.02" y2="68.95" y3="68.79"/> + <curve x1="160.2" x2="166.52" x3="165.24" y1="64.31" y2="64.21" y3="66.47"/> + <curve x1="166.59" x2="174.92" x3="170.22" y1="65.07" y2="63.12" y3="63"/> + <curve x1="168.64" x2="165.53" x3="168.38" y1="66.27" y2="61.82" y3="60.41"/> + <curve x1="163.54" x2="169.71" x3="170.6" y1="60.67" y2="56.93" y3="60.01"/> + <curve x1="169.25" x2="175.04" x3="177.17" y1="57.84" y2="58.33" y3="57.96"/> + <curve x1="175.52" x2="171.41" x3="177.57" y1="59.8" y2="63.15" y3="61.54"/> + <curve x1="182.76" x2="176.36" x3="178.71" y1="62.73" y2="58.45" y3="56.74"/> + <curve x1="180.51" x2="176.59" x3="180.35" y1="54.92" y2="51.12" y3="54.92"/> + <curve x1="197.25" x2="199.81" x3="186.44" y1="72.73" y2="101.94" y3="122.49"/> + <curve x1="182.81" x2="179.67" x3="176.11" y1="121.42" y2="120.59" y3="119.72"/> + <curve x1="172.76" x2="175.14" x3="170.65" y1="117.6" y2="113.44" y3="112.59"/> + <curve x1="166.36" x2="162.93" x3="161.17" y1="113.03" y2="108.06" y3="106.73"/> + <curve x1="158.77" x2="155.32" x3="152.25" y1="105.13" y2="107.59" y3="104.44"/> + <curve x1="148.91" x2="150.59" x3="147.8" y1="106.99" y2="101.37" y3="105.47"/> + <curve x1="147.8" x2="147.8" x3="147.8" y1="116.66" y2="127.85" y3="139.04"/> + <curve x1="150.44" x2="156.24" x3="148.29" y1="139.47" y2="148.52" y3="147.84"/> + <curve x1="134.35" x2="119.56" x3="107.87" y1="150.17" y2="147.02" y3="139.04"/> + <curve x1="104.64" x2="101.4" x3="98.16" y1="139.04" y2="139.04" y3="139.04"/> + <curve x1="118.03" x2="150.04" x3="172.48" y1="157.23" y2="159.73" y3="144.82"/> + <curve x1="194.22" x2="205.52" x3="199.44" y1="131.34" y2="103.55" y3="78.73"/> + <curve x1="193.44" x2="167.3" x3="139.13" y1="51.24" y2="30.38" y3="30.81"/> + <close/> + <move x="137.44" y="36.83"/> + <curve x1="136.79" x2="133.96" x3="137.44" y1="38.53" y2="36.05" y3="36.83"/> + <close/> + <move x="148.34" y="37.97"/> + <curve x1="158.67" x2="140.33" x3="148.34" y1="40.37" y2="39.64" y3="37.97"/> + <close/> + <move x="159.14" y="41.71"/> + <curve x1="161.25" x2="155.45" x3="160.29" y1="42.53" y2="45.5" y3="44.12"/> + <curve x1="165.07" x2="162.81" x3="162.35" y1="46.05" y2="42.55" y3="42.26"/> + <curve x1="165.22" x2="171.48" x3="164.48" y1="42.96" y2="46.99" y3="45.15"/> + <curve x1="160.99" x2="163.52" x3="157.54" y1="45.61" y2="53.77" y3="53.36"/> + <curve x1="156.99" x2="152.47" x3="153.05" y1="55.13" y2="59.28" y3="54.43"/> + <curve x1="152.58" x2="155.71" x3="151.36" y1="52.65" y2="52.35" y3="52.59"/> + <curve x1="143.98" x2="144.7" x3="151.97" y1="52.01" y2="44.99" y3="44.12"/> + <curve x1="154.77" x2="156.62" x3="159.14" y1="44.18" y2="41.67" y3="41.71"/> + <close/> + <move x="170.49" y="46.4"/> + <curve x1="176.28" x2="169.31" x3="170.49" y1="48.89" y2="48.82" y3="46.4"/> + <close/> + <move x="175.6" y="50.78"/> + <curve x1="181.85" x2="175.22" x3="175.6" y1="53.38" y2="53.87" y3="50.78"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="web reputation filtering" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="46.8" y="101.15"/> + <curve x1="39.42" x2="26.68" x3="26.68" y1="99.06" y2="95.03" y3="88.77"/> + <curve x1="26.68" x2="32.39" x3="38.78" y1="84.15" y2="80.9" y3="78.53"/> + <curve x1="39.83" x2="43.44" x3="46.8" y1="87.15" y2="95.03" y3="101.15"/> + <close/> + <move x="140.19" y="101.17"/> + <curve x1="144.4" x2="147.82" x3="148.92" y1="95.03" y2="88.4" y3="78.53"/> + <curve x1="155.24" x2="161.06" x3="161.06" y1="80.93" y2="84.12" y3="88.79"/> + <curve x1="161.06" x2="148.47" x3="140.19" y1="94.77" y2="99.3" y3="101.17"/> + <close/> + <move x="78.53" y="166.91"/> + <curve x1="78.53" x2="77.26" x3="67.54" y1="155.64" y2="140.61" y3="130.34"/> + <curve x1="57.53" x2="43.67" x3="31.88" y1="119.8" y2="113.43" y3="103.07"/> + <curve x1="50.39" x2="67.95" x3="93.87" y1="110.53" y2="113.79" y3="113.79"/> + <curve x1="121.51" x2="138" x3="155.87" y1="113.79" y2="109.7" y3="102.54"/> + <curve x1="142.67" x2="130.25" x3="119.32" y1="114.22" y2="119.67" y3="131.84"/> + <curve x1="112.05" x2="109.76" x3="109.68" y1="141.17" y2="152.54" y3="166.63"/> + <curve x1="109.68" x2="101.3" x3="94.11" y1="172.3" y2="173.84" y3="173.84"/> + <curve x1="87.35" x2="78.53" x3="78.53" y1="173.84" y2="171.57" y3="166.91"/> + <close/> + <move x="94.24" y="18.8"/> + <curve x1="65.49" x2="42.14" x3="42.14" y1="18.8" y2="42.16" y3="70.9"/> + <curve x1="42.14" x2="46.22" x3="53.07" y1="82.92" y2="93.99" y3="102.81"/> + <curve x1="55.85" x2="58.33" x3="60.67" y1="103.54" y2="103.85" y3="103.97"/> + <curve x1="52.3" x2="47.14" x3="47.14" y1="95.47" y2="83.8" y3="70.9"/> + <curve x1="47.14" x2="54.03" x3="64.81" y1="56" y2="42.74" y3="34.11"/> + <curve x1="64.78" x2="64.78" x3="64.92" y1="34.31" y2="34.49" y3="34.58"/> + <curve x1="65.45" x2="64.86" x3="64.9" y1="34.94" y2="34.85" y3="35.64"/> + <curve x1="64.93" x2="64.45" x3="64.63" y1="36.61" y2="36.89" y3="37.29"/> + <curve x1="64.98" x2="65.7" x3="66.07" y1="38.11" y2="36.77" y3="37.36"/> + <curve x1="66.22" x2="66.37" x3="65.89" y1="37.6" y2="37.9" y3="38.14"/> + <curve x1="65.1" x2="65.29" x3="65.26" y1="38.53" y2="39" y3="39.7"/> + <curve x1="65.22" x2="65.85" x3="65.79" y1="40.64" y2="40.51" y3="40.94"/> + <curve x1="65.74" x2="64.67" x3="64.85" y1="41.39" y2="41.34" y3="42.36"/> + <curve x1="64.99" x2="65.96" x3="65.95" y1="43.17" y2="42.69" y3="44.37"/> + <curve x1="65.95" x2="65.51" x3="65.16" y1="45.08" y2="44.67" y3="45.22"/> + <curve x1="64.39" x2="63.75" x3="63.32" y1="46.44" y2="47.77" y3="48.18"/> + <curve x1="62.66" x2="61.85" x3="61.8" y1="48.82" y2="49.26" y3="50.19"/> + <curve x1="61.77" x2="61.37" x3="60.92" y1="50.73" y2="50.46" y3="51.18"/> + <curve x1="60.27" x2="60.27" x3="60.29" y1="52.2" y2="52.21" y3="54.27"/> + <curve x1="60.29" x2="59.97" x3="61.36" y1="55.03" y2="57.93" y3="57.8"/> + <curve x1="62.37" x2="61.99" x3="62.62" y1="57.71" y2="58.21" y3="58.56"/> + <curve x1="63.55" x2="63.19" x3="63.19" y1="59.07" y2="60.42" y3="61.24"/> + <curve x1="63.18" x2="63.13" x3="63.35" y1="62.27" y2="62" y3="62.59"/> + <curve x1="63.75" x2="64.31" x3="63.44" y1="63.72" y2="63.63" y3="64.34"/> + <curve x1="62.46" x2="64.22" x3="64.91" y1="65.14" y2="65.55" y3="65.87"/> + <curve x1="65.26" x2="65.37" x3="65.31" y1="66.04" y2="66.21" y3="66.88"/> + <curve x1="65.24" x2="65.57" x3="65.94" y1="67.62" y2="67.87" y3="68.25"/> + <curve x1="66.34" x2="67.13" x3="67.36" y1="68.64" y2="68.87" y3="68.75"/> + <curve x1="67.58" x2="66.89" x3="66.71" y1="68.64" y2="67.94" y3="67.79"/> + <curve x1="66.13" x2="66.2" x3="66.2" y1="67.3" y2="67.08" y3="66.71"/> + <curve x1="66.2" x2="65.87" x3="65.78" y1="66.27" y2="66.33" y3="65.62"/> + <curve x1="65.68" x2="65.21" x3="65.26" y1="64.81" y2="64.58" y3="63.95"/> + <curve x1="65.37" x2="65.22" x3="64.94" y1="62.67" y2="62.91" y3="62.39"/> + <curve x1="64.45" x2="65.28" x3="65.7" y1="61.51" y2="60.9" y3="60.81"/> + <curve x1="66.6" x2="66.49" x3="66.48" y1="60.63" y2="61.69" y3="62.24"/> + <curve x1="66.45" x2="66.75" x3="67.51" y1="63.84" y2="63.42" y3="63.99"/> + <curve x1="68.28" x2="67.56" x3="68.01" y1="64.56" y2="65.17" y3="65.68"/> + <curve x1="68.72" x2="68.26" x3="68.33" y1="66.5" y2="66.69" y3="66.91"/> + <curve x1="68.61" x2="69.09" x3="69.32" y1="67.68" y2="67.27" y3="68.4"/> + <curve x1="69.52" x2="70.69" x3="71.04" y1="69.43" y2="68.85" y3="71.14"/> + <curve x1="71.26" x2="69.38" x3="70.97" y1="72.57" y2="72.53" y3="73.45"/> + <curve x1="71.87" x2="71.56" x3="72.43" y1="73.97" y2="74.45" y3="74.36"/> + <curve x1="74.11" x2="73.93" x3="74.7" y1="74.2" y2="74.67" y3="75.29"/> + <curve x1="75.37" x2="76.16" x3="76.83" y1="75.82" y2="75.85" y3="76.05"/> + <curve x1="77.99" x2="77.74" x3="79.27" y1="76.38" y2="77.2" y3="76.42"/> + <curve x1="80.74" x2="80.68" x3="82.07" y1="75.67" y2="76.25" y3="77.35"/> + <curve x1="84.62" x2="84.92" x3="86.66" y1="79.37" y2="77.7" y3="78.7"/> + <curve x1="88.18" x2="87.67" x3="88.89" y1="79.57" y2="80.09" y3="80.81"/> + <curve x1="89.33" x2="88.64" x3="88.76" y1="81.08" y2="81.71" y3="81.87"/> + <curve x1="89.14" x2="89.57" x3="90.28" y1="82.37" y2="81.06" y3="83.04"/> + <curve x1="90.95" x2="91.95" x3="92.72" y1="84.96" y2="83.88" y3="84.37"/> + <curve x1="94.23" x2="93.76" x3="94.3" y1="85.33" y2="84.56" y3="84.25"/> + <curve x1="94.87" x2="95.74" x3="95.91" y1="83.92" y2="83.24" y3="84.15"/> + <curve x1="96.09" x2="96.4" x3="96.6" y1="85.1" y2="84.93" y3="85.13"/> + <curve x1="96.82" x2="97.31" x3="96.46" y1="85.34" y2="88.87" y3="89.26"/> + <curve x1="94.3" x2="95.67" x3="95.18" y1="90.24" y2="90.26" y3="90.75"/> + <curve x1="94.26" x2="94.29" x3="93.85" y1="91.66" y2="90.72" y3="92.84"/> + <curve x1="93.56" x2="92.84" x3="93.65" y1="94.22" y2="94.14" y3="94.7"/> + <curve x1="94.31" x2="93.49" x3="93.3" y1="95.15" y2="96.06" y3="96.16"/> + <curve x1="92.58" x2="93.23" x3="93.38" y1="96.54" y2="96.98" y3="97.63"/> + <curve x1="93.54" x2="93.12" x3="93.8" y1="98.28" y2="98.63" y3="98.84"/> + <curve x1="94.93" x2="96.88" x3="97.06" y1="99.19" y2="102.87" y3="103.28"/> + <curve x1="97.5" x2="98.06" x3="98.5" y1="104.35" y2="104.24" y3="105.6"/> + <curve x1="112.1" x2="123.74" x3="135.81" y1="105.4" y2="104.16" y3="102.28"/> + <curve x1="142.42" x2="146.34" x3="146.34" y1="93.55" y2="82.68" y3="70.9"/> + <curve x1="146.34" x2="122.98" x3="94.24" y1="42.16" y2="18.8" y3="18.8"/> + <close/> + <move x="92.76" y="23.83"/> + <curve x1="92.79" x2="92.7" x3="92.63" y1="24.15" y2="24.36" y3="24.55"/> + <curve x1="91.75" x2="91.3" x3="90.74" y1="24.29" y2="24.1" y3="23.93"/> + <curve x1="91.41" x2="92.09" x3="92.76" y1="23.88" y2="23.85" y3="23.83"/> + <close/> + <move x="101.99" y="24.89"/> + <curve x1="102.53" x2="102.99" x3="103.1" y1="24.89" y2="24.94" y3="24.98"/> + <curve x1="103.4" x2="104.89" x3="104.63" y1="25.08" y2="25.35" y3="25.97"/> + <curve x1="104.36" x2="101.73" x3="101.02" y1="26.6" y2="26.31" y3="26.24"/> + <curve x1="100.3" x2="100.09" x3="100.04" y1="26.18" y2="26.08" y3="25.41"/> + <curve x1="100" x2="101.09" x3="101.99" y1="24.99" y2="24.89" y3="24.89"/> + <close/> + <move x="111.13" y="28.06"/> + <curve x1="111.28" x2="111.43" x3="111.58" y1="28.06" y2="28.07" y3="28.1"/> + <curve x1="111.56" x2="112.02" x3="110.67" y1="28.47" y2="28.84" y3="29.66"/> + <curve x1="110.41" x2="109.66" x3="110.95" y1="29.82" y2="30.54" y3="30.25"/> + <curve x1="111.26" x2="112.78" x3="113.71" y1="30.18" y2="29.87" y3="30.31"/> + <curve x1="114" x2="114.22" x3="114.66" y1="30.44" y2="30.67" y3="30.31"/> + <curve x1="114.83" x2="114.89" x3="114.61" y1="30.18" y2="29.78" y3="29.41"/> + <curve x1="114.38" x2="114.2" x3="113.68" y1="29.13" y2="28.88" y3="28.83"/> + <curve x1="113.34" x2="113.26" x3="113.26" y1="28.8" y2="28.31" y3="28.3"/> + <curve x1="114.64" x2="117.54" x3="118.63" y1="28.8" y2="30.02" y3="31.04"/> + <curve x1="119.15" x2="118.14" x3="117.38" y1="31.53" y2="31.17" y3="31.22"/> + <curve x1="115.32" x2="115.59" x3="115.01" y1="31.35" y2="30.51" y3="30.94"/> + <curve x1="114.54" x2="115.22" x3="114.82" y1="31.3" y2="31.19" y3="31.75"/> + <curve x1="114.63" x2="114.2" x3="114.01" y1="32.02" y2="31.58" y3="31.88"/> + <curve x1="113.47" x2="114.29" x3="113.49" y1="32.73" y2="34.16" y3="35.57"/> + <curve x1="112.86" x2="112.2" x3="110.67" y1="36.68" y2="37.31" y3="37.75"/> + <curve x1="109.24" x2="108.77" x3="108.79" y1="38.16" y2="37.53" y3="39.14"/> + <curve x1="108.81" x2="107.63" x3="106.92" y1="40.08" y2="41.13" y3="40.88"/> + <line x="106.92" y="40.88"/> + <curve x1="105.63" x2="105.42" x3="105.9" y1="40.41" y2="39.92" y3="39.28"/> + <curve x1="106.43" x2="104.85" x3="105.93" y1="38.58" y2="38.19" y3="37.92"/> + <curve x1="106.89" x2="107.5" x3="106.16" y1="37.68" y2="37.04" y3="37.2"/> + <curve x1="105.36" x2="105.07" x3="103.69" y1="37.3" y2="37.59" y3="36.91"/> + <curve x1="103.1" x2="102.84" x3="102.49" y1="36.62" y2="36.7" y3="36.35"/> + <curve x1="102.13" x2="102.1" x3="100.76" y1="35.99" y2="35.66" y3="35.74"/> + <curve x1="99.58" x2="100.34" x3="99.96" y1="35.81" y2="35.14" y3="34.67"/> + <curve x1="99.59" x2="99.37" x3="99.68" y1="34.19" y2="34.2" y3="33.43"/> + <curve x1="99.97" x2="100.56" x3="101.63" y1="32.71" y2="32.06" y3="31.49"/> + <curve x1="102.23" x2="103.04" x3="103.54" y1="31.17" y2="31.07" y3="30.66"/> + <curve x1="103.95" x2="104.44" x3="105.06" y1="30.32" y2="30.09" y3="30.1"/> + <curve x1="105.57" x2="106.08" x3="106.83" y1="30.1" y2="30.12" y3="29.78"/> + <curve x1="107.32" x2="107.44" x3="107.89" y1="29.57" y2="29.68" y3="29.08"/> + <curve x1="108.21" x2="108.5" x3="109.14" y1="28.65" y2="28.79" y3="28.78"/> + <curve x1="109.58" x2="109.72" x3="109.79" y1="28.78" y2="28.46" y3="28.11"/> + <curve x1="110.24" x2="110.67" x3="111.13" y1="28.15" y2="28.05" y3="28.06"/> + <close/> + <move x="120.78" y="31.97"/> + <curve x1="121.45" x2="122.1" x3="122.75" y1="32.43" y2="32.9" y3="33.39"/> + <curve x1="122.28" x2="121.27" x3="120.75" y1="33.55" y2="33.46" y3="33.04"/> + <curve x1="120.32" x2="120.41" x3="120.78" y1="32.69" y2="32.26" y3="31.97"/> + <close/> + <move x="125.05" y="35.73"/> + <curve x1="125.31" x2="126.02" x3="126.81" y1="35.7" y2="36.36" y3="36.86"/> + <curve x1="126.81" x2="126.81" x3="126.82" y1="36.86" y2="36.86" y3="36.86"/> + <curve x1="127.01" x2="127.2" x3="127.39" y1="37.05" y2="37.23" y3="37.42"/> + <curve x1="127.33" x2="127.27" x3="127.16" y1="37.41" y2="37.41" y3="37.4"/> + <curve x1="124.53" x2="125.01" x3="124.95" y1="37.21" y2="36.4" y3="36.02"/> + <curve x1="124.93" x2="124.96" x3="125.05" y1="35.83" y2="35.74" y3="35.73"/> + <close/> + <move x="127.5" y="37.53"/> + <curve x1="136.05" x2="141.34" x3="141.34" y1="46.06" y2="57.85" y3="70.9"/> + <curve x1="141.34" x2="138.69" x3="134.11" y1="80.13" y2="88.74" y3="96"/> + <curve x1="133.38" x2="132.45" x3="131.4" y1="96.01" y2="95.92" y3="95.55"/> + <curve x1="130.84" x2="129.61" x3="129.61" y1="95.35" y2="95.7" y3="95.29"/> + <curve x1="129.61" x2="129.34" x3="129.03" y1="94.92" y2="95.12" y3="94.85"/> + <curve x1="128.69" x2="128.38" x3="128.19" y1="94.57" y2="94.06" y3="94.75"/> + <curve x1="128.11" x2="127.74" x3="127.16" y1="95.06" y2="94.62" y3="94.4"/> + <curve x1="126.56" x2="125.94" x3="125.48" y1="94.18" y2="94.54" y3="94.06"/> + <curve x1="125" x2="125.27" x3="124.8" y1="93.54" y2="93.39" y3="93.36"/> + <curve x1="123.83" x2="124" x3="124.07" y1="93.3" y2="92.99" y3="92.2"/> + <curve x1="124.16" x2="123.61" x3="123.56" y1="91.25" y2="91.39" y3="90.81"/> + <curve x1="123.5" x2="123.2" x3="123.01" y1="90.08" y2="90.42" y3="90.13"/> + <curve x1="122.77" x2="124.28" x3="123.19" y1="89.73" y2="90.02" y3="89.35"/> + <curve x1="121.91" x2="121.79" x3="120.86" y1="88.54" y2="88.49" y3="88.02"/> + <curve x1="118.96" x2="118.39" x3="117.27" y1="87.06" y2="88.7" y3="86.95"/> + <curve x1="116.75" x2="116.43" x3="116.08" y1="86.13" y2="86.56" y3="86.24"/> + <curve x1="115.57" x2="115.38" x3="115.01" y1="85.77" y2="85.57" y3="84.96"/> + <curve x1="114.77" x2="114.51" x3="114.12" y1="84.56" y2="84.74" y3="84.67"/> + <curve x1="113.49" x2="113.83" x3="113.72" y1="84.55" y2="84.23" y3="83.84"/> + <curve x1="113.55" x2="113.74" x3="113.48" y1="83.26" y2="82.93" y3="82.79"/> + <curve x1="113.25" x2="113.41" x3="112.84" y1="82.68" y2="83.13" y3="83.06"/> + <curve x1="112.3" x2="112.71" x3="111.64" y1="82.99" y2="82.07" y3="82.09"/> + <curve x1="110.11" x2="110.5" x3="109.65" y1="82.12" y2="83.2" y3="83.11"/> + <curve x1="109.16" x2="109.35" x3="108.28" y1="83.06" y2="82.39" y3="82.38"/> + <curve x1="107.05" x2="107.11" x3="105.82" y1="82.38" y2="81.94" y3="81.34"/> + <curve x1="105.36" x2="105.25" x3="104.74" y1="81.12" y2="80.97" y3="81.39"/> + <curve x1="103.84" x2="103.78" x3="103.47" y1="82.11" y2="81.98" y3="81.83"/> + <curve x1="103.17" x2="102.9" x3="103.34" y1="81.68" y2="81.38" y3="81.13"/> + <curve x1="103.77" x2="103.73" x3="103.51" y1="80.9" y2="80.71" y3="80.56"/> + <curve x1="103.13" x2="103.05" x3="102.83" y1="80.3" y2="80.33" y3="80.68"/> + <curve x1="102.37" x2="102.42" x3="102.08" y1="81.43" y2="80.81" y3="81.33"/> + <curve x1="101.75" x2="100.98" x3="99.86" y1="81.84" y2="81.69" y3="81.67"/> + <curve x1="99.18" x2="99.24" x3="99.08" y1="81.66" y2="82.22" y3="82.59"/> + <curve x1="98.83" x2="99.31" x3="98.7" y1="83.13" y2="83.44" y3="83.88"/> + <curve x1="98.17" x2="98.32" x3="97.72" y1="84.26" y2="84.48" y3="84.73"/> + <curve x1="97.04" x2="96.69" x3="96.02" y1="85.01" y2="83.49" y3="83.66"/> + <curve x1="95.61" x2="95.36" x3="94.97" y1="83.76" y2="82.99" y3="83.08"/> + <curve x1="94.55" x2="94.73" x3="94.1" y1="83.17" y2="83.95" y3="83.99"/> + <curve x1="92.81" x2="92.72" x3="92.01" y1="84.06" y2="84.37" y3="83.48"/> + <curve x1="90.94" x2="90.83" x3="90.83" y1="82.15" y2="82.14" y3="80.68"/> + <curve x1="90.83" x2="91.95" x3="91.72" y1="78.37" y2="79.45" y3="78.49"/> + <curve x1="91.57" x2="91.37" x3="89.96" y1="77.84" y2="77.35" y3="77.02"/> + <curve x1="88.52" x2="87.4" x3="86.31" y1="76.68" y2="77.25" y3="77.27"/> + <curve x1="84.98" x2="86.27" x3="86.29" y1="77.29" y2="76.49" y3="75.94"/> + <curve x1="86.31" x2="86.28" x3="86.63" y1="75.13" y2="75.02" y3="74.89"/> + <curve x1="88.09" x2="87.66" x3="87.69" y1="74.34" y2="73.87" y3="73"/> + <curve x1="87.71" x2="88.19" x3="86.39" y1="72.27" y2="71.17" y3="71.15"/> + <curve x1="85.25" x2="84.57" x3="84.2" y1="71.14" y2="72.12" y3="72.74"/> + <curve x1="83.33" x2="82.9" x3="81.63" y1="74.21" y2="74.02" y3="73.99"/> + <curve x1="79.43" x2="80.17" x3="79.46" y1="73.95" y2="73.7" y3="73.54"/> + <curve x1="78.44" x2="78.69" x3="78.22" y1="73.3" y2="72.01" y3="71.43"/> + <curve x1="77.66" x2="77.97" x3="78" y1="70.74" y2="70.14" y3="69.6"/> + <curve x1="78.09" x2="78.35" x3="78.36" y1="67.6" y2="67.97" y3="67.39"/> + <curve x1="78.36" x2="78.31" x3="78.93" y1="67.15" y2="66.55" y3="67.06"/> + <curve x1="79.72" x2="79.58" x3="79.53" y1="67.71" y2="67.26" y3="66.62"/> + <curve x1="79.4" x2="79.95" x3="81.03" y1="65.11" y2="64.48" y3="64.18"/> + <curve x1="82.09" x2="82.25" x3="83.29" y1="63.89" y2="63.34" y3="62.76"/> + <curve x1="84.52" x2="85.39" x3="86.33" y1="62.08" y2="62.06" y3="62.69"/> + <curve x1="86.95" x2="87.58" x3="88.46" y1="63.09" y2="62.89" y3="62.08"/> + <curve x1="89.6" x2="89.89" x3="90.87" y1="61.03" y2="61.7" y3="61.73"/> + <curve x1="91.84" x2="92.29" x3="93.34" y1="61.77" y2="62.21" y3="62.37"/> + <curve x1="94.58" x2="94.43" x3="94.25" y1="62.57" y2="63.49" y3="64.71"/> + <curve x1="94.11" x2="95.49" x3="96.39" y1="65.61" y2="65.69" y3="65.88"/> + <curve x1="97.14" x2="97.02" x3="96.99" y1="66.04" y2="65.83" y3="65.61"/> + <curve x1="96.77" x2="96.79" x3="96.83" y1="63.87" y2="62.87" y3="62.09"/> + <curve x1="96.89" x2="97.97" x3="99.13" y1="61.12" y2="59.86" y3="59.61"/> + <curve x1="99.65" x2="99.18" x3="101.24" y1="59.51" y2="58.73" y3="58.09"/> + <curve x1="102.76" x2="102.72" x3="103.53" y1="57.63" y2="57.39" y3="56.7"/> + <curve x1="103.73" x2="104.13" x3="103.75" y1="56.53" y2="55.43" y3="55.01"/> + <curve x1="103.18" x2="103.89" x3="104.21" y1="54.38" y2="54.42" y3="54.46"/> + <curve x1="104.78" x2="104.91" x3="105" y1="54.53" y2="54.54" y3="54.08"/> + <curve x1="105.13" x2="105.18" x3="105.63" y1="53.45" y2="53.42" y3="53.14"/> + <curve x1="106.12" x2="106.61" x3="106.86" y1="52.82" y2="52.61" y3="52.2"/> + <curve x1="107.19" x2="107.37" x3="107.9" y1="51.65" y2="51.54" y3="51.49"/> + <curve x1="108.28" x2="108.35" x3="108.7" y1="51.45" y2="51.57" y3="51.23"/> + <curve x1="108.89" x2="109.67" x3="110.41" y1="51.03" y2="50.93" y3="50.99"/> + <curve x1="110.94" x2="111.11" x3="111.1" y1="51.03" y2="51.02" y3="50.56"/> + <curve x1="111.08" x2="111.7" x3="112.63" y1="49.04" y2="49.26" y3="48.71"/> + <curve x1="114.62" x2="115.49" x3="116.1" y1="47.53" y2="47.54" y3="47.5"/> + <curve x1="117.78" x2="115.66" x3="115.43" y1="47.39" y2="48.15" y3="48.73"/> + <curve x1="115.24" x2="115.86" x3="116.28" y1="49.23" y2="49.23" y3="49.01"/> + <curve x1="117" x2="117.36" x3="117.85" y1="48.63" y2="48.69" y3="47.96"/> + <curve x1="118.31" x2="118.83" x3="120.17" y1="47.27" y2="47.79" y3="47.45"/> + <curve x1="121.51" x2="121.38" x3="121.77" y1="47.1" y2="47.02" y3="46.78"/> + <curve x1="122.33" x2="121.62" x3="121.35" y1="46.42" y2="45.82" y3="45.65"/> + <curve x1="120.99" x2="120.59" x3="120.5" y1="45.44" y2="45.78" y3="46.06"/> + <curve x1="120.15" x2="119.69" x3="119.49" y1="47.15" y2="47.1" y3="47.11"/> + <curve x1="118.51" x2="118.04" x3="117.82" y1="47.15" y2="46.36" y3="46.01"/> + <curve x1="117.45" x2="118.46" x3="118.76" y1="45.44" y2="45.11" y3="44.66"/> + <curve x1="119.41" x2="118.76" x3="118.27" y1="43.72" y2="43.76" y3="43.91"/> + <curve x1="117.34" x2="117" x3="117.33" y1="44.18" y2="43.81" y3="43.16"/> + <curve x1="118" x2="118.93" x3="119.47" y1="41.89" y2="42.51" y3="42.45"/> + <curve x1="120.44" x2="119.6" x3="120.19" y1="42.33" y2="42.79" y3="43.36"/> + <curve x1="120.6" x2="121.09" x3="121.29" y1="43.76" y2="43.53" y3="43.09"/> + <curve x1="121.54" x2="120.21" x3="120.45" y1="42.49" y2="43.08" y3="42.54"/> + <curve x1="120.72" x2="121.62" x3="122.66" y1="41.91" y2="42.31" y3="42.35"/> + <curve x1="123.44" x2="123.41" x3="123.72" y1="42.39" y2="42.46" y3="42.18"/> + <curve x1="124.36" x2="124.53" x3="124.81" y1="41.63" y2="42.01" y3="41.83"/> + <curve x1="125.65" x2="125.93" x3="126.38" y1="41.28" y2="41.17" y3="41.8"/> + <curve x1="126.87" x2="126.22" x3="125.59" y1="42.5" y2="42.32" y3="42.71"/> + <curve x1="124.67" x2="123.88" x3="123.59" y1="43.28" y2="44.18" y3="44.67"/> + <curve x1="123.04" x2="124.37" x3="125.62" y1="45.62" y2="44.88" y3="44.86"/> + <curve x1="126.66" x2="126.88" x3="127.5" y1="44.84" y2="44.71" y3="45.15"/> + <curve x1="128.14" x2="128.08" x3="128.47" y1="45.6" y2="45.26" y3="45.1"/> + <curve x1="129.27" x2="127.56" x3="128.09" y1="44.75" y2="44.01" y3="43.43"/> + <curve x1="128.42" x2="128.66" x3="128.06" y1="43.07" y2="42.94" y3="42.88"/> + <curve x1="126.91" x2="127.01" x3="127" y1="42.78" y2="42.33" y3="41.95"/> + <curve x1="126.97" x2="127.48" x3="127.54" y1="41.06" y2="41.69" y3="41.17"/> + <curve x1="127.64" x2="128.15" x3="128.18" y1="40.45" y2="40.66" y3="40.07"/> + <curve x1="128.22" x2="128.11" x3="128.05" y1="39.23" y2="39.54" y3="38.86"/> + <curve x1="127.99" x2="127.62" x3="127.5" y1="38.1" y2="38.54" y3="38.13"/> + <curve x1="127.41" x2="127.47" x3="127.5" y1="37.79" y2="37.62" y3="37.53"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="web reputation filtering 2" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="363.05" y="109.05"/> + <curve x1="342.01" x2="317.38" x3="317.38" y1="109.05" y2="125.39" y3="149.01"/> + <curve x1="317.38" x2="317.48" x3="317.48" y1="157.62" y2="163.53" y3="173.02"/> + <curve x1="317.48" x2="314.39" x3="300.37" y1="189.6" y2="191.76" y3="196.83"/> + <curve x1="276.95" x2="263.21" x3="263.21" y1="205.29" y2="216.44" y3="241.22"/> + <line x="462.5" y="241.26"/> + <curve x1="462.5" x2="439.18" x3="430" y1="207.65" y2="199.6" y3="197.26"/> + <curve x1="414.67" x2="410.38" x3="410.38" y1="193.34" y2="186.77" y3="177.76"/> + <curve x1="410.38" x2="410.62" x3="410.62" y1="169.33" y2="167.93" y3="154.08"/> + <curve x1="410.62" x2="388.25" x3="363.05" y1="130.29" y2="109.05" y3="109.05"/> + <close/> + <move x="362.85" y="137.65"/> + <curve x1="370.47" x2="376.64" x3="376.64" y1="137.65" y2="143.82" y3="151.44"/> + <curve x1="376.64" x2="370.47" x3="362.85" y1="159.05" y2="165.23" y3="165.23"/> + <curve x1="355.24" x2="349.06" x3="349.06" y1="165.23" y2="159.05" y3="151.44"/> + <curve x1="349.06" x2="355.24" x3="362.85" y1="143.82" y2="137.65" y3="137.65"/> + <close/> + <move x="218.99" y="140.5"/> + <curve x1="197.82" x2="180.25" x3="180.25" y1="140.5" y2="158.07" y3="179.25"/> + <line x="180.25" y="531.62"/> + <curve x1="180.25" x2="197.82" x3="218.99" y1="552.8" y2="570.38" y3="570.38"/> + <line x="503.9" y="570.38"/> + <curve x1="525.07" x2="542.65" x3="542.65" y1="570.38" y2="552.8" y3="531.62"/> + <line x="542.65" y="179.25"/> + <curve x1="542.65" x2="525.07" x3="503.9" y1="158.07" y2="140.5" y3="140.5"/> + <line x="439.11" y="140.5"/> + <line x="439.02" y="153.19"/> + <curve x1="439.02" x2="446.96" x3="459.44" y1="165.17" y2="174.52" y3="174.52"/> + <line x="503.9" y="174.52"/> + <curve x1="506.81" x2="508.64" x3="508.64" y1="174.52" y2="176.33" y3="179.25"/> + <line x="508.64" y="531.62"/> + <curve x1="508.64" x2="506.81" x3="503.9" y1="534.54" y2="536.36" y3="536.36"/> + <line x="218.99" y="536.36"/> + <curve x1="216.07" x2="214.26" x3="214.26" y1="536.36" y2="534.54" y3="531.62"/> + <line x="214.26" y="179.25"/> + <curve x1="214.26" x2="216.07" x3="218.99" y1="176.33" y2="174.52" y3="174.52"/> + <line x="265.87" y="174.52"/> + <curve x1="275.43" x2="284.65" x3="284.65" y1="174.52" y2="166.46" y3="156.21"/> + <line x="284.79" y="140.5"/> + <close/> + <move x="226.41" y="253.39"/> + <line x="226.41" y="454.79"/> + <line x="299.63" y="454.79"/> + <line x="306.3" y="454.79"/> + <line x="446.97" y="454.79"/> + <line x="446.97" y="446.89"/> + <line x="306.3" y="446.89"/> + <line x="306.3" y="392.09"/> + <line x="446.97" y="392.09"/> + <line x="446.97" y="384.19"/> + <line x="306.3" y="384.19"/> + <line x="306.3" y="329.39"/> + <line x="446.97" y="329.39"/> + <line x="446.97" y="321.5"/> + <line x="306.3" y="321.5"/> + <line x="306.3" y="253.39"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="web security" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="401.56" y="117.22"/> + <curve x1="390.98" x2="380.18" x3="369.21" y1="117.29" y2="118.14" y3="119.84"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="368.97" x-axis-rotation="0" y="119.87"/> + <curve x1="251.66" x2="197.4" x3="180.83" y1="140.33" y2="229.91" y3="309.68"/> + <curve x1="137.16" x2="96.13" x3="96.13" y1="324.69" y2="361.42" y3="415.17"/> + <curve x1="96.13" x2="122.32" x3="154.87" y1="463.64" y2="494.26" y3="509.37"/> + <curve x1="162.96" x2="171.39" x3="179.98" y1="513.13" y2="516.09" y3="518.45"/> + <line x="147.5" y="551.58"/> + <line x="177.19" y="580.69"/> + <line x="230.33" y="526.47"/> + <curve x1="237.55" x2="244.61" x3="251.35" y1="526.99" y2="527.31" y3="527.53"/> + <curve x1="293.81" x2="352.16" x3="400.14" y1="571.94" y2="587.95" y3="591.16"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="400.7" x-axis-rotation="0" y="591.19"/> + <curve x1="467.24" x2="519.08" x3="563.05" y1="592.84" y2="562.68" y3="521.98"/> + <curve x1="625.29" x2="699.75" x3="773.73" y1="531.72" y2="540.18" y3="514.23"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="774.66" x-axis-rotation="0" y="513.87"/> + <curve x1="837.08" x2="856.51" x3="835.48" y1="486.55" y2="422.77" y3="376.27"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="835.28" x-axis-rotation="0" y="375.85"/> + <curve x1="816.07" x2="779.94" x3="751.41" y1="337.12" y2="317.28" y3="306.98"/> + <curve x1="740.27" x2="728.49" x3="699.98" y1="285" y2="261.02" y3="239.71"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="699.63" x-axis-rotation="0" y="239.46"/> + <curve x1="670.08" x2="630.03" x3="591.11" y1="218.83" y2="212.33" y3="221.95"/> + <curve x1="553.81" x2="486.52" x3="406.09" y1="164.34" y2="118.35" y3="117.23"/> + <curve x1="404.58" x2="403.07" x3="401.56" y1="117.21" y2="117.21" y3="117.22"/> + <close/> + <move x="401.84" y="143.69"/> + <curve x1="403.17" x2="404.5" x3="405.82" y1="143.68" y2="143.68" y3="143.7"/> + <curve x1="480.15" x2="542.12" x3="573.73" y1="144.83" y2="189.44" y3="243.28"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="589.22" x-axis-rotation="0" y="249.16"/> + <curve x1="623.36" x2="659.79" x3="684.35" y1="238.07" y2="244.01" y3="261.08"/> + <curve x1="709.61" x2="718.13" x3="730.33" y1="280.04" y2="299.62" y3="323.48"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="737.92" x-axis-rotation="0" y="330.02"/> + <curve x1="763.23" x2="795.74" x3="811.46" y1="338.45" y2="355.9" y3="387.44"/> + <curve x1="826.11" x2="814.66" x3="764.4" y1="420.19" y2="467.23" y3="489.43"/> + <curve x1="695.47" x2="623.6" x3="561.16" y1="513.43" y2="504.96" y3="495.02"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="549.93" x-axis-rotation="0" y="498.52"/> + <curve x1="507.68" x2="462.13" x3="401.63" y1="538.94" y2="566.15" y3="564.73"/> + <curve x1="356.64" x2="303.15" x3="266.83" y1="561.67" y2="546.36" y3="505.71"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="257.29" x-axis-rotation="0" y="501.3"/> + <curve x1="256.56" x2="255.8" x3="255.06" y1="501.29" y2="501.26" y3="501.24"/> + <line x="259.39" y="496.82"/> + <curve x1="282.47" x2="310.91" x3="341.63" y1="513.73" y2="523.73" y3="523.73"/> + <curve x1="410.88" x2="468.53" x3="479.36" y1="523.73" y2="472.97" y3="406.73"/> + <line x="495.23" y="456.89"/> + <line x="518.33" y="456.89"/> + <line x="533.57" y="399.09"/> + <line x="549.05" y="456.89"/> + <line x="571.91" y="456.89"/> + <line x="600.77" y="367.01"/> + <line x="577.32" y="367.01"/> + <line x="560.14" y="425.91"/> + <line x="545.16" y="367.01"/> + <line x="522.22" y="367.01"/> + <line x="506.74" y="425.91"/> + <line x="489.89" y="367.01"/> + <line x="480.13" y="367.01"/> + <curve x1="471.64" x2="412.74" x3="341.63" y1="298.15" y2="244.62" y3="244.62"/> + <curve x1="264.72" x2="202.08" x3="202.08" y1="244.62" y2="307.26" y3="384.18"/> + <curve x1="202.08" x2="212.41" x3="229.83" y1="415.41" y2="444.3" y3="467.59"/> + <line x="201.82" y="496.17"/> + <curve x1="189.01" x2="176.73" x3="166.02" y1="493.78" y2="490.35" y3="485.38"/> + <curve x1="139.91" x2="122.59" x3="122.59" y1="473.25" y2="454.95" y3="415.17"/> + <curve x1="122.59" x2="157.51" x3="195.63" y1="372.64" y2="343.27" y3="332.46"/> + <arc large-arc-flag="0" rx="13.23" ry="13.23" sweep-flag="0" x="205.04" x-axis-rotation="0" y="322.06"/> + <curve x1="218.32" x2="264.14" x3="373.41" y1="247.88" y2="165.07" y3="145.97"/> + <curve x1="383.05" x2="392.54" x3="401.84" y1="144.48" y2="143.74" y3="143.69"/> + <close/> + <move x="341.63" y="271.08"/> + <curve x1="404.26" x2="454.73" x3="454.73" y1="271.08" y2="321.56" y3="384.18"/> + <curve x1="454.73" x2="404.26" x3="341.63" y1="446.8" y2="497.27" y3="497.27"/> + <curve x1="279.01" x2="228.54" x3="228.54" y1="497.27" y2="446.8" y3="384.18"/> + <curve x1="228.54" x2="279.01" x3="341.63" y1="321.56" y2="271.08" y3="271.08"/> + <close/> + <move x="259.74" y="332.9"/> + <line x="289.37" y="456.98"/> + <line x="316.54" y="456.98"/> + <line x="341.16" y="364.22"/> + <line x="365.88" y="456.98"/> + <line x="392.45" y="456.98"/> + <line x="422.58" y="332.9"/> + <line x="397.36" y="332.9"/> + <line x="378.32" y="419.57"/> + <line x="356.57" y="332.9"/> + <line x="326.78" y="332.9"/> + <line x="304.09" y="418.13"/> + <line x="285.39" y="332.9"/> + <close/> + <move x="621.03" y="366.34"/> + <line x="649.46" y="456.22"/> + <line x="672.57" y="456.22"/> + <line x="687.8" y="398.41"/> + <line x="703.29" y="456.22"/> + <line x="726.14" y="456.22"/> + <line x="755.01" y="366.34"/> + <line x="731.56" y="366.34"/> + <line x="714.38" y="425.24"/> + <line x="699.4" y="366.34"/> + <line x="676.46" y="366.34"/> + <line x="660.97" y="425.24"/> + <line x="644.13" y="366.34"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="web security services" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="504" y="148.22"/> + <curve x1="493.92" x2="483.74" x3="473.63" y1="148.37" y2="149.42" y3="151.46"/> + <curve x1="427.08" x2="397.09" x3="389.62" y1="163.62" y2="189.04" y3="231.29"/> + <curve x1="356.15" x2="323.35" x3="303.14" y1="213.61" y2="217.77" y3="233"/> + <curve x1="278.45" x2="270.86" x3="274.26" y1="252.97" y2="277.84" y3="301.04"/> + <curve x1="214.91" x2="174.23" x3="174.23" y1="300.47" y2="339.92" y3="400.42"/> + <curve x1="174.23" x2="197.26" x3="271.47" y1="439.65" y2="503.93" y3="503.93"/> + <line x="461.49" y="503.88"/> + <line x="461.49" y="530.43"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="447.52" x-axis-rotation="0" y="544.41"/> + <line x="335.12" y="544.41"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="312.62" x-axis-rotation="0" y="528.86"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="288.57" x-axis-rotation="0" y="552.92"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="312.62" x-axis-rotation="0" y="576.97"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="335.1" x-axis-rotation="0" y="561.42"/> + <line x="447.51" y="561.42"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="470" x-axis-rotation="0" y="576.97"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="492.47" x-axis-rotation="0" y="561.42"/> + <line x="604.88" y="561.42"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="627.37" x-axis-rotation="0" y="576.97"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="651.42" x-axis-rotation="0" y="552.92"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="627.37" x-axis-rotation="0" y="528.86"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="604.89" x-axis-rotation="0" y="544.41"/> + <line x="492.49" y="544.41"/> + <arc large-arc-flag="0" rx="24.05" ry="24.05" sweep-flag="0" x="478.5" x-axis-rotation="0" y="530.45"/> + <line x="478.5" y="503.88"/> + <line x="641.07" y="503.84"/> + <curve x1="708.45" x2="738.06" x3="741.61" y1="503.84" y2="477.61" y3="433.71"/> + <curve x1="747.04" x2="727.29" x3="685.36" y1="395.64" y2="354.99" y3="346.47"/> + <curve x1="685.22" x2="681.73" x3="672.81" y1="331.25" y2="324.58" y3="313.02"/> + <curve x1="663.48" x2="652.17" x3="640.31" y1="303.2" y2="299.87" y3="300.48"/> + <curve x1="645.55" x2="646.57" x3="613.7" y1="267.25" y2="228.79" y3="191.38"/> + <curve x1="589.28" x2="547.66" x3="504" y1="164.08" y2="147.6" y3="148.23"/> + <close/> + <move x="471.24" y="255.03"/> + <line x="559.82" y="274.88"/> + <line x="559.82" y="345.84"/> + <curve x1="559.82" x2="524.18" x3="473.74" y1="395.46" y2="449.53" y3="467.19"/> + <line x="471.24" y="468.07"/> + <line x="468.74" y="467.19"/> + <curve x1="426" x2="382.67" x3="382.67" y1="452.18" y2="409.57" y3="345.84"/> + <line x="382.67" y="280.93"/> + <line x="382.67" y="274.88"/> + <close/> + <move x="471.24" y="270.53"/> + <line x="454.06" y="274.38"/> + <line x="454.13" y="282.84"/> + <line x="425.08" y="289.35"/> + <line x="425.22" y="280.84"/> + <line x="397.79" y="286.99"/> + <line x="397.79" y="345.84"/> + <curve x1="397.79" x2="434.63" x3="471.16" y1="401.41" y2="437.92" y3="451.82"/> + <curve x1="513.13" x2="544.7" x3="544.7" y1="435.68" y2="387.14" y3="345.84"/> + <line x="544.7" y="286.99"/> + <line x="517.26" y="280.84"/> + <line x="517.41" y="289.35"/> + <line x="488.36" y="282.84"/> + <line x="488.43" y="274.38"/> + <close/> + <move x="470.93" y="300.22"/> + <line x="516.86" y="313.51"/> + <line x="434.39" y="398.16"/> + <curve x1="424.47" x2="417.62" x3="417.62" y1="383.07" y2="363.17" y3="337.66"/> + <line x="417.04" y="313.72"/> + <close/> + <move x="525.44" y="323.66"/> + <line x="525.38" y="337.66"/> + <curve x1="525.38" x2="499.5" x3="471.5" y1="379.61" y2="416.58" y3="430.6"/> + <curve x1="461.77" x2="451.48" x3="442.53" y1="426.02" y2="418.86" y3="408.78"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="web security services2" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="324.13" y="210.45"/> + <curve x1="318.4" x2="313.79" x3="313.79" y1="210.45" y2="215.06" y3="220.79"/> + <line x="313.79" y="356.78"/> + <curve x1="270.48" x2="228.38" x3="195.6" y1="354.83" y2="351.85" y3="347.38"/> + <line x="195.6" y="279.8"/> + <line x="301.44" y="279.8"/> + <line x="301.44" y="249.19"/> + <curve x1="291.82" x2="271.71" x3="262.3" y1="243.92" y2="239.02" y3="239.02"/> + <line x="232.38" y="239.02"/> + <curve x1="223.81" x2="204.61" x3="193.07" y1="239.02" y2="242.78" y3="251.47"/> + <curve x1="187.2" x2="182.86" x3="182.86" y1="256.15" y2="260.09" y3="269.43"/> + <line x="182.86" y="301.21"/> + <curve x1="147.39" x2="94.11" x3="94.11" y1="306.19" y2="314.11" y3="327.56"/> + <curve x1="94.11" x2="283.36" x3="475.32" y1="356.51" y2="370.98" y3="370.98"/> + <curve x1="623.3" x2="839.92" x3="839.92" y1="370.98" y2="355.74" y3="327.69"/> + <curve x1="839.92" x2="790.9" x3="755.09" y1="315.3" y2="304.71" y3="299.75"/> + <line x="755.09" y="274.47"/> + <curve x1="755.09" x2="744.61" x3="731.87" y1="261.73" y2="251.24" y3="251.24"/> + <line x="563.64" y="251.24"/> + <line x="563.64" y="266.36"/> + <line x="731.87" y="266.36"/> + <curve x1="736.49" x2="739.98" x3="739.98" y1="266.36" y2="269.85" y3="274.47"/> + <line x="739.98" y="345.54"/> + <curve x1="687.57" x2="612.24" x3="548.51" y1="352.68" y2="356.99" y3="358.93"/> + <line x="548.51" y="220.79"/> + <curve x1="548.51" x2="543.9" x3="538.18" y1="215.06" y2="210.45" y3="210.45"/> + <close/> + <move x="411.57" y="227.29"/> + <curve x1="411.63" x2="411.68" x3="411.73" y1="227.29" y2="227.29" y3="227.29"/> + <line x="450.54" y="227.29"/> + <curve x1="452.66" x2="452.66" x3="450.54" y1="227.18" y2="230.43" y3="230.31"/> + <line x="411.73" y="230.31"/> + <curve x1="409.76" x2="409.61" x3="411.57" y1="230.37" y2="227.44" y3="227.29"/> + <close/> + <move x="332.35" y="244.57"/> + <line x="529.96" y="244.57"/> + <line x="529.96" y="359.45"/> + <curve x1="509.81" x2="491.29" x3="475.67" y1="359.94" y2="360.17" y3="360.17"/> + <curve x1="437.31" x2="384.79" x3="332.35" y1="360.17" y2="359.57" y3="357.56"/> + <close/> + <move x="225.51" y="262.52"/> + <line x="273.78" y="262.52"/> + <curve x1="275.69" x2="277.23" x3="277.23" y1="262.52" y2="264.06" y3="265.97"/> + <line x="277.23" y="267.67"/> + <curve x1="277.23" x2="275.69" x3="273.78" y1="269.58" y2="271.12" y3="271.12"/> + <line x="225.51" y="271.12"/> + <curve x1="223.6" x2="222.06" x3="222.06" y1="271.12" y2="269.58" y3="267.67"/> + <line x="222.06" y="265.97"/> + <curve x1="222.06" x2="223.6" x3="225.51" y1="264.06" y2="262.52" y3="262.52"/> + <close/> + <move x="755.09" y="305.79"/> + <curve x1="774.9" x2="804.52" x3="804.52" y1="309.31" y2="315.6" y3="325.06"/> + <curve x1="804.52" x2="785.06" x3="755.09" y1="332.37" y2="338.4" y3="343.28"/> + <close/> + <move x="182.86" y="306.38"/> + <line x="182.86" y="345.49"/> + <curve x1="151.78" x2="131.77" x3="131.77" y1="340.46" y2="333.77" y3="324.94"/> + <curve x1="131.77" x2="161.95" x3="182.86" y1="318.1" y2="309.95" y3="306.38"/> + <close/> + <move x="182.86" y="369.18"/> + <line x="182.86" y="459.86"/> + <curve x1="182.86" x2="215.8" x3="230.75" y1="475.6" y2="486.53" y3="487.91"/> + <line x="266.63" y="487.91"/> + <curve x1="282.07" x2="292.58" x3="301.44" y1="486.41" y2="482.37" y3="477.58"/> + <line x="301.44" y="446.97"/> + <line x="195.6" y="446.97"/> + <line x="195.6" y="371.57"/> + <curve x1="191.45" x2="186.42" x3="182.86" y1="371.57" y2="371.13" y3="369.18"/> + <close/> + <move x="755.09" y="369.21"/> + <line x="739.98" y="371.16"/> + <line x="739.98" y="381.37"/> + <curve x1="739.98" x2="736.49" x3="731.87" y1="385.99" y2="389.48" y3="389.48"/> + <line x="563.64" y="389.48"/> + <line x="563.64" y="404.57"/> + <line x="755.09" y="404.57"/> + <close/> + <move x="313.79" y="381.51"/> + <line x="313.79" y="508.4"/> + <curve x1="313.79" x2="318.4" x3="324.13" y1="514.12" y2="518.73" y3="518.73"/> + <line x="538.18" y="518.73"/> + <curve x1="543.9" x2="548.51" x3="548.51" y1="518.73" y2="514.12" y3="508.4"/> + <line x="548.51" y="384.58"/> + <line x="529.96" y="384.58"/> + <line x="529.96" y="464.3"/> + <line x="332.35" y="464.3"/> + <line x="332.35" y="381.51"/> + <close/> + <move x="563.7" y="414.42"/> + <line x="563.4" y="477.72"/> + <line x="795.89" y="477.66"/> + <line x="756.12" y="414.71"/> + <close/> + <move x="249.62" y="457.47"/> + <curve x1="253.98" x2="257.51" x3="257.51" y1="457.47" y2="461" y3="465.36"/> + <curve x1="257.51" x2="253.98" x3="249.62" y1="469.71" y2="473.24" y3="473.24"/> + <curve x1="245.27" x2="241.73" x3="241.73" y1="473.24" y2="469.71" y3="465.36"/> + <curve x1="241.73" x2="245.27" x3="249.62" y1="461" y2="457.47" y3="457.47"/> + <close/> + <move x="431.15" y="482.47"/> + <curve x1="437.34" x2="442.36" x3="442.36" y1="482.47" y2="487.49" y3="493.68"/> + <curve x1="442.36" x2="437.34" x3="431.15" y1="499.86" y2="504.88" y3="504.88"/> + <curve x1="424.97" x2="419.95" x3="419.95" y1="504.88" y2="499.86" y3="493.68"/> + <curve x1="419.95" x2="424.97" x3="431.15" y1="487.49" y2="482.47" y3="482.47"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="680.96"/> + <curve x1="918.03" x2="907.37" x3="893.74" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="465.11" name="wifi indicator" strokewidth="inherit" w="408.86"> + <connections/> + <foreground> + <path> + <move x="335.46" y="0"/> + <line x="335.46" y="465.11"/> + <line x="408.86" y="465.11"/> + <line x="408.86" y="0"/> + <close/> + <move x="223.64" y="90.91"/> + <line x="223.64" y="465.11"/> + <line x="297.04" y="465.11"/> + <line x="297.04" y="90.91"/> + <close/> + <move x="111.82" y="182.33"/> + <line x="111.82" y="465.11"/> + <line x="185.22" y="465.11"/> + <line x="185.22" y="182.33"/> + <close/> + <move x="0" y="271.23"/> + <line x="0" y="465.11"/> + <line x="73.4" y="465.11"/> + <line x="73.4" y="271.23"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="721.24" name="wireless access point" strokewidth="inherit" w="739.57"> + <connections/> + <foreground> + <path> + <move x="115.05" y="0"/> + <line x="115.05" y="46.81"/> + <line x="121.95" y="46.81"/> + <line x="121.95" y="115.58"/> + <line x="119.96" y="115.58"/> + <curve x1="109.83" x2="101.68" x3="101.68" y1="115.58" y2="123.73" y3="133.86"/> + <line x="101.68" y="245.39"/> + <line x="62.4" y="245.39"/> + <curve x1="27.99" x2="0" x3="0" y1="245.39" y2="273.39" y3="307.79"/> + <line x="0" y="658.84"/> + <curve x1="0" x2="27.99" x3="62.4" y1="693.24" y2="721.24" y3="721.24"/> + <line x="677.17" y="721.24"/> + <curve x1="711.58" x2="739.57" x3="739.57" y1="721.24" y2="693.24" y3="658.84"/> + <line x="739.57" y="307.79"/> + <curve x1="739.57" x2="711.58" x3="677.17" y1="273.39" y2="245.39" y3="245.39"/> + <line x="634.82" y="245.39"/> + <line x="634.82" y="133.86"/> + <curve x1="634.82" x2="626.66" x3="616.54" y1="123.73" y2="115.58" y3="115.58"/> + <line x="614.55" y="115.58"/> + <line x="614.55" y="46.81"/> + <line x="621.45" y="46.81"/> + <line x="621.45" y="0"/> + <line x="587" y="0"/> + <line x="587" y="46.81"/> + <line x="593.9" y="46.81"/> + <line x="593.9" y="115.58"/> + <line x="591.91" y="115.58"/> + <curve x1="581.78" x2="573.63" x3="573.63" y1="115.58" y2="123.73" y3="133.86"/> + <line x="573.63" y="245.39"/> + <line x="162.86" y="245.39"/> + <line x="162.86" y="133.86"/> + <curve x1="162.86" x2="154.71" x3="144.59" y1="123.73" y2="115.58" y3="115.58"/> + <line x="142.6" y="115.58"/> + <line x="142.6" y="46.81"/> + <line x="149.5" y="46.81"/> + <line x="149.5" y="0"/> + <close/> + <move x="62.4" y="264.28"/> + <line x="677.17" y="264.28"/> + <curve x1="701.43" x2="720.67" x3="720.67" y1="264.28" y2="283.53" y3="307.79"/> + <line x="720.67" y="658.84"/> + <curve x1="720.67" x2="701.43" x3="677.17" y1="683.1" y2="702.34" y3="702.34"/> + <line x="62.4" y="702.34"/> + <curve x1="38.13" x2="18.9" x3="18.9" y1="702.34" y2="683.1" y3="658.84"/> + <line x="18.9" y="307.79"/> + <curve x1="18.9" x2="38.13" x3="62.4" y1="283.53" y2="264.28" y3="264.28"/> + <close/> + <move x="177.51" y="490.17"/> + <curve x1="163.85" x2="153.08" x3="145.56" y1="490.17" y2="498.11" y3="506.83"/> + <curve x1="141.74" x2="138.48" x3="135.66" y1="511.27" y2="516.07" y3="520.85"/> + <curve x1="133.67" x2="131.51" x3="129.1" y1="517.62" y2="514.44" y3="511.49"/> + <curve x1="122.32" x2="113.09" x3="101.33" y1="503.19" y2="496.24" y3="496.24"/> + <curve x1="89.29" x2="78.66" x3="70.74" y1="496.24" y2="503.5" y3="512.18"/> + <curve x1="63.13" x2="57.63" x3="57.21" y1="520.52" y2="530.18" y3="539.62"/> + <line x="51.11" y="539.62"/> + <curve x1="51.11" x2="57.59" x3="66.26" y1="552.18" y2="562.79" y3="572.29"/> + <curve x1="74.92" x2="86.67" x3="101.33" y1="581.79" y2="590.21" y3="590.21"/> + <curve x1="115.45" x2="126.41" x3="133.8" y1="590.21" y2="581.78" y3="572.73"/> + <curve x1="137.26" x2="140.18" x3="142.76" y1="568.49" y2="563.96" y3="559.49"/> + <curve x1="144.98" x2="147.43" x3="150.15" y1="563.01" y2="566.44" y3="569.6"/> + <curve x1="157.04" x2="166.17" x3="177.51" y1="577.59" y2="584.15" y3="584.15"/> + <curve x1="188.99" x2="197.87" x3="204.55" y1="584.15" y2="577.12" y3="569.03"/> + <curve x1="207.53" x2="210.18" x3="212.62" y1="565.42" y2="561.52" y3="557.64"/> + <curve x1="215.95" x2="219.7" x3="223.82" y1="562.63" y2="567.78" y3="572.54"/> + <curve x1="231.37" x2="240.01" x3="253.7" y1="581.24" y2="590.21" y3="590.21"/> + <curve x1="265.77" x2="275" x3="282.5" y1="590.21" y2="583.03" y3="574.79"/> + <curve x1="286.93" x2="290.99" x3="294.79" y1="569.91" y2="564.32" y3="558.35"/> + <curve x1="297.64" x2="300.59" x3="303.9" y1="563.05" y2="567.38" y3="571.18"/> + <curve x1="310.45" x2="319.1" x3="329.88" y1="578.7" y2="584.15" y3="584.15"/> + <curve x1="341.16" x2="349.85" x3="356.42" y1="584.15" y2="577.35" y3="569.39"/> + <curve x1="359.43" x2="362.14" x3="364.68" y1="565.73" y2="561.74" y3="557.73"/> + <curve x1="367.59" x2="370.79" x3="374.58" y1="562.59" y2="567.67" y3="572.47"/> + <curve x1="381.61" x2="392.07" x3="406.06" y1="581.38" y2="590.21" y3="590.21"/> + <curve x1="419.59" x2="430.16" x3="437.2" y1="590.21" y2="582.09" y3="573.35"/> + <curve x1="441.05" x2="444.3" x3="447.32" y1="568.57" y2="563.42" y3="558.3"/> + <curve x1="449.82" x2="452.44" x3="455.42" y1="562.47" y2="566.5" y3="570.15"/> + <curve x1="461.8" x2="470.65" x3="482.24" y1="577.96" y2="584.15" y3="584.15"/> + <curve x1="493.9" x2="502.73" x3="509.09" y1="584.15" y2="577.77" y3="569.91"/> + <curve x1="512.07" x2="514.68" x3="517.17" y1="566.23" y2="562.2" y3="558.06"/> + <curve x1="520.18" x2="523.41" x3="527.25" y1="563.13" y2="568.27" y3="573.08"/> + <curve x1="534.25" x2="544.78" x3="558.43" y1="581.87" y2="590.21" y3="590.21"/> + <curve x1="572.03" x2="582.69" x3="589.9" y1="590.21" y2="582.12" y3="573.3"/> + <curve x1="593.67" x2="596.87" x3="599.78" y1="568.69" y2="563.72" y3="558.75"/> + <curve x1="601.75" x2="603.87" x3="606.34" y1="562.26" y2="565.77" y3="569.08"/> + <curve x1="612.44" x2="621.64" x3="634.62" y1="577.24" y2="584.15" y3="584.15"/> + <curve x1="648.16" x2="659.13" x3="666.62" y1="584.15" y2="575.93" y3="566.81"/> + <curve x1="674.1" x2="678.77" x3="678.77" y1="557.68" y2="548.05" y3="539.62"/> + <line x="684.83" y="539.62"/> + <curve x1="684.83" x2="664.03" x3="634.62" y1="514.29" y2="490.17" y3="490.17"/> + <curve x1="619.79" x2="608" x3="601.11" y1="490.17" y2="497.83" y3="506.81"/> + <curve x1="597.37" x2="594.55" x3="592.02" y1="511.69" y2="516.79" y3="521.75"/> + <curve x1="589.88" x2="587.6" x3="585.12" y1="518.34" y2="514.94" y3="511.77"/> + <curve x1="578.63" x2="569.96" x3="558.43" y1="503.5" y2="496.24" y3="496.24"/> + <curve x1="547.09" x2="538.44" x3="531.99" y1="496.24" y2="503" y3="511.09"/> + <curve x1="529.19" x2="526.67" x3="524.26" y1="514.6" y2="518.43" y3="522.35"/> + <curve x1="521.19" x2="517.88" x3="513.81" y1="517.08" y2="511.7" y3="506.66"/> + <curve x1="506.83" x2="495.96" x3="482.24" y1="498.05" y2="490.17" y3="490.17"/> + <curve x1="468.65" x2="457.74" x3="450.72" y1="490.17" y2="497.82" y3="506.4"/> + <curve x1="446.64" x2="443.33" x3="440.24" y1="511.4" y2="516.77" y3="522.11"/> + <curve x1="437.82" x2="435.29" x3="432.48" y1="518.17" y2="514.34" y3="510.85"/> + <curve x1="426.01" x2="417.34" x3="406.06" y1="502.82" y2="496.24" y3="496.24"/> + <curve x1="394.55" x2="385.85" x3="379.34" y1="496.24" y2="503.43" y3="511.67"/> + <curve x1="376.6" x2="374.14" x3="371.82" y1="515.13" y2="518.87" y3="522.62"/> + <curve x1="368.69" x2="365.22" x3="361.1" y1="517.5" y2="512.14" y3="507.14"/> + <curve x1="353.98" x2="343.55" x3="329.88" y1="498.51" y2="490.17" y3="490.17"/> + <curve x1="317.22" x2="306.55" x3="299.32" y1="490.17" y2="496.92" y3="505.22"/> + <curve x1="294.85" x2="291.16" x3="287.64" y1="510.36" y2="516.1" y3="522.18"/> + <curve x1="284.57" x2="281.37" x3="278.02" y1="517.6" y2="513.37" y3="509.68"/> + <curve x1="271.08" x2="263.13" x3="253.7" y1="502.04" y2="496.24" y3="496.24"/> + <curve x1="243.45" x2="235.52" x3="228.41" y1="496.24" y2="503.62" y3="511.83"/> + <curve x1="225.38" x2="222.52" x3="219.86" y1="515.32" y2="519.11" y3="522.92"/> + <curve x1="216.83" x2="213.37" x3="209.23" y1="517.87" y2="512.51" y3="507.5"/> + <curve x1="202" x2="191.46" x3="177.51" y1="498.74" y2="490.17" y3="490.17"/> + <close/> + <move x="101.33" y="508.37"/> + <curve x1="108.39" x2="114.16" x3="119.7" y1="508.37" y2="512.37" y3="519.16"/> + <curve x1="123.07" x2="126.12" x3="128.91" y1="523.29" y2="528.33" y3="533.5"/> + <curve x1="128.79" x2="128.65" x3="128.53" y1="533.76" y2="534.03" y3="534.29"/> + <curve x1="124.51" x2="119.92" x3="115" y1="542.49" y2="551.36" y3="557.39"/> + <curve x1="110.07" x2="106.04" x3="101.33" y1="563.43" y2="565.96" y3="565.96"/> + <curve x1="97.16" x2="89.85" x3="84.18" y1="565.96" y2="562.16" y3="555.94"/> + <curve x1="78.51" x2="75.37" x3="75.37" y1="549.72" y2="541.09" y3="539.62"/> + <line x="69.39" y="539.62"/> + <curve x1="69.98" x2="73.8" x3="79.7" y1="535.03" y2="526.82" y3="520.36"/> + <curve x1="86.12" x2="94.53" x3="101.33" y1="513.31" y2="508.37" y3="508.37"/> + <close/> + <move x="253.7" y="508.37"/> + <curve x1="257.85" x2="263.21" x3="269.05" y1="508.37" y2="511.42" y3="517.84"/> + <curve x1="272.99" x2="277" x3="280.92" y1="522.17" y2="527.85" y3="534.19"/> + <curve x1="275.49" x2="269.75" x3="264.56" y1="543.96" y2="552.75" y3="558.46"/> + <curve x1="259.28" x2="255.22" x3="253.7" y1="564.27" y2="565.96" y3="565.96"/> + <curve x1="253.79" x2="247.96" x3="242.15" y1="565.96" y2="563.34" y3="556.64"/> + <curve x1="236.62" x2="231.03" x3="226.68" y1="550.26" y2="541.68" y3="534.49"/> + <curve x1="230.03" x2="233.75" x3="237.57" y1="529.38" y2="524.17" y3="519.77"/> + <curve x1="243.81" x2="250.35" x3="253.7" y1="512.57" y2="508.37" y3="508.37"/> + <close/> + <move x="406.06" y="508.37"/> + <curve x1="412.83" x2="417.71" x3="423.04" y1="508.37" y2="511.85" y3="518.46"/> + <curve x1="426.5" x2="429.83" x3="433.27" y1="522.76" y2="528.29" y3="534.2"/> + <curve x1="427.74" x2="422.92" x3="418.31" y1="543.49" y2="552.4" y3="558.13"/> + <curve x1="413.56" x2="410.58" x3="406.06" y1="564.03" y2="565.96" y3="565.96"/> + <curve x1="402.01" x2="398.56" x3="393.62" y1="565.96" y2="563.69" y3="557.44"/> + <curve x1="388.91" x2="384.2" x3="378.96" y1="551.46" y2="542.74" y3="534.33"/> + <curve x1="382.21" x2="385.44" x3="388.86" y1="528.87" y2="523.52" y3="519.19"/> + <curve x1="394.32" x2="399.52" x3="406.06" y1="512.27" y2="508.37" y3="508.37"/> + <close/> + <move x="558.43" y="508.37"/> + <curve x1="564.94" x2="570.12" x3="575.57" y1="508.37" y2="512.3" y3="519.25"/> + <curve x1="578.99" x2="582.24" x3="585.52" y1="523.62" y2="528.99" y3="534.45"/> + <curve x1="580.59" x2="575.84" x3="571.12" y1="543.41" y2="552.18" y3="557.93"/> + <curve x1="566.29" x2="562.88" x3="558.43" y1="563.84" y2="565.96" y3="565.96"/> + <curve x1="554.04" x2="551.01" x3="546.22" y1="565.96" y2="563.96" y3="557.96"/> + <curve x1="541.61" x2="536.83" x3="531.29" y1="552.17" y2="543.33" y3="534.28"/> + <curve x1="534.72" x2="538.03" x3="541.48" y1="528.48" y2="522.97" y3="518.65"/> + <curve x1="546.82" x2="551.73" x3="558.43" y1="511.95" y2="508.37" y3="508.37"/> + <close/> + <move x="177.51" y="514.43"/> + <curve x1="181.58" x2="185.52" x3="190.53" y1="514.43" y2="516.88" y3="522.95"/> + <curve x1="195.55" x2="200.39" x3="205.2" y1="529.02" y2="537.82" y3="545.85"/> + <curve x1="205.26" x2="205.32" x3="205.38" y1="545.95" y2="546.06" y3="546.16"/> + <curve x1="202.18" x2="198.83" x3="195.2" y1="551.53" y2="556.91" y3="561.3"/> + <curve x1="189.63" x2="184.05" x3="177.51" y1="568.04" y2="572.02" y3="572.02"/> + <curve x1="170.83" x2="164.96" x3="159.34" y1="572.02" y2="568.2" y3="561.68"/> + <curve x1="155.69" x2="152.36" x3="149.39" y1="557.44" y2="552.2" y3="546.82"/> + <curve x1="149.69" x2="150.03" x3="150.32" y1="546.21" y2="545.54" y3="544.95"/> + <curve x1="154.21" x2="158.94" x3="163.93" y1="536.99" y2="528.47" y3="522.67"/> + <curve x1="168.93" x2="173.16" x3="177.51" y1="516.88" y2="514.43" y3="514.43"/> + <close/> + <move x="329.88" y="514.43"/> + <curve x1="333.98" x2="337.46" x3="342.38" y1="514.43" y2="516.61" y3="522.58"/> + <curve x1="347.28" x2="352.23" x3="357.64" y1="528.51" y2="537.39" y3="545.98"/> + <curve x1="354.17" x2="350.72" x3="347.06" y1="551.68" y2="557.24" y3="561.67"/> + <curve x1="341.59" x2="336.37" x3="329.88" y1="568.3" y2="572.02" y3="572.02"/> + <curve x1="322.88" x2="318.23" x3="313.04" y1="572.02" y2="569.17" y3="563.22"/> + <curve x1="309.35" x2="305.74" x3="301.89" y1="558.98" y2="553.15" y3="546.4"/> + <curve x1="302.06" x2="302.23" x3="302.4" y1="546.1" y2="545.8" y3="545.5"/> + <curve x1="308.16" x2="313.12" x3="317.62" y1="535.08" y2="526.32" y3="521.15"/> + <curve x1="322.12" x2="324.76" x3="329.88" y1="515.98" y2="514.43" y3="514.43"/> + <close/> + <move x="482.24" y="514.43"/> + <curve x1="487.74" x2="490.42" x3="494.95" y1="514.43" y2="516.33" y3="521.92"/> + <curve x1="499.48" x2="504.17" x3="510.02" y1="527.51" y2="536.51" y3="545.99"/> + <curve x1="510.04" x2="510.07" x3="510.09" y1="546.03" y2="546.07" y3="546.12"/> + <curve x1="506.52" x2="503.19" x3="499.66" y1="552.21" y2="557.93" y3="562.28"/> + <curve x1="494.52" x2="489.79" x3="482.24" y1="568.63" y2="572.02" y3="572.02"/> + <curve x1="474.64" x2="469.92" x3="464.81" y1="572.02" y2="568.73" y3="562.47"/> + <curve x1="461.28" x2="457.93" x3="454.35" y1="558.15" y2="552.42" y3="546.21"/> + <curve x1="454.42" x2="454.49" x3="454.56" y1="546.09" y2="545.96" y3="545.85"/> + <curve x1="460.34" x2="465.02" x3="469.51" y1="536.19" y2="527.24" y3="521.75"/> + <curve x1="473.99" x2="476.63" x3="482.24" y1="516.27" y2="514.43" y3="514.43"/> + <close/> + <move x="634.62" y="514.43"/> + <curve x1="650.87" x2="660.57" x3="660.57" y1="514.43" y2="527.46" y3="539.62"/> + <line x="666.64" y="539.62"/> + <curve x1="666.64" x2="663.29" x3="657.24" y1="542.13" y2="551.75" y3="559.11"/> + <curve x1="651.19" x2="643.12" x3="634.62" y1="566.48" y2="572.02" y3="572.02"/> + <curve x1="625.54" x2="620.9" x3="616.06" y1="572.02" y2="568.3" y3="561.82"/> + <curve x1="612.83" x2="609.97" x3="606.76" y1="557.5" y2="551.95" y3="546.18"/> + <curve x1="606.89" x2="607.02" x3="607.15" y1="545.95" y2="545.7" y3="545.47"/> + <curve x1="612.56" x2="616.4" x3="620.36" y1="535.65" y2="526.74" y3="521.58"/> + <curve x1="624.32" x2="626.61" x3="634.62" y1="516.41" y2="514.43" y3="514.43"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="wireless bridge" strokewidth="inherit" w="938.03"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="893.74" y="725.26"/> + <curve x1="918.1" x2="938.03" x3="938.03" y1="725.26" y2="705.33" y3="680.96"/> + <line x="938.03" y="44.28"/> + <curve x1="938.03" x2="918.1" x3="893.74" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="893.74" y="20"/> + <curve x1="907.37" x2="918.03" x3="918.03" y1="20" y2="30.66" y3="44.28"/> + <line x="918.03" y="442.16"/> + <curve x1="910.04" x2="907.37" x3="893.74" y1="432.79" y2="433.19" y3="433.19"/> + <line x="825.04" y="433.19"/> + <line x="825.04" y="174.14"/> + <curve x1="879.32" x2="904.54" x3="904.54" y1="140.73" y2="99.47" y3="37.86"/> + <line x="35.54" y="37.1"/> + <curve x1="35.54" x2="59.81" x3="90.09" y1="104.14" y2="136.63" y3="159.3"/> + <line x="90.09" y="433.19"/> + <line x="44.28" y="433.19"/> + <curve x1="30.66" x2="25.98" x3="20" y1="433.19" y2="434.31" y3="442.16"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="119.93" y="178.57"/> + <curve x1="126.42" x2="132.92" x3="139.28" y1="182.38" y2="186.12" y3="189.96"/> + <curve x1="177.64" x2="220.84" x3="266.37" y1="210.48" y2="225.86" y3="236.84"/> + <line x="266.37" y="433.19"/> + <line x="119.93" y="433.19"/> + <close/> + <move x="795.2" y="190.38"/> + <line x="795.2" y="433.19"/> + <line x="648.76" y="433.19"/> + <line x="648.76" y="240.32"/> + <curve x1="662.46" x2="675.62" x3="688.09" y1="237.4" y2="234.19" y3="230.69"/> + <curve x1="730.26" x2="765.84" x3="795.2" y1="217.66" y2="204.62" y3="190.38"/> + <close/> + <move x="296.21" y="243.35"/> + <curve x1="344.01" x2="393.72" x3="442.64" y1="252.72" y2="257.56" y3="258.62"/> + <line x="442.64" y="433.19"/> + <line x="296.21" y="433.19"/> + <close/> + <move x="618.92" y="246.04"/> + <line x="618.92" y="433.19"/> + <line x="472.48" y="433.19"/> + <line x="472.48" y="258.8"/> + <curve x1="523.89" x2="573.77" x3="618.92" y1="258.32" y2="253.77" y3="246.04"/> + <close/> + <move x="244.25" y="520.84"/> + <curve x1="261.72" x2="274.92" x3="283.99" y1="520.84" y2="531.56" y3="542.54"/> + <curve x1="289.17" x2="293.51" x3="297.3" y1="548.82" y2="555.54" y3="561.86"/> + <curve x1="300.63" x2="304.21" x3="308" y1="557.09" y2="552.34" y3="547.96"/> + <curve x1="316.91" x2="326.86" x3="339.68" y1="537.68" y2="528.43" y3="528.43"/> + <curve x1="351.5" x2="361.46" x3="370.15" y1="528.43" y2="535.7" y3="545.27"/> + <curve x1="374.36" x2="378.36" x3="382.2" y1="549.89" y2="555.19" y3="560.93"/> + <curve x1="386.61" x2="391.24" x3="396.84" y1="553.32" y2="546.12" y3="539.69"/> + <curve x1="405.9" x2="419.26" x3="435.12" y1="529.29" y2="520.84" y3="520.84"/> + <curve x1="452.24" x2="465.31" x3="474.22" y1="520.84" y2="531.28" y3="542.08"/> + <curve x1="479.39" x2="483.73" x3="487.66" y1="548.35" y2="555.06" y3="561.48"/> + <curve x1="490.56" x2="493.65" x3="497.07" y1="556.78" y2="552.11" y3="547.77"/> + <curve x1="505.23" x2="516.13" x3="530.55" y1="537.44" y2="528.43" y3="528.43"/> + <curve x1="544.67" x2="555.54" x3="563.65" y1="528.43" y2="536.67" y3="546.74"/> + <curve x1="567.17" x2="570.34" x3="573.36" y1="551.11" y2="555.9" y3="560.84"/> + <curve x1="577.23" x2="581.38" x3="586.5" y1="554.16" y2="547.43" y3="541.17"/> + <curve x1="595.29" x2="608.95" x3="625.98" y1="530.41" y2="520.84" y3="520.84"/> + <curve x1="643.16" x2="656.78" x3="665.52" y1="520.84" y2="530.7" y3="541.49"/> + <curve x1="670.62" x2="674.76" x3="678.62" y1="547.8" y2="554.54" y3="561.14"/> + <curve x1="681.63" x2="684.8" x3="688.3" y1="556.23" y2="551.43" y3="547.03"/> + <curve x1="696.38" x2="707.22" x3="721.42" y1="536.9" y2="528.43" y3="528.43"/> + <curve x1="735.87" x2="746.73" x3="754.85" y1="528.43" y2="537.54" y3="547.89"/> + <curve x1="757.96" x2="760.81" x3="763.5" y1="551.86" y2="556.11" y3="560.39"/> + <curve x1="766.67" x2="770.2" x3="774.88" y1="554.17" y2="547.79" y3="541.68"/> + <curve x1="783.51" x2="798.28" x3="816.85" y1="530.43" y2="520.84" y3="520.84"/> + <curve x1="853.7" x2="879.76" x3="879.76" y1="520.84" y2="551.05" y3="582.77"/> + <line x="872.17" y="582.77"/> + <curve x1="872.17" x2="866.32" x3="856.94" y1="593.34" y2="605.4" y3="616.83"/> + <curve x1="847.56" x2="833.82" x3="816.85" y1="628.26" y2="638.55" y3="638.55"/> + <curve x1="800.6" x2="789.07" x3="781.44" y1="638.55" y2="629.9" y3="619.68"/> + <curve x1="778.34" x2="775.69" x3="773.21" y1="615.54" y2="611.13" y3="606.74"/> + <curve x1="769.58" x2="765.57" x3="760.84" y1="612.96" y2="619.2" y3="624.97"/> + <curve x1="751.8" x2="738.45" x3="721.42" y1="636.01" y2="646.15" y3="646.15"/> + <curve x1="704.32" x2="691.13" x3="682.36" y1="646.15" y2="635.7" y3="624.7"/> + <curve x1="677.55" x2="673.5" x3="669.73" y1="618.67" y2="612.22" y3="605.88"/> + <curve x1="666.61" x2="663.34" x3="659.61" y1="611.06" y2="616.12" y3="620.72"/> + <curve x1="651.64" x2="640.59" x3="625.98" y1="630.57" y2="638.55" y3="638.55"/> + <curve x1="611.45" x2="600.38" x3="592.38" y1="638.55" y2="630.8" y3="621.02"/> + <curve x1="588.64" x2="585.36" x3="582.24" y1="616.45" y2="611.4" y3="606.18"/> + <curve x1="578.45" x2="574.38" x3="569.56" y1="612.59" y2="619.04" y3="625.03"/> + <curve x1="560.74" x2="547.49" x3="530.55" y1="635.98" y2="646.15" y3="646.15"/> + <curve x1="513.02" x2="499.92" x3="491.11" y1="646.15" y2="635.09" y3="623.93"/> + <curve x1="486.36" x2="482.35" x3="478.71" y1="617.92" y2="611.56" y3="605.47"/> + <curve x1="475.53" x2="472.14" x3="468.36" y1="610.49" y2="615.49" y3="620.07"/> + <curve x1="460.13" x2="449.25" x3="435.12" y1="630.04" y2="638.55" y3="638.55"/> + <curve x1="421.62" x2="410.78" x3="402.57" y1="638.55" y2="631.74" y3="622.32"/> + <curve x1="398.43" x2="394.74" x3="391.17" y1="617.56" y2="612.12" y3="606.24"/> + <curve x1="386.4" x2="381.32" x3="375.77" y1="613.72" y2="620.72" y3="626.83"/> + <curve x1="366.38" x2="354.8" x3="339.68" y1="637.16" y2="646.15" y3="646.15"/> + <curve x1="322.54" x2="311.71" x3="302.26" y1="646.15" y2="634.91" y3="624.01"/> + <curve x1="297.1" x2="292.41" x3="288.23" y1="618.06" y2="611.6" y3="605.35"/> + <curve x1="285.18" x2="281.86" x3="278.13" y1="610.21" y2="615.1" y3="619.62"/> + <curve x1="269.76" x2="258.63" x3="244.25" y1="629.75" y2="638.55" y3="638.55"/> + <curve x1="230.05" x2="218.6" x3="209.97" y1="638.55" y2="630.34" y3="620.33"/> + <curve x1="206.56" x2="203.5" x3="200.71" y1="616.37" y2="612.07" y3="607.67"/> + <curve x1="197.49" x2="193.82" x3="189.49" y1="613.27" y2="618.94" y3="624.25"/> + <curve x1="180.23" x2="166.5" x3="148.82" y1="635.6" y2="646.15" y3="646.15"/> + <curve x1="130.45" x2="115.74" x3="104.88" y1="646.15" y2="635.61" y3="623.7"/> + <curve x1="94.03" x2="85.9" x3="85.9" y1="611.8" y2="598.51" y3="582.77"/> + <line x="93.55" y="582.77"/> + <curve x1="94.08" x2="100.97" x3="110.5" y1="570.96" y2="558.85" y3="548.4"/> + <curve x1="120.42" x2="133.74" x3="148.82" y1="537.53" y2="528.43" y3="528.43"/> + <curve x1="163.56" x2="175.12" x3="183.6" y1="528.43" y2="537.14" y3="547.54"/> + <curve x1="186.62" x2="189.33" x3="191.82" y1="551.24" y2="555.21" y3="559.26"/> + <curve x1="195.36" x2="199.43" x3="204.22" y1="553.27" y2="547.26" y3="541.7"/> + <curve x1="213.64" x2="227.13" x3="244.25" y1="530.77" y2="520.84" y3="520.84"/> + <close/> + <move x="148.82" y="543.63"/> + <curve x1="140.31" x2="129.77" x3="121.72" y1="543.63" y2="549.82" y3="558.64"/> + <curve x1="114.34" x2="109.54" x3="108.81" y1="566.74" y2="577.02" y3="582.77"/> + <line x="116.29" y="582.77"/> + <curve x1="116.29" x2="120.23" x3="127.34" y1="584.62" y2="595.43" y3="603.23"/> + <curve x1="134.44" x2="143.59" x3="148.82" y1="611.02" y2="615.77" y3="615.77"/> + <curve x1="154.72" x2="159.77" x3="165.94" y1="615.77" y2="612.6" y3="605.04"/> + <curve x1="172.11" x2="177.86" x3="182.89" y1="597.48" y2="586.37" y3="576.1"/> + <curve x1="183.04" x2="183.21" x3="183.37" y1="575.78" y2="575.44" y3="575.12"/> + <curve x1="179.88" x2="176.05" x3="171.83" y1="568.64" y2="562.32" y3="557.15"/> + <curve x1="164.89" x2="157.67" x3="148.82" y1="548.64" y2="543.63" y3="543.63"/> + <close/> + <move x="339.68" y="543.63"/> + <curve x1="335.49" x2="327.31" x3="319.48" y1="543.63" y2="548.89" y3="557.91"/> + <curve x1="314.7" x2="310.04" x3="305.84" y1="563.42" y2="569.95" y3="576.35"/> + <curve x1="311.29" x2="318.3" x3="325.22" y1="585.36" y2="596.11" y3="604.1"/> + <curve x1="332.5" x2="339.8" x3="339.68" y1="612.5" y2="615.77" y3="615.77"/> + <curve x1="341.59" x2="346.68" x3="353.29" y1="615.77" y2="613.65" y3="606.38"/> + <curve x1="359.8" x2="366.98" x3="373.79" y1="599.22" y2="588.21" y3="575.98"/> + <curve x1="368.87" x2="363.85" x3="358.91" y1="568.03" y2="560.92" y3="555.49"/> + <curve x1="351.61" x2="344.89" x3="339.68" y1="547.46" y2="543.63" y3="543.63"/> + <close/> + <move x="530.55" y="543.63"/> + <curve x1="522.36" x2="515.84" x3="509" y1="543.63" y2="548.52" y3="557.18"/> + <curve x1="504.72" x2="500.67" x3="496.6" y1="562.61" y2="569.31" y3="576.15"/> + <curve x1="503.16" x2="509.06" x3="514.97" y1="586.69" y2="597.61" y3="605.1"/> + <curve x1="521.15" x2="525.47" x3="530.55" y1="612.93" y2="615.77" y3="615.77"/> + <curve x1="536.21" x2="539.95" x3="545.89" y1="615.77" y2="613.35" y3="605.96"/> + <curve x1="551.67" x2="557.71" x3="564.63" y1="598.79" y2="587.63" y3="575.98"/> + <curve x1="560.32" x2="556.15" x3="551.81" y1="568.59" y2="561.65" y3="556.26"/> + <curve x1="545.15" x2="539.03" x3="530.55" y1="547.99" y2="543.63" y3="543.63"/> + <close/> + <move x="721.42" y="543.63"/> + <curve x1="713.02" x2="706.87" x3="700.18" y1="543.63" y2="548.12" y3="556.51"/> + <curve x1="695.86" x2="691.71" x3="687.42" y1="561.92" y2="568.82" y3="576.09"/> + <curve x1="694.35" x2="700.35" x3="706.12" y1="587.43" y2="598.5" y3="605.75"/> + <curve x1="712.12" x2="715.92" x3="721.42" y1="613.27" y2="615.77" y3="615.77"/> + <curve x1="726.99" x2="731.27" x3="737.32" y1="615.77" y2="613.11" y3="605.72"/> + <curve x1="743.22" x2="749.17" x3="755.35" y1="598.51" y2="587.52" y3="576.3"/> + <curve x1="751.24" x2="747.18" x3="742.89" y1="569.46" y2="562.73" y3="557.26"/> + <curve x1="736.06" x2="729.58" x3="721.42" y1="548.55" y2="543.63" y3="543.63"/> + <close/> + <move x="244.25" y="551.23"/> + <curve x1="238.79" x2="233.5" x3="227.24" y1="551.23" y2="554.29" y3="561.54"/> + <curve x1="220.98" x2="215.06" x3="210.18" y1="568.8" y2="579.48" y3="589.45"/> + <curve x1="209.82" x2="209.39" x3="209.02" y1="590.19" y2="591.03" y3="591.8"/> + <curve x1="212.74" x2="216.91" x3="221.48" y1="598.54" y2="605.11" y3="610.41"/> + <curve x1="228.53" x2="235.88" x3="244.25" y1="618.58" y2="623.36" y3="623.36"/> + <curve x1="252.45" x2="259.43" x3="266.41" y1="623.36" y2="618.38" y3="609.93"/> + <curve x1="270.96" x2="275.16" x3="279.16" y1="604.43" y2="597.7" y3="590.96"/> + <curve x1="279.09" x2="279" x3="278.93" y1="590.84" y2="590.7" y3="590.58"/> + <curve x1="272.91" x2="266.84" x3="260.56" y1="580.52" y2="569.5" y3="561.89"/> + <curve x1="254.28" x2="249.35" x3="244.25" y1="554.29" y2="551.23" y3="551.23"/> + <close/> + <move x="435.12" y="551.23"/> + <curve x1="428.71" x2="425.4" x3="419.76" y1="551.23" y2="553.16" y3="559.64"/> + <curve x1="414.12" x2="407.91" x3="400.69" y1="566.12" y2="577.1" y3="590.14"/> + <curve x1="400.48" x2="400.27" x3="400.05" y1="590.52" y2="590.89" y3="591.27"/> + <curve x1="404.88" x2="409.41" x3="414.03" y1="599.72" y2="607.02" y3="612.34"/> + <curve x1="420.52" x2="426.34" x3="435.12" y1="619.8" y2="623.36" y3="623.36"/> + <curve x1="443.25" x2="449.79" x3="456.64" y1="623.36" y2="618.7" y3="610.4"/> + <curve x1="461.22" x2="465.55" x3="469.9" y1="604.85" y2="597.88" y3="590.75"/> + <curve x1="463.12" x2="456.92" x3="450.78" y1="579.99" y2="568.86" y3="561.43"/> + <curve x1="444.62" x2="440.25" x3="435.12" y1="553.96" y2="551.23" y3="551.23"/> + <close/> + <move x="625.98" y="551.23"/> + <curve x1="618.95" x2="615.64" x3="610.02" y1="551.23" y2="553.53" y3="560.39"/> + <curve x1="604.41" x2="598.54" x3="591.3" y1="567.26" y2="578.48" y3="590.58"/> + <curve x1="591.22" x2="591.13" x3="591.04" y1="590.72" y2="590.88" y3="591.03"/> + <curve x1="595.52" x2="599.72" x3="604.14" y1="598.81" y2="605.99" y3="611.4"/> + <curve x1="610.55" x2="616.45" x3="625.98" y1="619.24" y2="623.36" y3="623.36"/> + <curve x1="635.44" x2="641.36" x3="647.8" y1="623.36" y2="619.12" y3="611.16"/> + <curve x1="652.21" x2="656.4" x3="660.87" y1="605.71" y2="598.55" y3="590.91"/> + <curve x1="660.84" x2="660.8" x3="660.77" y1="590.86" y2="590.81" y3="590.75"/> + <curve x1="653.45" x2="647.57" x3="641.9" y1="578.89" y2="567.61" y3="560.6"/> + <curve x1="636.23" x2="632.86" x3="625.98" y1="553.6" y2="551.23" y3="551.23"/> + <close/> + <move x="816.85" y="551.23"/> + <curve x1="806.83" x2="803.96" x3="799" y1="551.23" y2="553.7" y3="560.17"/> + <curve x1="794.03" x2="789.23" x3="782.45" y1="566.64" y2="577.8" y3="590.11"/> + <curve x1="782.29" x2="782.12" x3="781.96" y1="590.4" y2="590.7" y3="590.99"/> + <curve x1="785.98" x2="789.57" x3="793.61" y1="598.23" y2="605.17" y3="610.59"/> + <curve x1="799.67" x2="805.48" x3="816.85" y1="618.7" y2="623.36" y3="623.36"/> + <curve x1="827.5" x2="837.62" x3="845.2" y1="623.36" y2="616.42" y3="607.2"/> + <curve x1="852.77" x2="856.97" x3="856.97" y1="597.97" y2="585.93" y3="582.77"/> + <line x="849.37" y="582.77"/> + <curve x1="849.37" x2="837.22" x3="816.85" y1="567.54" y2="551.23" y3="551.23"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="24.99" name="wireless connector" strokewidth="inherit" w="200.99"> + <connections/> + <foreground> + <strokecolor color="#00ff00"/> + <strokewidth width="4"/> + <linejoin join="miter"/> + <linecap cap="butt"/> + <miterlimit limit="4"/> + <dashpattern pattern="none"/> + <dashed dashed="1"/> + <alpha alpha="0.3"/> + <strokealpha alpha="1"/> + <path> + <move x="0" y="12.68"/> + <curve x1="0" x2="6.35" x3="12.56" y1="8.05" y2="0" y3="0"/> + <curve x1="18.77" x2="22.45" x3="25.12" y1="0" y2="7.22" y3="12.68"/> + <curve x1="27.8" x2="31.74" x3="37.69" y1="18.15" y2="24.99" y3="24.99"/> + <curve x1="43.63" x2="47.23" x3="50.25" y1="24.99" y2="17.73" y3="12.68"/> + <curve x1="53.27" x2="58.33" x3="62.81" y1="7.64" y2="0" y3="0"/> + <curve x1="67.29" x2="71.58" x3="75.37" y1="0" y2="5.85" y3="12.68"/> + <curve x1="79.16" x2="82.07" x3="87.93" y1="19.52" y2="24.99" y3="24.99"/> + <curve x1="93.79" x2="97.11" x3="100.49" y1="24.99" y2="18.05" y3="12.68"/> + <curve x1="103.88" x2="107.1" x3="113.06" y1="7.32" y2="0" y3="0"/> + <curve x1="119.01" x2="122" x3="125.62" y1="0" y2="6.63" y3="12.68"/> + <curve x1="129.24" x2="131.84" x3="138.18" y1="18.74" y2="24.99" y3="24.99"/> + <curve x1="144.51" x2="147.12" x3="150.74" y1="24.99" y2="18.55" y3="12.68"/> + <curve x1="154.36" x2="157.35" x3="163.3" y1="6.82" y2="0" y3="0"/> + <curve x1="169.25" x2="172.43" x3="175.86" y1="0" y2="7.39" y3="12.68"/> + <curve x1="179.29" x2="181.15" x3="188.43" y1="17.98" y2="24.99" y3="24.99"/> + <curve x1="195.7" x2="200.99" x3="200.99" y1="24.99" y2="15.92" y3="12.31"/> + </path> + <stroke/> + <strokewidth width="8"/> + <path> + <move x="0" y="12.31"/> + <curve x1="0" x2="6.35" x3="12.56" y1="16.94" y2="24.99" y3="24.99"/> + <curve x1="18.77" x2="22.45" x3="25.12" y1="24.99" y2="17.77" y3="12.31"/> + <curve x1="27.8" x2="31.74" x3="37.69" y1="6.84" y2="0" y3="0"/> + <curve x1="43.63" x2="47.23" x3="50.25" y1="0" y2="7.26" y3="12.31"/> + <curve x1="53.27" x2="58.33" x3="62.81" y1="17.35" y2="24.99" y3="24.99"/> + <curve x1="67.29" x2="71.58" x3="75.37" y1="24.99" y2="19.14" y3="12.31"/> + <curve x1="79.16" x2="82.07" x3="87.93" y1="5.47" y2="0" y3="0"/> + <curve x1="93.79" x2="97.11" x3="100.49" y1="0" y2="6.94" y3="12.31"/> + <curve x1="103.88" x2="107.1" x3="113.06" y1="17.67" y2="24.99" y3="24.99"/> + <curve x1="119.01" x2="122" x3="125.62" y1="24.99" y2="18.36" y3="12.31"/> + <curve x1="129.24" x2="131.84" x3="138.18" y1="6.25" y2="0" y3="0"/> + <curve x1="144.51" x2="147.12" x3="150.74" y1="0" y2="6.44" y3="12.31"/> + <curve x1="154.36" x2="157.35" x3="163.3" y1="18.17" y2="24.99" y3="24.99"/> + <curve x1="169.25" x2="172.58" x3="175.86" y1="24.99" y2="18.26" y3="12.31"/> + <curve x1="179.14" x2="180.9" x3="188.43" y1="6.35" y2="0" y3="0"/> + <curve x1="195.95" x2="200.99" x3="200.99" y1="0" y2="6.13" y3="12.31"/> + </path> + <stroke/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="wireless intrusion prevention" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="102.87" y="62.61"/> + <line x="106.8" y="62.61"/> + <line x="106.8" y="64.4"/> + <curve x1="106.8" x2="106.29" x3="105.83" y1="64.91" y2="65.41" y3="65.41"/> + <line x="103.74" y="65.41"/> + <curve x1="103.3" x2="102.87" x3="102.87" y1="65.41" y2="65.01" y3="64.4"/> + <close/> + <move x="107.39" y="38.01"/> + <curve x1="90.74" x2="77.17" x3="77.17" y1="38.01" y2="51.58" y3="68.22"/> + <curve x1="77.17" x2="90.74" x3="107.39" y1="84.87" y2="98.44" y3="98.44"/> + <curve x1="124.04" x2="137.6" x3="137.6" y1="98.44" y2="84.87" y3="68.22"/> + <curve x1="137.6" x2="124.04" x3="107.39" y1="51.58" y2="38.01" y3="38.01"/> + <close/> + <move x="107.39" y="45.01"/> + <curve x1="114.21" x2="120.32" x3="124.56" y1="45.01" y2="47.92" y3="52.56"/> + <line x="118.99" y="57.53"/> + <line x="115.24" y="56.97"/> + <line x="113.18" y="50.02"/> + <curve x1="113.02" x2="112.72" x3="112.12" y1="49.46" y2="49.16" y3="49.16"/> + <line x="103.06" y="49.16"/> + <curve x1="102.28" x2="101.88" x3="101.63" y1="49.16" y2="49.49" y3="50.34"/> + <line x="99.81" y="56.97"/> + <curve x1="96.76" x2="93.08" x3="93.08" y1="57.22" y2="58.18" y3="59.35"/> + <curve x1="93.08" x2="96.76" x3="98.81" y1="60.43" y2="60.71" y3="60.95"/> + <curve x1="98.19" x2="98.03" x3="98.76" y1="62.73" y2="64.39" y3="66.48"/> + <line x="97.78" y="67.04"/> + <line x="97.76" y="69.62"/> + <curve x1="96.52" x2="95.38" x3="95.38" y1="69.62" y2="70.81" y3="72.24"/> + <line x="95.38" y="78.58"/> + <line x="89.87" y="83.49"/> + <curve x1="86.32" x2="84.17" x3="84.17" y1="79.42" y2="74.08" y3="68.22"/> + <curve x1="84.17" x2="94.53" x3="107.39" y1="55.36" y2="45.01" y3="45.01"/> + <close/> + <move x="128.01" y="57.52"/> + <curve x1="129.67" x2="130.6" x3="130.6" y1="60.72" y2="64.36" y3="68.22"/> + <curve x1="130.6" x2="120.25" x3="107.39" y1="81.09" y2="91.44" y3="91.44"/> + <curve x1="102.57" x2="98.11" x3="94.4" y1="91.44" y2="89.99" y3="87.49"/> + <close/> + <move x="114.23" y="60.89"/> + <line x="114.26" y="61.75"/> + <line x="112.52" y="63.3"/> + <line x="112.51" y="62.61"/> + <line x="109.53" y="62.61"/> + <line x="109.53" y="64.4"/> + <curve x1="109.53" x2="109.87" x3="110.22" y1="65.17" y2="65.3" y3="65.35"/> + <line x="104.37" y="70.56"/> + <line x="104.38" y="67.87"/> + <curve x1="104.41" x2="103.9" x3="103.12" y1="67.09" y2="66.57" y3="66.57"/> + <line x="101.95" y="66.57"/> + <curve x1="100.89" x2="100.38" x3="100.38" y1="66.57" y2="65.71" y3="64.89"/> + <line x="100.37" y="61.86"/> + <curve x1="100.49" x2="100.84" x3="101.2" y1="61.51" y2="61.04" y3="60.96"/> + <curve x1="105.65" x2="109.96" x3="114.23" y1="61.51" y2="61.27" y3="60.89"/> + <close/> + <move x="118.23" y="69.61"/> + <line x="108" y="78.76"/> + <line x="108" y="83.83"/> + <line x="116.55" y="83.83"/> + <curve x1="118.77" x2="119.82" x3="119.8" y1="83.83" y2="82.88" y3="80.68"/> + <line x="119.8" y="72.45"/> + <curve x1="119.8" x2="119.11" x3="118.23" y1="71.54" y2="70.39" y3="69.61"/> + <close/> + <move x="106.85" y="79.92"/> + <line x="102.44" y="83.83"/> + <line x="106.85" y="83.83"/> + <close/> + <move x="128.55" y="98.24"/> + <curve x1="133.39" x2="137.23" x3="139.79" y1="105.91" y2="114.83" y3="125"/> + <curve x1="140.69" x2="144.52" x3="148.3" y1="128.8" y2="131.12" y3="130.17"/> + <curve x1="152.09" x2="154.36" x3="153.36" y1="129.22" y2="125.36" y3="121.59"/> + <curve x1="150.17" x2="144.83" x3="138.28" y1="108.87" y2="97.51" y3="88.06"/> + <curve x1="135.97" x2="132.47" x3="128.55" y1="91.52" y2="94.9" y3="98.24"/> + <close/> + <move x="76" y="49.94"/> + <curve x1="70.69" x2="65.14" x3="59.71" y1="49.17" y2="48.79" y3="48.91"/> + <curve x1="53.76" x2="47.77" x3="41.82" y1="49.03" y2="49.69" y3="50.88"/> + <curve x1="37.98" x2="35.46" x3="36.23" y1="51.59" y2="55.31" y3="59.14"/> + <curve x1="37" x2="40.75" x3="44.57" y1="62.97" y2="65.44" y3="64.61"/> + <curve x1="53.5" x2="62.43" x3="71.08" y1="62.82" y2="62.34" y3="63.19"/> + <curve x1="71.84" x2="73.5" x3="76" y1="58.81" y2="54.43" y3="49.94"/> + <close/> + <move x="98.83" y="103.91"/> + <curve x1="106.02" x2="111.74" x3="115.33" y1="111.02" y2="120.78" y3="133.44"/> + <curve x1="116.35" x2="120.25" x3="124" y1="137.21" y2="139.42" y3="138.36"/> + <curve x1="127.76" x2="129.92" x3="128.8" y1="137.29" y2="133.36" y3="129.62"/> + <curve x1="125.97" x2="121.77" x3="116.54" y1="119.63" y2="111.03" y3="103.8"/> + <curve x1="111.36" x2="105.12" x3="98.83" y1="105.14" y2="105.45" y3="103.91"/> + <close/> + <move x="72.13" y="76.15"/> + <curve x1="67.38" x2="62.53" x3="57.65" y1="75.33" y2="74.97" y3="75.07"/> + <curve x1="53.21" x2="48.75" x3="44.31" y1="75.17" y2="75.64" y3="76.5"/> + <curve x1="40.47" x2="37.94" x3="38.68" y1="77.19" y2="80.88" y3="84.71"/> + <curve x1="39.41" x2="43.13" x3="46.95" y1="88.54" y2="91.03" y3="90.25"/> + <curve x1="58.39" x2="69.59" x3="79.64" y1="88.05" y2="88.51" y3="91.98"/> + <curve x1="76.17" x2="73.15" x3="72.13" y1="87.63" y2="82.85" y3="76.15"/> + <close/> + <move x="56.84" y="101.12"/> + <curve x1="53.76" x2="50.64" x3="47.49" y1="101.28" y2="101.76" y3="102.56"/> + <curve x1="43.68" x2="41.35" x3="42.31" y1="103.46" y2="107.3" y3="111.09"/> + <curve x1="43.28" x2="47.16" x3="50.94" y1="114.89" y2="117.15" y3="116.13"/> + <curve x1="60.18" x2="68.04" x3="74.72" y1="113.78" y2="115.22" y3="119.47"/> + <curve x1="81.4" x2="86.94" x3="90.17" y1="123.72" y2="131.05" y3="141.11"/> + <curve x1="91.3" x2="95.28" x3="99.02" y1="144.86" y2="146.96" y3="145.77"/> + <curve x1="102.75" x2="104.77" x3="103.5" y1="144.57" y2="140.54" y3="136.84"/> + <curve x1="99.45" x2="92.09" x3="82.24" y1="124.2" y2="113.93" y3="107.66"/> + <curve x1="74.84" x2="66.08" x3="56.84" y1="102.95" y2="100.64" y3="101.12"/> + <close/> + <move x="73.43" y="143.89"/> + <curve x1="73.43" x2="67.8" x3="60.86" y1="150.83" y2="156.46" y3="156.46"/> + <curve x1="53.92" x2="48.29" x3="48.29" y1="156.46" y2="150.83" y3="143.89"/> + <curve x1="48.29" x2="53.92" x3="60.86" y1="136.95" y2="131.32" y3="131.32"/> + <curve x1="67.8" x2="73.43" x3="73.43" y1="131.32" y2="136.95" y3="143.89"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="wireless lan controller" strokewidth="inherit" w="248.19"> + <connections/> + <foreground> + <path> + <move x="142.95" y="87.85"/> + <line x="171.6" y="81.63"/> + <line x="167.37" y="92.43"/> + <line x="192.59" y="102.29"/> + <line x="189.23" y="110.9"/> + <line x="164.01" y="101.05"/> + <line x="159.79" y="111.85"/> + <close/> + <move x="103.14" y="87.85"/> + <line x="74.49" y="81.63"/> + <line x="78.72" y="92.43"/> + <line x="53.5" y="102.29"/> + <line x="56.86" y="110.9"/> + <line x="82.08" y="101.05"/> + <line x="86.3" y="111.85"/> + <close/> + <move x="123.52" y="87.78"/> + <line x="107.3" y="112.19"/> + <line x="118.9" y="112.19"/> + <line x="118.9" y="139.26"/> + <line x="128.15" y="139.26"/> + <line x="128.15" y="112.19"/> + <line x="139.75" y="112.19"/> + <close/> + <move x="123.52" y="20.12"/> + <line x="102.6" y="42.02"/> + <line x="111.72" y="42.02"/> + <line x="111.72" y="79.81"/> + <line x="135.33" y="79.81"/> + <line x="135.33" y="42.02"/> + <line x="144.45" y="42.02"/> + <close/> + <move x="191.64" y="154.1"/> + <curve x1="195.8" x2="198.28" x3="198.28" y1="154.1" y2="157.43" y3="160.54"/> + <line x="199.84" y="160.54"/> + <curve x1="199.84" x2="198.98" x3="197.43" y1="161.19" y2="163.65" y3="165.53"/> + <curve x1="195.88" x2="193.82" x3="191.64" y1="167.42" y2="168.83" y3="168.83"/> + <curve x1="189.32" x2="188.13" x3="186.9" y1="168.83" y2="167.88" y3="166.22"/> + <curve x1="186.07" x2="185.34" x3="184.52" y1="165.12" y2="163.7" y3="162.22"/> + <curve x1="184.55" x2="184.58" x3="184.62" y1="162.16" y2="162.1" y3="162.04"/> + <curve x1="186" x2="186.98" x3="188" y1="159.53" y2="157.25" y3="155.93"/> + <curve x1="189.01" x2="189.59" x3="191.64" y1="154.61" y2="154.1" y3="154.1"/> + <close/> + <move x="152.66" y="154.1"/> + <curve x1="154.07" x2="154.75" x3="155.91" y1="154.1" y2="154.58" y3="156.01"/> + <curve x1="157.07" x2="158.27" x3="159.77" y1="157.45" y2="159.75" y3="162.17"/> + <curve x1="159.77" x2="159.78" x3="159.78" y1="162.18" y2="162.19" y3="162.21"/> + <curve x1="158.87" x2="158.02" x3="157.12" y1="163.77" y2="165.23" y3="166.34"/> + <curve x1="155.8" x2="154.59" x3="152.66" y1="167.97" y2="168.83" y3="168.83"/> + <curve x1="150.71" x2="149.51" x3="148.2" y1="168.83" y2="167.99" y3="166.39"/> + <curve x1="147.3" x2="146.44" x3="145.52" y1="165.28" y2="163.82" y3="162.23"/> + <curve x1="145.54" x2="145.56" x3="145.58" y1="162.2" y2="162.17" y3="162.14"/> + <curve x1="147.06" x2="148.25" x3="149.4" y1="159.67" y2="157.38" y3="155.97"/> + <curve x1="150.55" x2="151.22" x3="152.66" y1="154.57" y2="154.1" y3="154.1"/> + <close/> + <move x="113.68" y="154.1"/> + <curve x1="114.73" x2="115.62" x3="116.88" y1="154.1" y2="154.66" y3="156.18"/> + <curve x1="118.13" x2="119.4" x3="120.78" y1="157.7" y2="159.97" y3="162.17"/> + <curve x1="119.89" x2="119.01" x3="118.07" y1="163.63" y2="165.05" y3="166.19"/> + <curve x1="116.68" x2="115.34" x3="113.68" y1="167.88" y2="168.83" y3="168.83"/> + <curve x1="111.89" x2="110.7" x3="109.37" y1="168.83" y2="168.1" y3="166.58"/> + <curve x1="108.43" x2="107.5" x3="106.52" y1="165.5" y2="164" y3="162.28"/> + <curve x1="106.56" x2="106.6" x3="106.65" y1="162.2" y2="162.12" y3="162.05"/> + <curve x1="108.12" x2="109.39" x3="110.54" y1="159.38" y2="157.14" y3="155.82"/> + <curve x1="111.69" x2="112.37" x3="113.68" y1="154.5" y2="154.1" y3="154.1"/> + <close/> + <move x="74.7" y="154.1"/> + <curve x1="75.74" x2="76.74" x3="78.03" y1="154.1" y2="154.72" y3="156.28"/> + <curve x1="79.31" x2="80.55" x3="81.78" y1="157.83" y2="160.08" y3="162.14"/> + <curve x1="81.79" x2="81.81" x3="81.83" y1="162.16" y2="162.19" y3="162.22"/> + <curve x1="81.01" x2="80.15" x3="79.22" y1="163.59" y2="164.97" y3="166.09"/> + <curve x1="77.8" x2="76.37" x3="74.7" y1="167.82" y2="168.83" y3="168.83"/> + <curve x1="72.99" x2="71.49" x3="70.05" y1="168.83" y2="167.86" y3="166.19"/> + <curve x1="69.11" x2="68.26" x3="67.5" y1="165.1" y2="163.76" y3="162.39"/> + <curve x1="67.58" x2="67.66" x3="67.74" y1="162.23" y2="162.06" y3="161.91"/> + <curve x1="68.74" x2="69.94" x3="71.22" y1="159.87" y2="157.69" y3="156.21"/> + <curve x1="72.5" x2="73.58" x3="74.7" y1="154.72" y2="154.1" y3="154.1"/> + <close/> + <move x="172.15" y="152.55"/> + <curve x1="173.82" x2="175.14" x3="176.54" y1="152.55" y2="153.55" y3="155.33"/> + <curve x1="177.41" x2="178.24" x3="179.08" y1="156.45" y2="157.82" y3="159.22"/> + <curve x1="177.82" x2="176.6" x3="175.4" y1="161.51" y2="163.76" y3="165.23"/> + <curve x1="174.16" x2="173.29" x3="172.15" y1="166.74" y2="167.28" y3="167.28"/> + <curve x1="171.03" x2="170.25" x3="169.03" y1="167.28" y2="166.77" y3="165.23"/> + <curve x1="167.85" x2="166.62" x3="165.21" y1="163.76" y2="161.49" y3="159.18"/> + <curve x1="166.08" x2="166.93" x3="167.81" y1="157.69" y2="156.28" y3="155.18"/> + <curve x1="169.18" x2="170.44" x3="172.15" y1="153.46" y2="152.55" y3="152.55"/> + <close/> + <move x="133.17" y="152.55"/> + <curve x1="134.9" x2="136.15" x3="137.51" y1="152.55" y2="153.44" y3="155.13"/> + <curve x1="138.4" x2="139.25" x3="140.13" y1="156.23" y2="157.65" y3="159.16"/> + <curve x1="138.72" x2="137.48" x3="136.3" y1="161.53" y2="163.81" y3="165.28"/> + <curve x1="135.09" x2="134.32" x3="133.17" y1="166.79" y2="167.28" y3="167.28"/> + <curve x1="132.13" x2="131.25" x3="129.99" y1="167.28" y2="166.7" y3="165.1"/> + <curve x1="128.78" x2="127.58" x3="126.24" y1="163.57" y2="161.34" y3="159.19"/> + <curve x1="127.07" x2="127.89" x3="128.77" y1="157.79" y2="156.43" y3="155.32"/> + <curve x1="130.17" x2="131.5" x3="133.17" y1="153.55" y2="152.55" y3="152.55"/> + <close/> + <move x="94.19" y="152.55"/> + <curve x1="95.25" x2="96.62" x3="98.12" y1="152.55" y2="153.33" y3="154.97"/> + <curve x1="99.12" x2="100.15" x3="101.15" y1="156.08" y2="157.53" y3="159.16"/> + <curve x1="99.76" x2="98.3" x3="96.97" y1="161.65" y2="163.9" y3="165.36"/> + <curve x1="95.62" x2="94.58" x3="94.19" y1="166.85" y2="167.28" y3="167.28"/> + <curve x1="94.21" x2="92.72" x3="91.23" y1="167.28" y2="166.61" y3="164.9"/> + <curve x1="89.82" x2="88.39" x3="87.28" y1="163.27" y2="161.07" y3="159.23"/> + <curve x1="88.13" x2="89.09" x3="90.06" y1="157.92" y2="156.59" y3="155.46"/> + <curve x1="91.66" x2="93.33" x3="94.19" y1="153.62" y2="152.55" y3="152.55"/> + <close/> + <move x="55.21" y="152.55"/> + <curve x1="57.01" x2="58.49" x3="59.91" y1="152.55" y2="153.57" y3="155.31"/> + <curve x1="60.77" x2="61.55" x3="62.26" y1="156.37" y2="157.66" y3="158.98"/> + <curve x1="62.23" x2="62.2" x3="62.16" y1="159.04" y2="159.11" y3="159.18"/> + <curve x1="61.14" x2="59.96" x3="58.7" y1="161.28" y2="163.55" y3="165.09"/> + <curve x1="57.44" x2="56.41" x3="55.21" y1="166.63" y2="167.28" y3="167.28"/> + <curve x1="54.14" x2="52.27" x3="50.82" y1="167.28" y2="166.31" y3="164.72"/> + <curve x1="49.37" x2="48.56" x3="48.56" y1="163.13" y2="160.92" y3="160.54"/> + <line x="47.03" y="160.54"/> + <curve x1="47.19" x2="48.16" x3="49.67" y1="159.37" y2="157.27" y3="155.61"/> + <curve x1="51.32" x2="53.47" x3="55.21" y1="153.81" y2="152.55" y3="152.55"/> + <close/> + <move x="74.7" y="147.89"/> + <curve x1="71.2" x2="68.45" x3="66.52" y1="147.89" y2="149.92" y3="152.15"/> + <curve x1="65.54" x2="64.71" x3="63.99" y1="153.29" y2="154.52" y3="155.74"/> + <curve x1="63.48" x2="62.93" x3="62.31" y1="154.91" y2="154.1" y3="153.35"/> + <curve x1="60.58" x2="58.22" x3="55.21" y1="151.22" y2="149.44" y3="149.44"/> + <curve x1="52.13" x2="49.41" x3="47.38" y1="149.44" y2="151.3" y3="153.52"/> + <curve x1="45.43" x2="44.03" x3="43.92" y1="155.66" y2="158.13" y3="160.54"/> + <line x="42.36" y="160.54"/> + <curve x1="42.36" x2="44.02" x3="46.23" y1="163.76" y2="166.47" y3="168.9"/> + <curve x1="48.45" x2="51.46" x3="55.21" y1="171.33" y2="173.49" y3="173.49"/> + <curve x1="58.82" x2="61.62" x3="63.51" y1="173.49" y2="171.33" y3="169.01"/> + <curve x1="64.4" x2="65.15" x3="65.81" y1="167.93" y2="166.77" y3="165.63"/> + <curve x1="66.37" x2="67" x3="67.7" y1="166.53" y2="167.4" y3="168.21"/> + <curve x1="69.46" x2="71.8" x3="74.7" y1="170.26" y2="171.94" y3="171.94"/> + <curve x1="77.63" x2="79.91" x3="81.62" y1="171.94" y2="170.14" y3="168.07"/> + <curve x1="82.38" x2="83.06" x3="83.68" y1="167.14" y2="166.15" y3="165.15"/> + <curve x1="84.53" x2="85.49" x3="86.54" y1="166.43" y2="167.75" y3="168.96"/> + <curve x1="88.48" x2="90.69" x3="94.19" y1="171.19" y2="173.49" y3="173.49"/> + <curve x1="97.28" x2="99.64" x3="101.56" y1="173.49" y2="171.65" y3="169.54"/> + <curve x1="102.69" x2="103.73" x3="104.7" y1="168.29" y2="166.86" y3="165.34"/> + <curve x1="105.43" x2="106.19" x3="107.03" y1="166.54" y2="167.65" y3="168.62"/> + <curve x1="108.71" x2="110.92" x3="113.68" y1="170.54" y2="171.94" y3="171.94"/> + <curve x1="116.56" x2="118.79" x3="120.47" y1="171.94" y2="170.2" y3="168.16"/> + <curve x1="121.24" x2="121.93" x3="122.58" y1="167.22" y2="166.2" y3="165.18"/> + <curve x1="123.33" x2="124.15" x3="125.11" y1="166.42" y2="167.72" y3="168.95"/> + <curve x1="126.91" x2="129.59" x3="133.17" y1="171.23" y2="173.49" y3="173.49"/> + <curve x1="136.63" x2="139.33" x3="141.14" y1="173.49" y2="171.41" y3="169.17"/> + <curve x1="142.12" x2="142.95" x3="143.73" y1="167.95" y2="166.63" y3="165.32"/> + <curve x1="144.36" x2="145.03" x3="145.8" y1="166.39" y2="167.42" y3="168.35"/> + <curve x1="147.43" x2="149.69" x3="152.66" y1="170.35" y2="171.94" y3="171.94"/> + <curve x1="155.64" x2="157.9" x3="159.53" y1="171.94" y2="170.3" y3="168.29"/> + <curve x1="160.29" x2="160.96" x3="161.59" y1="167.35" y2="166.32" y3="165.26"/> + <curve x1="162.36" x2="163.19" x3="164.17" y1="166.56" y2="167.87" y3="169.1"/> + <curve x1="165.97" x2="168.66" x3="172.15" y1="171.35" y2="173.49" y3="173.49"/> + <curve x1="175.63" x2="178.36" x3="180.2" y1="173.49" y2="171.42" y3="169.16"/> + <curve x1="181.17" x2="181.99" x3="182.73" y1="167.98" y2="166.71" y3="165.44"/> + <curve x1="183.23" x2="183.78" x3="184.41" y1="166.33" y2="167.23" y3="168.08"/> + <curve x1="185.97" x2="188.32" x3="191.64" y1="170.17" y2="171.94" y3="171.94"/> + <curve x1="195.11" x2="197.91" x3="199.83" y1="171.94" y2="169.83" y3="167.5"/> + <curve x1="201.75" x2="202.94" x3="202.94" y1="165.16" y2="162.7" y3="160.54"/> + <line x="204.49" y="160.54"/> + <curve x1="204.49" x2="199.17" x3="191.64" y1="154.06" y2="147.89" y3="147.89"/> + <curve x1="187.85" x2="184.83" x3="183.07" y1="147.89" y2="149.85" y3="152.15"/> + <curve x1="182.11" x2="181.39" x3="180.75" y1="153.4" y2="154.7" y3="155.97"/> + <curve x1="180.2" x2="179.62" x3="178.98" y1="155.1" y2="154.23" y3="153.42"/> + <curve x1="177.32" x2="175.1" x3="172.15" y1="151.3" y2="149.44" y3="149.44"/> + <curve x1="169.25" x2="167.04" x3="165.39" y1="149.44" y2="151.17" y3="153.24"/> + <curve x1="164.67" x2="164.03" x3="163.41" y1="154.14" y2="155.12" y3="156.12"/> + <curve x1="162.62" x2="161.78" x3="160.73" y1="154.78" y2="153.4" y3="152.11"/> + <curve x1="158.95" x2="156.17" x3="152.66" y1="149.91" y2="147.89" y3="147.89"/> + <curve x1="149.18" x2="146.39" x3="144.6" y1="147.89" y2="149.85" y3="152.04"/> + <curve x1="143.55" x2="142.7" x3="141.91" y1="153.32" y2="154.7" y3="156.06"/> + <curve x1="141.3" x2="140.65" x3="139.93" y1="155.06" y2="154.08" y3="153.18"/> + <curve x1="138.27" x2="136.05" x3="133.17" y1="151.13" y2="149.44" y3="149.44"/> + <curve x1="130.22" x2="128" x3="126.33" y1="149.44" y2="151.28" y3="153.39"/> + <curve x1="125.63" x2="125" x3="124.41" y1="154.28" y2="155.23" y3="156.19"/> + <curve x1="123.61" x2="122.72" x3="121.67" y1="154.88" y2="153.51" y3="152.23"/> + <curve x1="119.84" x2="117.18" x3="113.68" y1="150.03" y2="147.89" y3="147.89"/> + <curve x1="110.44" x2="107.71" x3="105.86" y1="147.89" y2="149.62" y3="151.74"/> + <curve x1="104.72" x2="103.77" x3="102.87" y1="153.06" y2="154.53" y3="156.08"/> + <curve x1="102.09" x2="101.27" x3="100.41" y1="154.91" y2="153.83" y3="152.88"/> + <curve x1="98.63" x2="96.6" x3="94.19" y1="150.93" y2="149.44" y3="149.44"/> + <curve x1="91.57" x2="89.54" x3="87.72" y1="149.44" y2="151.33" y3="153.43"/> + <curve x1="86.94" x2="86.21" x3="85.53" y1="154.33" y2="155.3" y3="156.27"/> + <curve x1="84.76" x2="83.87" x3="82.81" y1="154.98" y2="153.61" y3="152.33"/> + <curve x1="80.96" x2="78.27" x3="74.7" y1="150.08" y2="147.89" y3="147.89"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="236.47" y="191.89"/> + <curve x1="242.91" x2="248.19" x3="248.19" y1="191.89" y2="186.62" y3="180.17"/> + <line x="248.19" y="11.72"/> + <curve x1="248.19" x2="242.91" x3="236.47" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="11.72" y="5.29"/> + <line x="236.47" y="5.29"/> + <curve x1="240.07" x2="242.89" x3="242.89" y1="5.29" y2="8.11" y3="11.72"/> + <line x="242.89" y="180.17"/> + <curve x1="242.89" x2="240.07" x3="236.47" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="725.26" name="wireless location appliance" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="324.26" y="85.39"/> + <line x="324.26" y="199.92"/> + <line x="345.74" y="199.92"/> + <line x="345.74" y="125.24"/> + <line x="391.91" y="199.92"/> + <line x="415.12" y="199.92"/> + <line x="415.12" y="85.39"/> + <line x="393.63" y="85.39"/> + <line x="393.63" y="161.88"/> + <line x="346.76" y="85.39"/> + <close/> + <move x="372.42" y="223.47"/> + <line x="332.75" y="282.91"/> + <line x="358.35" y="282.91"/> + <line x="358.35" y="330.66"/> + <arc large-arc-flag="0" rx="37.72" ry="37.72" sweep-flag="0" x="337.45" x-axis-rotation="0" y="351.58"/> + <line x="289.68" y="351.58"/> + <line x="289.68" y="325.98"/> + <line x="230.24" y="365.65"/> + <line x="289.68" y="405.31"/> + <line x="289.68" y="379.71"/> + <line x="337.44" y="379.71"/> + <arc large-arc-flag="0" rx="37.72" ry="37.72" sweep-flag="0" x="358.35" x-axis-rotation="0" y="400.62"/> + <line x="358.35" y="448.38"/> + <line x="332.75" y="448.38"/> + <line x="372.42" y="507.82"/> + <line x="412.08" y="448.38"/> + <line x="386.48" y="448.38"/> + <line x="386.48" y="400.63"/> + <arc large-arc-flag="0" rx="37.72" ry="37.72" sweep-flag="0" x="407.39" x-axis-rotation="0" y="379.71"/> + <line x="455.16" y="379.71"/> + <line x="455.16" y="405.31"/> + <line x="514.59" y="365.65"/> + <line x="455.16" y="325.98"/> + <line x="455.16" y="351.58"/> + <line x="407.4" y="351.58"/> + <arc large-arc-flag="0" rx="37.72" ry="37.72" sweep-flag="0" x="386.48" x-axis-rotation="0" y="330.67"/> + <line x="386.48" y="282.91"/> + <line x="412.08" y="282.91"/> + <close/> + <move x="543.85" y="306.73"/> + <line x="543.85" y="421.26"/> + <line x="630.96" y="421.26"/> + <line x="630.96" y="401.97"/> + <line x="566.97" y="401.97"/> + <line x="566.97" y="370.79"/> + <line x="624.47" y="370.79"/> + <line x="624.47" y="351.5"/> + <line x="566.97" y="351.5"/> + <line x="566.97" y="326.11"/> + <line x="628.77" y="326.11"/> + <line x="628.77" y="306.73"/> + <close/> + <move x="55.4" y="307.03"/> + <line x="82.74" y="421.56"/> + <line x="107.82" y="421.57"/> + <line x="130.55" y="335.94"/> + <line x="153.37" y="421.56"/> + <line x="177.9" y="421.56"/> + <line x="205.71" y="307.03"/> + <line x="182.43" y="307.03"/> + <line x="164.85" y="387.03"/> + <line x="144.77" y="307.03"/> + <line x="117.27" y="307.03"/> + <line x="96.33" y="385.71"/> + <line x="79.07" y="307.03"/> + <close/> + <move x="366.33" y="541.97"/> + <curve x1="357.52" x2="350" x3="343.75" y1="541.97" y2="543.29" y3="545.95"/> + <curve x1="337.55" x2="332.78" x3="329.45" y1="548.61" y2="552.49" y3="557.59"/> + <curve x1="326.17" x2="324.53" x3="324.53" y1="562.64" y2="568.09" y3="573.92"/> + <curve x1="324.53" x2="328.04" x3="335.08" y1="582.98" y2="590.66" y3="596.97"/> + <curve x1="340.08" x2="348.77" x3="361.17" y1="601.45" y2="605.22" y3="608.29"/> + <curve x1="370.81" x2="376.98" x3="379.69" y1="610.69" y2="612.36" y3="613.29"/> + <curve x1="383.64" x2="386.4" x3="387.97" y1="614.7" y2="616.37" y3="618.29"/> + <curve x1="389.58" x2="390.39" x3="390.39" y1="620.17" y2="622.46" y3="625.17"/> + <curve x1="390.39" x2="388.49" x3="384.69" y1="629.39" y2="633.09" y3="636.26"/> + <curve x1="380.94" x2="375.34" x3="367.89" y1="639.39" y2="640.95" y3="640.95"/> + <curve x1="360.86" x2="355.26" x3="351.09" y1="640.95" y2="639.18" y3="635.64"/> + <curve x1="346.98" x2="344.24" x3="342.89" y1="632.1" y2="626.55" y3="619"/> + <line x="320.39" y="621.19"/> + <curve x1="321.9" x2="326.53" x3="334.29" y1="634" y2="643.76" y3="650.48"/> + <curve x1="342.06" x2="353.18" x3="367.65" y1="657.15" y2="660.48" y3="660.48"/> + <curve x1="377.6" x2="385.91" x3="392.58" y1="660.48" y2="659.1" y3="656.34"/> + <curve x1="399.24" x2="404.4" x3="408.04" y1="653.53" y2="649.26" y3="643.53"/> + <curve x1="411.69" x2="413.51" x3="413.51" y1="637.8" y2="631.65" y3="625.09"/> + <curve x1="413.51" x2="411.98" x3="408.9" y1="617.85" y2="611.78" y3="606.89"/> + <curve x1="405.88" x2="401.66" x3="396.25" y1="601.94" y2="598.06" y3="595.25"/> + <curve x1="390.88" x2="382.58" x3="371.33" y1="592.38" y2="589.62" y3="586.97"/> + <curve x1="360.08" x2="352.99" x3="350.08" y1="584.31" y2="581.76" y3="579.31"/> + <curve x1="347.78" x2="346.64" x3="346.64" y1="577.38" y2="575.07" y3="572.36"/> + <curve x1="346.64" x2="347.86" x3="350.31" y1="569.39" y2="567.02" y3="565.25"/> + <curve x1="354.11" x2="359.37" x3="366.09" y1="562.49" y2="561.11" y3="561.11"/> + <curve x1="372.6" x2="377.47" x3="380.7" y1="561.11" y2="562.41" y3="565.01"/> + <curve x1="383.98" x2="386.12" x3="387.11" y1="567.57" y2="571.78" y3="577.67"/> + <line x="410.23" y="576.65"/> + <curve x1="409.87" x2="406.04" x3="398.75" y1="566.13" y2="557.72" y3="551.42"/> + <curve x1="391.51" x2="380.7" x3="366.33" y1="545.12" y2="541.97" y3="541.97"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="680.96"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="694.59" y2="705.25" y3="705.25"/> + <line x="44.28" y="705.25"/> + <curve x1="30.66" x2="20" x3="20" y1="705.25" y2="694.59" y3="680.96"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="680.96"/> + <curve x1="0" x2="19.92" x3="44.28" y1="705.33" y2="725.26" y3="725.26"/> + <line x="677.57" y="725.26"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="725.26" y2="705.33" y3="680.96"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="889.9" name="wireless router" strokewidth="inherit" w="744.45"> + <connections/> + <foreground> + <path> + <move x="107.35" y="0"/> + <line x="107.35" y="51.13"/> + <line x="114.46" y="51.13"/> + <line x="114.46" y="120.94"/> + <curve x1="100.75" x2="94.13" x3="94.13" y1="125.35" y2="130.66" y3="149.07"/> + <line x="94.13" y="270.3"/> + <curve x1="35.58" x2="0" x3="0" y1="336.07" y2="422.73" y3="517.67"/> + <curve x1="0" x2="166.7" x3="372.22" y1="723.19" y2="889.9" y3="889.9"/> + <curve x1="577.74" x2="744.45" x3="744.45" y1="889.9" y2="723.19" y3="517.67"/> + <curve x1="744.45" x2="708.62" x3="649.71" y1="422.4" y2="335.47" y3="269.62"/> + <line x="649.71" y="149.07"/> + <curve x1="649.71" x2="643.09" x3="629.38" y1="130.66" y2="125.35" y3="120.94"/> + <line x="629.38" y="51.13"/> + <line x="636.49" y="51.13"/> + <line x="636.49" y="0"/> + <line x="604.75" y="0"/> + <line x="604.75" y="51.13"/> + <line x="611.93" y="51.13"/> + <line x="611.93" y="120.94"/> + <curve x1="597.75" x2="590.87" x3="590.87" y1="124.69" y2="134.57" y3="149.07"/> + <line x="590.87" y="216.43"/> + <curve x1="529.47" x2="453.91" x3="372.22" y1="171.79" y2="145.45" y3="145.45"/> + <curve x1="290.26" x2="214.48" x3="152.97" y1="145.45" y2="171.96" y3="216.87"/> + <line x="152.97" y="149.07"/> + <curve x1="152.97" x2="146.09" x3="131.91" y1="134.57" y2="124.69" y3="120.94"/> + <line x="131.91" y="51.13"/> + <line x="139.09" y="51.13"/> + <line x="139.09" y="0"/> + <close/> + <move x="372.22" y="154.9"/> + <curve x1="572.63" x2="735" x3="735" y1="154.9" y2="317.26" y3="517.67"/> + <curve x1="735" x2="572.63" x3="372.22" y1="718.08" y2="880.45" y3="880.45"/> + <curve x1="171.81" x2="9.45" x3="9.45" y1="880.45" y2="718.08" y3="517.67"/> + <curve x1="9.45" x2="171.81" x3="372.22" y1="317.26" y2="154.9" y3="154.9"/> + <close/> + <move x="163.97" y="266.85"/> + <line x="124.77" y="306.83"/> + <line x="226.62" y="406.71"/> + <line x="185.54" y="448.6"/> + <line x="338.96" y="476.87"/> + <line x="307.27" y="324.46"/> + <line x="265.82" y="366.73"/> + <close/> + <move x="598.34" y="284.52"/> + <line x="445.93" y="316.21"/> + <line x="488.2" y="357.66"/> + <line x="388.32" y="459.51"/> + <line x="428.3" y="498.71"/> + <line x="528.18" y="396.86"/> + <line x="570.07" y="437.94"/> + <close/> + <move x="316.26" y="531.19"/> + <line x="216.38" y="633.04"/> + <line x="174.49" y="591.96"/> + <line x="146.22" y="745.38"/> + <line x="298.62" y="713.7"/> + <line x="256.36" y="672.25"/> + <line x="356.23" y="570.4"/> + <close/> + <move x="409.79" y="554.19"/> + <line x="441.48" y="706.6"/> + <line x="482.93" y="664.33"/> + <line x="584.78" y="764.21"/> + <line x="623.98" y="724.23"/> + <line x="522.13" y="624.35"/> + <line x="563.21" y="582.46"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="191.89" name="workgroup switch" strokewidth="inherit" w="190.99"> + <connections/> + <foreground> + <path> + <move x="11.72" y="5.29"/> + <line x="179.27" y="5.29"/> + <curve x1="182.88" x2="185.7" x3="185.7" y1="5.29" y2="8.11" y3="11.72"/> + <line x="185.7" y="180.17"/> + <curve x1="185.7" x2="182.88" x3="179.27" y1="183.78" y2="186.6" y3="186.6"/> + <line x="11.72" y="186.6"/> + <curve x1="8.11" x2="5.29" x3="5.29" y1="186.6" y2="183.78" y3="180.17"/> + <line x="5.29" y="11.72"/> + <curve x1="5.29" x2="8.11" x3="11.72" y1="8.11" y2="5.29" y3="5.29"/> + <close/> + <move x="11.72" y="0"/> + <curve x1="5.27" x2="0" x3="0" y1="0" y2="5.27" y3="11.72"/> + <line x="0" y="180.17"/> + <curve x1="0" x2="5.27" x3="11.72" y1="186.62" y2="191.89" y3="191.89"/> + <line x="179.27" y="191.89"/> + <curve x1="185.72" x2="190.99" x3="190.99" y1="191.89" y2="186.62" y3="180.17"/> + <line x="190.99" y="11.72"/> + <curve x1="190.99" x2="185.72" x3="179.27" y1="5.27" y2="0" y3="0"/> + <close/> + <move x="106.41" y="69.82"/> + <line x="67.24" y="69.82"/> + <line x="67.24" y="53.57"/> + <line x="31.72" y="77.35"/> + <line x="67.24" y="101.31"/> + <line x="67.24" y="85.2"/> + <line x="106.41" y="85.2"/> + <close/> + <move x="87.7" y="141.84"/> + <line x="48.53" y="141.84"/> + <line x="48.53" y="125.58"/> + <line x="13.01" y="149.37"/> + <line x="48.53" y="173.32"/> + <line x="48.53" y="157.21"/> + <line x="87.7" y="157.21"/> + <close/> + <move x="103.07" y="34.33"/> + <line x="142.25" y="34.33"/> + <line x="142.25" y="18.08"/> + <line x="177.76" y="41.87"/> + <line x="142.25" y="65.82"/> + <line x="142.25" y="49.71"/> + <line x="103.07" y="49.71"/> + <close/> + <move x="84.1" y="106.35"/> + <line x="123.27" y="106.35"/> + <line x="123.27" y="90.09"/> + <line x="158.79" y="113.88"/> + <line x="123.27" y="137.84"/> + <line x="123.27" y="121.73"/> + <line x="84.1" y="121.73"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="139.89" name="workstation" strokewidth="inherit" w="162.73"> + <connections/> + <foreground> + <path> + <move x="19.04" y="16.25"/> + <line x="142.67" y="16.25"/> + <line x="142.67" y="91.76"/> + <line x="19.04" y="91.76"/> + <close/> + <move x="16.13" y="7"/> + <line x="146.59" y="7"/> + <curve x1="151.71" x2="155.73" x3="155.73" y1="7" y2="11.01" y3="16.13"/> + <line x="155.73" y="92.75"/> + <curve x1="155.73" x2="151.71" x3="146.59" y1="97.87" y2="101.89" y3="101.89"/> + <line x="16.13" y="101.89"/> + <curve x1="11.01" x2="7" x3="7" y1="101.89" y2="97.87" y3="92.75"/> + <line x="7" y="16.13"/> + <curve x1="7" x2="11.01" x3="16.13" y1="11.01" y2="7" y3="7"/> + <close/> + <move x="16.13" y="0"/> + <curve x1="7.26" x2="0" x3="0" y1="0" y2="7.26" y3="16.13"/> + <line x="0" y="92.75"/> + <curve x1="0" x2="7.26" x3="16.13" y1="101.63" y2="108.89" y3="108.89"/> + <line x="66.87" y="108.89"/> + <line x="66.87" y="124.85"/> + <line x="42.63" y="124.85"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="42.63" x-axis-rotation="0" y="139.85"/> + <line x="119.34" y="139.85"/> + <arc large-arc-flag="1" rx="7.5" ry="7.5" sweep-flag="0" x="119.34" x-axis-rotation="0" y="124.85"/> + <line x="98.42" y="124.85"/> + <line x="98.42" y="108.89"/> + <line x="146.59" y="108.89"/> + <curve x1="155.47" x2="162.73" x3="162.73" y1="108.89" y2="101.63" y3="92.75"/> + <line x="162.73" y="16.13"/> + <curve x1="162.73" x2="155.47" x3="146.59" y1="7.26" y2="0" y3="0"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +<shape aspect="variable" h="652.91" name="x509 certificate" strokewidth="inherit" w="721.85"> + <connections/> + <foreground> + <path> + <move x="44.28" y="0"/> + <curve x1="19.92" x2="0" x3="0" y1="0" y2="19.92" y3="44.28"/> + <line x="0" y="552.39"/> + <curve x1="0" x2="19.92" x3="44.28" y1="576.75" y2="596.68" y3="596.68"/> + <line x="512.18" y="596.68"/> + <line x="512.18" y="652.91"/> + <line x="567.03" y="621.36"/> + <line x="621.88" y="652.91"/> + <line x="621.88" y="596.68"/> + <line x="677.57" y="596.68"/> + <curve x1="701.93" x2="721.85" x3="721.85" y1="596.68" y2="576.75" y3="552.39"/> + <line x="721.85" y="44.28"/> + <curve x1="721.85" x2="701.93" x3="677.57" y1="19.92" y2="0" y3="0"/> + <close/> + <move x="44.28" y="20"/> + <line x="677.57" y="20"/> + <curve x1="691.2" x2="701.86" x3="701.86" y1="20" y2="30.66" y3="44.28"/> + <line x="701.86" y="552.39"/> + <curve x1="701.86" x2="691.2" x3="677.57" y1="566.02" y2="576.68" y3="576.68"/> + <line x="621.88" y="576.68"/> + <line x="621.88" y="538.76"/> + <arc large-arc-flag="0" rx="91.78" ry="91.78" sweep-flag="0" x="658.33" x-axis-rotation="0" y="465.64"/> + <arc large-arc-flag="0" rx="91.78" ry="91.78" sweep-flag="0" x="566.55" x-axis-rotation="0" y="373.86"/> + <arc large-arc-flag="0" rx="91.78" ry="91.78" sweep-flag="0" x="474.78" x-axis-rotation="0" y="465.64"/> + <arc large-arc-flag="0" rx="91.78" ry="91.78" sweep-flag="0" x="512.18" x-axis-rotation="0" y="539.44"/> + <line x="512.18" y="576.68"/> + <line x="44.28" y="576.68"/> + <curve x1="30.66" x2="20" x3="20" y1="576.68" y2="566.02" y3="552.39"/> + <line x="20" y="44.28"/> + <curve x1="20" x2="30.66" x3="44.28" y1="30.66" y2="20" y3="20"/> + <close/> + <move x="141.4" y="139.57"/> + <line x="141.4" y="172.7"/> + <line x="584.86" y="172.7"/> + <line x="584.86" y="139.57"/> + <close/> + <move x="141.4" y="229.37"/> + <line x="141.4" y="262.5"/> + <line x="584.86" y="262.5"/> + <line x="584.86" y="229.37"/> + <close/> + <move x="141.4" y="320.24"/> + <line x="141.4" y="353.37"/> + <line x="384.14" y="353.37"/> + <line x="384.14" y="320.24"/> + <close/> + </path> + <fill/> + </foreground> +</shape> +</shapes> \ No newline at end of file -- GitLab