5.7.0.9 release

This commit is contained in:
David Benson 2016-10-04 21:51:29 +01:00
parent 5ad7d27418
commit 1a19dc914f
80 changed files with 2128 additions and 1652 deletions

View file

@ -1,4 +1,10 @@
03-SEP-2016: 5.7.0.8.2
04-OCT-2016: 5.7.0.9
- Adds experimental tags plugin
- Fixes page scale in print preview
- Adds new colorset
03-OCT-2016: 5.7.0.8.2
- Adds tolerance, uses fewer cells in scissors tool

View file

@ -1 +1 @@
5.7.0.8.2
5.7.0.9

View file

@ -2,7 +2,7 @@
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>drawdotio</application>
<!-- IMPORTANT! DO NOT CHANGE THIS VALUE IN SOURCE CONTROL! -->
<version>5-7-0-8-2</version>
<version>test</version>
<!-- Configure java.util.logging -->
<system-properties>

View file

@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 10/03/2016 03:57 PM
# 10/04/2016 03:37 PM
/app.html
/index.html?offline=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 B

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View file

@ -400,7 +400,7 @@ App.main();
document.getElementById("geFooterLink1").onclick = function()
{
var img = new Image();
img.src = 'log?msg=geFooterLink1:' + '&v=' + encodeURIComponent(EditorUi.VERSION);
img.src = 'https://log.draw.io/log?msg=geFooterLink1: location=' + encodeURIComponent(window.location) + '&v=' + encodeURIComponent(EditorUi.VERSION);
}
/**

428
war/js/app.min.js vendored
View file

@ -44,18 +44,18 @@ function(){return this.h&&decodeURIComponent(this.h)};g.prototype.ca=function(b)
!(b instanceof Array)&&(b instanceof Object||"[object Array]"!==Object.prototype.toString.call(b))){var a=[],d=-1,e;for(e in b){var c=b[e];"string"===typeof c&&(a[++d]=e,a[++d]=c)}b=a}for(var a=[],d="",f=0;f<b.length;)e=b[f++],c=b[f++],a.push(d,encodeURIComponent(e.toString())),d="\x26",c&&a.push("\x3d",encodeURIComponent(c.toString()));this.l=a.join("")};g.prototype.fa=function(b){this.o=b?b:f};g.prototype.Z=function(){return f!==this.o};var m=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,
u=/[#\/\?@]/g,t=/[\#\?]/g;g.parse=b;g.create=function(b,e,c,k,l,n,m){b=new g(a(b,u),a(e,u),"string"==typeof c?encodeURIComponent(c):f,0<k?k.toString():f,a(l,t),f,"string"==typeof m?encodeURIComponent(m):f);n&&("string"===typeof n?b.O(n.replace(/[^?&=0-9A-Za-z_\-~.%]/g,d)):b.ba(n));return b};g.N=c;g.ma=e;g.ha={ua:function(a){return/\.html$/.test(b(a).U())?"text/html":"application/javascript"},N:function(a,d){return a?c(b(a),b(d)).toString():""+d}};return g}();"undefined"!==typeof window&&(window.URI=
n);var m=a,p=a,r=a,s=a;(function(){function b(a){return"string"===typeof a?'url("'+a.replace(A,g)+'")':'url("about:blank")'}function g(b){return B[b]}function k(b,a){return b?n.ha.N(b,a):a}function t(b,a,d){if(!d)return f;var e=(""+b).match(E);return e&&(!e[1]||G.test(e[1]))?d(b,a):f}function D(b){return b.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/,"")}var A=/[\n\f\r\"\'()*<>]/g,B={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a",
"\x3c":"%3c","\x3e":"%3e"},E=/^(?:([^:/?# ]+):)?/,G=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function N(d,c,f,g,n){d=D(d);var m=e[d];if(!m||"object"!==typeof m)c.length=0;else{for(var u=m.cssPropBits,q=u&80,p=u&1536,z=NaN,r=0,s=0;r<c.length;++r){var F=c[r].toLowerCase(),E=F.charCodeAt(0),G,B,A,I,R,ga;if(32===E)F="";else if(34===E)F=16===q?f?b(t(k(g,l(c[r].substring(1,F.length-1))),d,f)):"":u&8&&!(q&q-1)?F:"";else if("inherit"!==F){if(R=m.cssLitGroup){var ca;if(!(ca=m.cssLitMap)){ca=
{};for(var $=R.length;0<=--$;)for(var fa=R[$],ia=fa.length;0<=--ia;)ca[fa[ia]]=a;ca=m.cssLitMap=ca}R=ca}else R=a;if(!(ga=R,ga[D(F)]===a))if(35===E&&/^#(?:[0-9a-f]{3}){1,2}$/.test(F))F=u&2?F:"";else if(48<=E&&57>=E)F=u&1?F:"";else if(G=F.charCodeAt(1),B=F.charCodeAt(2),A=48<=G&&57>=G,I=48<=B&&57>=B,43===E&&(A||46===G&&I))F=u&1?(A?"":"0")+F.substring(1):"";else if(45===E&&(A||46===G&&I))F=u&4?(A?"-":"-0")+F.substring(1):u&1?"0":"";else if(46===E&&A)F=u&1?"0"+F:"";else if('url("'===F.substring(0,5))F=
"\x3c":"%3c","\x3e":"%3e"},E=/^(?:([^:/?# ]+):)?/,G=/^(?:https?|mailto|data)$/i;m=function(){var a={};return function N(d,c,f,g,n){d=D(d);var m=e[d];if(!m||"object"!==typeof m)c.length=0;else{for(var u=m.cssPropBits,q=u&80,p=u&1536,z=NaN,r=0,s=0;r<c.length;++r){var F=c[r].toLowerCase(),E=F.charCodeAt(0),B,G,A,I,R,ga;if(32===E)F="";else if(34===E)F=16===q?f?b(t(k(g,l(c[r].substring(1,F.length-1))),d,f)):"":u&8&&!(q&q-1)?F:"";else if("inherit"!==F){if(R=m.cssLitGroup){var ca;if(!(ca=m.cssLitMap)){ca=
{};for(var $=R.length;0<=--$;)for(var fa=R[$],ia=fa.length;0<=--ia;)ca[fa[ia]]=a;ca=m.cssLitMap=ca}R=ca}else R=a;if(!(ga=R,ga[D(F)]===a))if(35===E&&/^#(?:[0-9a-f]{3}){1,2}$/.test(F))F=u&2?F:"";else if(48<=E&&57>=E)F=u&1?F:"";else if(B=F.charCodeAt(1),G=F.charCodeAt(2),A=48<=B&&57>=B,I=48<=G&&57>=G,43===E&&(A||46===B&&I))F=u&1?(A?"":"0")+F.substring(1):"";else if(45===E&&(A||46===B&&I))F=u&4?(A?"-":"-0")+F.substring(1):u&1?"0":"";else if(46===E&&A)F=u&1?"0"+F:"";else if('url("'===F.substring(0,5))F=
f&&u&16?b(t(k(g,c[r].substring(5,F.length-2)),d,f)):"";else if("("===F.charAt(F.length-1))a:{R=c;ca=r;F=1;$=ca+1;for(E=R.length;$<E&&F;)fa=R[$++],F+=")"===fa?-1:/^[^"']*\($/.test(fa);if(!F){F=R[ca].toLowerCase();E=D(F);R=R.splice(ca,$-ca,"");ca=m.cssFns;$=0;for(fa=ca.length;$<fa;++$)if(ca[$].substring(0,E.length)==E){R[0]=R[R.length-1]="";N(ca[$],R,f,g);F=F+R.join(" ")+")";break a}}F=""}else F=p&&/^-?[a-z_][\w\-]*$/.test(F)&&!/__$/.test(F)?n&&512===p?c[r]+n:1024===p&&e[F]&&"number"===typeof e[F].oa?
F:"":/^\w+$/.test(F)&&64===q&&u&8?z+1===s?(c[z]=c[z].substring(0,c[z].length-1)+" "+F+'"',""):(z=s,'"'+F+'"'):""}F&&(c[s++]=F)}1===s&&'url("about:blank")'===c[0]&&(s=0);c.length=s}}}();var F=RegExp("^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$"),
I={};I["\x3e"]=I["+"]=I["~"]=I;p=function(b,a,e){function g(t,q){function v(e,f,g){var k,m,t,q,z,x=c;k="";if(e<f)if(z=b[e],"*"===z)++e,k=z;else if(/^[a-zA-Z]/.test(z)&&(m=n(z.toLowerCase(),[])))"tagName"in m&&(z=m.tagName),++e,k=z;for(q=t=m="";x&&e<f;++e)if(z=b[e],"#"===z.charAt(0))/^#_|__$|[^\w#:\-]/.test(z)?x=d:m+=z+l;else if("."===z)++e<f&&/^[0-9A-Za-z:_\-]+$/.test(z=b[e])&&!/^_|__$/.test(z)?m+="."+z:x=d;else if(e+1<f&&"["===b[e]){++e;var y=b[e++].toLowerCase();z=u.m[k+"::"+y];z!==+z&&(z=u.m["*::"+
I={};I["\x3e"]=I["+"]=I["~"]=I;p=function(b,a,e){function g(t,q){function p(e,f,g){var k,m,t,q,z,x=c;k="";if(e<f)if(z=b[e],"*"===z)++e,k=z;else if(/^[a-zA-Z]/.test(z)&&(m=n(z.toLowerCase(),[])))"tagName"in m&&(z=m.tagName),++e,k=z;for(q=t=m="";x&&e<f;++e)if(z=b[e],"#"===z.charAt(0))/^#_|__$|[^\w#:\-]/.test(z)?x=d:m+=z+l;else if("."===z)++e<f&&/^[0-9A-Za-z:_\-]+$/.test(z=b[e])&&!/^_|__$/.test(z)?m+="."+z:x=d;else if(e+1<f&&"["===b[e]){++e;var y=b[e++].toLowerCase();z=u.m[k+"::"+y];z!==+z&&(z=u.m["*::"+
y]);var r;a.ia?(r=a.ia(k,y),"string"!==typeof r&&(x=d,r=y),x&&z!==+z&&(z=u.d.NONE)):(r=y,z!==+z&&(x=d));var s=y="",E=d;/^[~^$*|]?=$/.test(b[e])&&(y=b[e++],s=b[e++],/^[0-9A-Za-z:_\-]+$/.test(s)?s='"'+s+'"':"]"===s&&(s='""',--e),/^"([^\"\\]|\\.)*"$/.test(s)||(x=d),(E="i"===b[e])&&++e);"]"!==b[e]&&(++e,x=d);switch(z){case u.d.CLASSES:case u.d.LOCAL_NAME:case u.d.NONE:break;case u.d.GLOBAL_NAME:case u.d.ID:case u.d.IDREF:("\x3d"===y||"~\x3d"===y||"$\x3d"===y)&&'""'!=s&&!E?s='"'+s.substring(1,s.length-
1)+l+'"':"|\x3d"===y||""===y||(x=d);break;case u.d.URI:case u.d.URI_FRAGMENT:""!==y&&(x=d);break;default:x=d}x&&(t+="["+r.replace(/[^\w-]/g,"\\$\x26")+y+s+(E?" i]":"]"))}else if(e<f&&":"===b[e])if(z=b[++e],F.test(z))q+=":"+z;else break;else break;e!==f&&(x=d);x&&(e=(k+m).replace(/[^ .*#\w-]/g,"\\$\x26")+t+q+g)&&p.push(e);return x}" "===b[t]&&++t;q-1!==t&&" "===b[q]&&--q;for(var p=[],z=t,x=c,y=t;x&&y<q;++y){var r=b[y];if(I[r]===I||" "===r)v(z,y,r)?z=y+1:x=d}v(z,q,"")||(x=d);return x?(p.length&&(z=
p.join(""),k!==f&&(z="."+k+" "+z),m.push(z)),c):!e||e(b.slice(t,q))}var k=a.na,l=a.L,n=a.Aa,m=[],t=0,q,v=0,p;for(q=0;q<b.length;++q)if(p=b[q],"("==p||"["==p?(++v,c):")"==p||"]"==p?(v&&--v,c):!(" "==b[q]&&(v||I[b[q-1]]===I||I[b[q+1]]===I)))b[t++]=b[q];b.length=t;t=b.length;for(q=v=0;q<t;++q)if(","===b[q]){if(!g(v,q))return f;v=q+1}return!g(v,t)?f:m};(function(){var b=/^\w/,a=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$",
"i");s=function(d){d=d.slice();for(var e=d.length,c=0,f=0;f<e;++f){var g=d[f];" "!=g&&(d[c++]=g)}d.length=c;d=d.join(" ");return!d.length?"":!a.test(d)?"not all":b.test(d)?d:"not all , "+d}})();(function(){function b(a){var d=/^\s*[']([^']*)[']\s*$/,e=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,c=/^\s*url\s*[(][']([^']*)['][)]\s*$/,g=/^\s*url\s*[(]([^)]*)[)]\s*$/,k;return(k=/^\s*["]([^"]*)["]\s*$/.exec(a))||(k=d.exec(a))||(k=e.exec(a))||(k=c.exec(a))||(k=g.exec(a))?k[1]:f}function e(g,l,n,u,v,z,r){function F(){B=
D.length&&D[D.length-1]===f}var E=a,G=r||[0],D=[],B=d;q(l,{startStylesheet:function(){E=[]},endStylesheet:function(){},startAtrule:function(a,d){if(B)a=f;else if("@media"===a)E.push("@media"," ",s(d));else if("@keyframes"===a||"@-webkit-keyframes"===a){var c=d[0];1===d.length&&!/__$|[^\w\-]/.test(c)?(E.push(a," ",c+n.L),a="@keyframes"):a=f}else if("@import"===a&&0<d.length)if(a=f,"function"===typeof z){var l=s(d.slice(1));if("not all"!==l){++G[0];var m=[];E.push(m);var q=t(k(g,b(d[0])),function(b){var a=
e(q,b.qa,n,u,v,z,G);--G[0];b=l?{toString:function(){return"@media "+l+" {"+a.result+"}"}}:a.result;m[0]=b;z(b,!!G[0])},v)}}else window.console&&window.console.log("@import "+d.join(" ")+" elided");B=!a;D.push(a)},endAtrule:function(){D.pop();B||E.push(";");F()},startBlock:function(){B||E.push("{")},endBlock:function(){B||(E.push("}"),B=c)},startRuleset:function(b){if(!B){var d=a;"@keyframes"===D[D.length-1]?(d=b.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i),
B=!d,d&&(d=d[0].replace(/ +/g,""))):(b=p(b,n),!b||!b.length?B=c:d=b.join(", "));B||E.push(d,"{")}D.push(f)},endRuleset:function(){D.pop();B||E.push("}");F()},declaration:function(b,a){if(!B){var e=d,f=a.length;2<=f&&"!"===a[f-2]&&"important"===a[f-1].toLowerCase()&&(e=c,a.length-=2);m(b,a,u,g,n.L);a.length&&E.push(b,":",a.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return E.join("")}},va:!!G[0]}}r=function(b,d,c,f){return e(b,d,c,f,a,a).result.toString()}})()})();"undefined"!==
1)+l+'"':"|\x3d"===y||""===y||(x=d);break;case u.d.URI:case u.d.URI_FRAGMENT:""!==y&&(x=d);break;default:x=d}x&&(t+="["+r.replace(/[^\w-]/g,"\\$\x26")+y+s+(E?" i]":"]"))}else if(e<f&&":"===b[e])if(z=b[++e],F.test(z))q+=":"+z;else break;else break;e!==f&&(x=d);x&&(e=(k+m).replace(/[^ .*#\w-]/g,"\\$\x26")+t+q+g)&&v.push(e);return x}" "===b[t]&&++t;q-1!==t&&" "===b[q]&&--q;for(var v=[],z=t,x=c,y=t;x&&y<q;++y){var r=b[y];if(I[r]===I||" "===r)p(z,y,r)?z=y+1:x=d}p(z,q,"")||(x=d);return x?(v.length&&(z=
v.join(""),k!==f&&(z="."+k+" "+z),m.push(z)),c):!e||e(b.slice(t,q))}var k=a.na,l=a.L,n=a.Aa,m=[],t=0,q,p=0,v;for(q=0;q<b.length;++q)if(v=b[q],"("==v||"["==v?(++p,c):")"==v||"]"==v?(p&&--p,c):!(" "==b[q]&&(p||I[b[q-1]]===I||I[b[q+1]]===I)))b[t++]=b[q];b.length=t;t=b.length;for(q=p=0;q<t;++q)if(","===b[q]){if(!g(p,q))return f;p=q+1}return!g(p,t)?f:m};(function(){var b=/^\w/,a=RegExp("^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))(?: and ?\\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\\w+(?:-\\w+)*|\\d+(?: / \\d+|(?:\\.\\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\\))*))*$",
"i");s=function(d){d=d.slice();for(var e=d.length,c=0,f=0;f<e;++f){var g=d[f];" "!=g&&(d[c++]=g)}d.length=c;d=d.join(" ");return!d.length?"":!a.test(d)?"not all":b.test(d)?d:"not all , "+d}})();(function(){function b(a){var d=/^\s*[']([^']*)[']\s*$/,e=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,c=/^\s*url\s*[(][']([^']*)['][)]\s*$/,g=/^\s*url\s*[(]([^)]*)[)]\s*$/,k;return(k=/^\s*["]([^"]*)["]\s*$/.exec(a))||(k=d.exec(a))||(k=e.exec(a))||(k=c.exec(a))||(k=g.exec(a))?k[1]:f}function e(g,l,n,u,v,z,r){function F(){G=
B.length&&B[B.length-1]===f}var E=a,D=r||[0],B=[],G=d;q(l,{startStylesheet:function(){E=[]},endStylesheet:function(){},startAtrule:function(a,d){if(G)a=f;else if("@media"===a)E.push("@media"," ",s(d));else if("@keyframes"===a||"@-webkit-keyframes"===a){var c=d[0];1===d.length&&!/__$|[^\w\-]/.test(c)?(E.push(a," ",c+n.L),a="@keyframes"):a=f}else if("@import"===a&&0<d.length)if(a=f,"function"===typeof z){var l=s(d.slice(1));if("not all"!==l){++D[0];var m=[];E.push(m);var q=t(k(g,b(d[0])),function(b){var a=
e(q,b.qa,n,u,v,z,D);--D[0];b=l?{toString:function(){return"@media "+l+" {"+a.result+"}"}}:a.result;m[0]=b;z(b,!!D[0])},v)}}else window.console&&window.console.log("@import "+d.join(" ")+" elided");G=!a;B.push(a)},endAtrule:function(){B.pop();G||E.push(";");F()},startBlock:function(){G||E.push("{")},endBlock:function(){G||(E.push("}"),G=c)},startRuleset:function(b){if(!G){var d=a;"@keyframes"===B[B.length-1]?(d=b.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i),
G=!d,d&&(d=d[0].replace(/ +/g,""))):(b=p(b,n),!b||!b.length?G=c:d=b.join(", "));G||E.push(d,"{")}B.push(f)},endRuleset:function(){B.pop();G||E.push("}");F()},declaration:function(b,a){if(!G){var e=d,f=a.length;2<=f&&"!"===a[f-2]&&"important"===a[f-1].toLowerCase()&&(e=c,a.length-=2);m(b,a,u,g,n.L);a.length&&E.push(b,":",a.join(" "),e?" !important;":";")}}});return{result:{toString:function(){return E.join("")}},va:!!D[0]}}r=function(b,d,c,f){return e(b,d,c,f,a,a).result.toString()}})()})();"undefined"!==
typeof window&&(window.sanitizeCssProperty=m,window.sanitizeCssSelectorList=p,window.sanitizeStylesheet=r,window.sanitizeMediaQuery=s);var q,t;(function(){function b(d,e,c,f,g){for(var k=e++;e<c&&"{"!==d[e]&&";"!==d[e];)++e;if(e<c&&(g||";"===d[e])){g=k+1;var l=e;g<c&&" "===d[g]&&++g;l>g&&" "===d[l-1]&&--l;f.startAtrule&&f.startAtrule(d[k].toLowerCase(),d.slice(g,l));e="{"===d[e]?a(d,e,c,f):e+1;f.endAtrule&&f.endAtrule()}return e}function a(c,f,g,k){++f;for(k.startBlock&&k.startBlock();f<g;){var l=
c[f].charAt(0);if("}"==l){++f;break}f=" "===l||";"===l?f+1:"@"===l?b(c,f,g,k,d):"{"===l?a(c,f,g,k):e(c,f,g,k)}k.endBlock&&k.endBlock();return f}function e(b,a,d,g){var k=a,n=f(b,a,d,c);if(0>n)return n=~n,n===k?n+1:n;var m=b[n];if("{"!==m)return n===k?n+1:n;a=n+1;n>k&&" "===b[n-1]&&--n;for(g.startRuleset&&g.startRuleset(b.slice(k,n));a<d;){m=b[a];if("}"===m){++a;break}a=" "===m?a+1:l(b,a,d,g)}g.endRuleset&&g.endRuleset();return a}function f(b,a,d,e){for(var c,g=[],k=-1;a<d;++a)if(c=b[a].charAt(0),
"["===c||"("===c)g[++k]=c;else if("]"===c&&"["===g[k]||")"===c&&"("===g[k])--k;else if("{"===c||"}"===c||";"===c||"@"===c||":"===c&&!e)break;0<=k&&(a=~(a+1));return a}function g(b,a,d){for(;a<d&&";"!==b[a]&&"}"!==b[a];)++a;return a<d&&";"===b[a]?a+1:a}function l(b,a,e,c){var k=b[a++];if(!n.test(k))return g(b,a,e);a<e&&" "===b[a]&&++a;if(a==e||":"!==b[a])return g(b,a,e);++a;a<e&&" "===b[a]&&++a;var m=f(b,a,e,d);if(0>m)m=~m;else{for(var u=[],t=0,q=a;q<m;++q)a=b[q]," "!==a&&(u[t++]=a);if(m<e){do{a=b[m];
@ -79,10 +79,10 @@ frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",h2:"HTMLHeadingElement",h
li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",mark:"HTMLElement",menu:"HTMLMenuElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",nav:"HTMLElement",nobr:"HTMLElement",noembed:"HTMLElement",noframes:"HTMLElement",noscript:"HTMLElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement",
s:"HTMLElement",samp:"HTMLElement",script:"HTMLScriptElement",section:"HTMLElement",select:"HTMLSelectElement",small:"HTMLElement",source:"HTMLSourceElement",span:"HTMLSpanElement",strike:"HTMLElement",strong:"HTMLElement",style:"HTMLStyleElement",sub:"HTMLElement",summary:"HTMLElement",sup:"HTMLElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",td:"HTMLTableDataCellElement",textarea:"HTMLTextAreaElement",tfoot:"HTMLTableSectionElement",th:"HTMLTableHeaderCellElement",thead:"HTMLTableSectionElement",
time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",tt:"HTMLElement",u:"HTMLElement",ul:"HTMLUListElement","var":"HTMLElement",video:"HTMLVideoElement",wbr:"HTMLElement"};u.ELEMENT_DOM_INTERFACES=u.Q;u.P={NOT_LOADED:0,SAME_DOCUMENT:1,NEW_DOCUMENT:2};u.ueffects=u.P;u.J={"a::href":2,"area::href":2,"audio::src":1,"blockquote::cite":0,"command::icon":1,"del::cite":0,"form::action":2,"img::src":1,"input::src":1,"ins::cite":0,"q::cite":0,"video::poster":1,"video::src":1};
u.URIEFFECTS=u.J;u.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};u.ltypes=u.M;u.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};u.LOADERTYPES=u.I;"undefined"!==typeof window&&(window.html4=u);b=function(b){function e(b,a){var d;if(Q.hasOwnProperty(a))d=Q[a];else{var c=a.match(M);d=c?String.fromCharCode(parseInt(c[1],10)):(c=a.match(U))?String.fromCharCode(parseInt(c[1],
16)):K&&J.test(a)?(K.innerHTML="\x26"+a+";",c=K.textContent,Q[a]=c):"\x26"+a+";"}return d}function g(b){return b.replace(Z,e)}function k(b){return(""+b).replace(da,"\x26amp;").replace(Y,"\x26lt;").replace(aa,"\x26gt;").replace(X,"\x26#34;")}function l(b){return b.replace(V,"\x26amp;$1").replace(Y,"\x26lt;").replace(aa,"\x26gt;")}function m(b){var a={z:b.z||b.cdata,A:b.A||b.comment,B:b.B||b.endDoc,t:b.t||b.endTag,e:b.e||b.pcdata,F:b.F||b.rcdata,H:b.H||b.startDoc,w:b.w||b.startTag};return function(b,
u.URIEFFECTS=u.J;u.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};u.ltypes=u.M;u.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};u.LOADERTYPES=u.I;"undefined"!==typeof window&&(window.html4=u);b=function(b){function e(b,a){var d;if(Q.hasOwnProperty(a))d=Q[a];else{var c=a.match(M);d=c?String.fromCharCode(parseInt(c[1],10)):(c=a.match(V))?String.fromCharCode(parseInt(c[1],
16)):K&&J.test(a)?(K.innerHTML="\x26"+a+";",c=K.textContent,Q[a]=c):"\x26"+a+";"}return d}function g(b){return b.replace(Z,e)}function k(b){return(""+b).replace(da,"\x26amp;").replace(Y,"\x26lt;").replace(aa,"\x26gt;").replace(X,"\x26#34;")}function l(b){return b.replace(U,"\x26amp;$1").replace(Y,"\x26lt;").replace(aa,"\x26gt;")}function m(b){var a={z:b.z||b.cdata,A:b.A||b.comment,B:b.B||b.endDoc,t:b.t||b.endTag,e:b.e||b.pcdata,F:b.F||b.rcdata,H:b.H||b.startDoc,w:b.w||b.startTag};return function(b,
e){var c,g=/(<\/|<\!--|<[!?]|[&<>])/g;c=b+"";if(ga)c=c.split(g);else{for(var k=[],l=0,n;(n=g.exec(c))!==f;)k.push(c.substring(l,n.index)),k.push(n[0]),l=n.index+n[0].length;k.push(c.substring(l));c=k}t(a,c,0,{r:d,C:d},e)}}function u(b,a,d,e,c){return function(){t(b,a,d,e,c)}}function t(a,d,e,f,g){try{a.H&&0==e&&a.H(g);for(var k,l,n,m=d.length;e<m;){var z=d[e++],x=d[e];switch(z){case "\x26":ea.test(x)?(a.e&&a.e("\x26"+x,g,$,u(a,d,e,f,g)),e++):a.e&&a.e("\x26amp;",g,$,u(a,d,e,f,g));break;case "\x3c/":if(k=
/^([-\w:]+)[^\'\"]*/.exec(x))if(k[0].length===x.length&&"\x3e"===d[e+1])e+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,$,u(a,d,e,f,g));else{var y=d,r=e,s=a,E=g,D=$,A=f,U=p(y,r);U?(s.t&&s.t(U.name,E,D,u(s,y,r,A,E)),e=U.next):e=y.length}else a.e&&a.e("\x26lt;/",g,$,u(a,d,e,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(x))if(k[0].length===x.length&&"\x3e"===d[e+1]){e+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,$,u(a,d,e,f,g));var I=b.f[n];I&ca&&(e=q(d,{name:n,next:e,c:I},a,g,$,f))}else{var y=d,r=a,s=g,E=
/^([-\w:]+)[^\'\"]*/.exec(x))if(k[0].length===x.length&&"\x3e"===d[e+1])e+=2,n=k[1].toLowerCase(),a.t&&a.t(n,g,$,u(a,d,e,f,g));else{var y=d,r=e,s=a,E=g,D=$,A=f,I=p(y,r);I?(s.t&&s.t(I.name,E,D,u(s,y,r,A,E)),e=I.next):e=y.length}else a.e&&a.e("\x26lt;/",g,$,u(a,d,e,f,g));break;case "\x3c":if(k=/^([-\w:]+)\s*\/?/.exec(x))if(k[0].length===x.length&&"\x3e"===d[e+1]){e+=2;n=k[1].toLowerCase();a.w&&a.w(n,[],g,$,u(a,d,e,f,g));var V=b.f[n];V&ca&&(e=q(d,{name:n,next:e,c:V},a,g,$,f))}else{var y=d,r=a,s=g,E=
$,D=f,R=p(y,e);R?(r.w&&r.w(R.name,R.R,s,E,u(r,y,R.next,D,s)),e=R.c&ca?q(y,R,r,s,E,D):R.next):e=y.length}else a.e&&a.e("\x26lt;",g,$,u(a,d,e,f,g));break;case "\x3c!--":if(!f.C){for(l=e+1;l<m&&!("\x3e"===d[l]&&/--$/.test(d[l-1]));l++);if(l<m){if(a.A){var J=d.slice(e,l).join("");a.A(J.substr(0,J.length-2),g,$,u(a,d,l+1,f,g))}e=l+1}else f.C=c}f.C&&a.e&&a.e("\x26lt;!--",g,$,u(a,d,e,f,g));break;case "\x3c!":if(/^\w/.test(x)){if(!f.r){for(l=e+1;l<m&&"\x3e"!==d[l];l++);l<m?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;!",
g,$,u(a,d,e,f,g))}else a.e&&a.e("\x26lt;!",g,$,u(a,d,e,f,g));break;case "\x3c?":if(!f.r){for(l=e+1;l<m&&"\x3e"!==d[l];l++);l<m?e=l+1:f.r=c}f.r&&a.e&&a.e("\x26lt;?",g,$,u(a,d,e,f,g));break;case "\x3e":a.e&&a.e("\x26gt;",g,$,u(a,d,e,f,g));break;case "":break;default:a.e&&a.e(z,g,$,u(a,d,e,f,g))}}a.B&&a.B(g)}catch(H){if(H!==$)throw H;}}function q(a,d,e,c,f,g){var k=a.length;fa.hasOwnProperty(d.name)||(fa[d.name]=RegExp("^"+d.name+"(?:[\\s\\/]|$)","i"));for(var n=fa[d.name],m=d.next,t=d.next+1;t<k&&!("\x3c/"===
a[t-1]&&n.test(a[t]));t++);t<k&&(t-=1);k=a.slice(m,t).join("");if(d.c&b.c.CDATA)e.z&&e.z(k,c,f,u(e,a,t,g,c));else if(d.c&b.c.RCDATA)e.F&&e.F(l(k),c,f,u(e,a,t,g,c));else throw Error("bug");return t}function p(a,e){var f=/^([-\w:]+)/.exec(a[e]),k={};k.name=f[1].toLowerCase();k.c=b.f[k.name];for(var l=a[e].substr(f[0].length),n=e+1,m=a.length;n<m&&"\x3e"!==a[n];n++)l+=a[n];if(!(m<=n)){for(var u=[];""!==l;)if(f=R.exec(l))if(f[4]&&!f[5]||f[6]&&!f[7]){for(var f=f[4]||f[6],t=d,l=[l,a[n++]];n<m;n++){if(t){if("\x3e"===
@ -92,8 +92,8 @@ n.push("\x3c/",t,"\x3e")}else l=!(m&b.c.EMPTY)}}},endTag:function(a,e){if(l)l=d;
endDoc:function(b){for(;g.length;g.length--)b.push("\x3c/",g[g.length-1].v,"\x3e")}})}function s(b,a,d,e,c){if(!c)return f;try{var g=n.parse(""+b);if(g&&(!g.K()||ia.test(g.W()))){var k=c(g,a,d,e);return k?k.toString():f}}catch(l){}return f}function L(b,a,d,e,c){d||b(a+" removed",{S:"removed",tagName:a});if(e!==c){var f="changed";e&&!c?f="removed":!e&&c&&(f="added");b(a+"."+d+" "+f,{S:f,tagName:a,la:d,oldValue:e,newValue:c})}}function N(b,a,d){a=a+"::"+d;if(b.hasOwnProperty(a))return b[a];a="*::"+
d;if(b.hasOwnProperty(a))return b[a]}function T(d,e,c,g,k){for(var l=0;l<e.length;l+=2){var n=e[l],m=e[l+1],u=m,t=f,q;if((q=d+"::"+n,b.m.hasOwnProperty(q))||(q="*::"+n,b.m.hasOwnProperty(q)))t=b.m[q];if(t!==f)switch(t){case b.d.NONE:break;case b.d.SCRIPT:m=f;k&&L(k,d,n,u,m);break;case b.d.STYLE:if("undefined"===typeof C){m=f;k&&L(k,d,n,u,m);break}var p=[];C(m,{declaration:function(a,d){var e=a.toLowerCase();O(e,d,c?function(a){return s(a,b.P.ja,b.M.ka,{TYPE:"CSS",CSS_PROP:e},c)}:f);d.length&&p.push(e+
": "+d.join(" "))}});m=0<p.length?p.join(" ; "):f;k&&L(k,d,n,u,m);break;case b.d.ID:case b.d.IDREF:case b.d.IDREFS:case b.d.GLOBAL_NAME:case b.d.LOCAL_NAME:case b.d.CLASSES:m=g?g(m):m;k&&L(k,d,n,u,m);break;case b.d.URI:m=s(m,N(b.J,d,n),N(b.I,d,n),{TYPE:"MARKUP",XML_ATTR:n,XML_TAG:d},c);k&&L(k,d,n,u,m);break;case b.d.URI_FRAGMENT:m&&"#"===m.charAt(0)?(m=m.substring(1),m=g?g(m):m,m!==f&&m!==a&&(m="#"+m)):m=f;k&&L(k,d,n,u,m);break;default:m=f,k&&L(k,d,n,u,m)}else m=f,k&&L(k,d,n,u,m);e[l+1]=m}return e}
function W(d,e,c){return function(f,g){if(b.f[f]&b.c.UNSAFE)c&&L(c,f,a,a,a);else return{attribs:T(f,g,d,e,c)}}}function P(b,a){var d=[];r(a)(b,d);return d.join("")}var C,O;"undefined"!==typeof window&&(C=window.parseCssDeclarations,O=window.sanitizeCssProperty);var Q={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},M=/^#(\d+)$/,U=/^#x([0-9A-Fa-f]+)$/,J=/^[A-Za-z][A-za-z0-9]+$/,K="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):
f,S=/\0/g,Z=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,ea=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,da=/&/g,V=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,Y=/[<]/g,aa=/>/g,X=/\"/g,R=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,ga=3==="a,b".split(/(,)/).length,ca=b.c.CDATA|b.c.RCDATA,$={},fa={},ia=/^(?:https?|mailto|data)$/i,ba={};ba.pa=ba.escapeAttrib=k;ba.ra=ba.makeHtmlSanitizer=r;ba.sa=ba.makeSaxParser=m;ba.ta=ba.makeTagPolicy=W;ba.wa=ba.normalizeRCData=l;ba.xa=
function W(d,e,c){return function(f,g){if(b.f[f]&b.c.UNSAFE)c&&L(c,f,a,a,a);else return{attribs:T(f,g,d,e,c)}}}function P(b,a){var d=[];r(a)(b,d);return d.join("")}var C,O;"undefined"!==typeof window&&(C=window.parseCssDeclarations,O=window.sanitizeCssProperty);var Q={lt:"\x3c",LT:"\x3c",gt:"\x3e",GT:"\x3e",amp:"\x26",AMP:"\x26",quot:'"',apos:"'",nbsp:"\u00a0"},M=/^#(\d+)$/,V=/^#x([0-9A-Fa-f]+)$/,J=/^[A-Za-z][A-za-z0-9]+$/,K="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):
f,S=/\0/g,Z=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,ea=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,da=/&/g,U=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,Y=/[<]/g,aa=/>/g,X=/\"/g,R=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,ga=3==="a,b".split(/(,)/).length,ca=b.c.CDATA|b.c.RCDATA,$={},fa={},ia=/^(?:https?|mailto|data)$/i,ba={};ba.pa=ba.escapeAttrib=k;ba.ra=ba.makeHtmlSanitizer=r;ba.sa=ba.makeSaxParser=m;ba.ta=ba.makeTagPolicy=W;ba.wa=ba.normalizeRCData=l;ba.xa=
ba.sanitize=function(b,a,d,e){return P(b,W(a,d,e))};ba.ya=ba.sanitizeAttribs=T;ba.za=ba.sanitizeWithPolicy=P;ba.Ba=ba.unescapeEntities=g;return ba}(u);g=b.sanitize;"undefined"!==typeof window&&(window.html=b,window.html_sanitize=g)})();!function(a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=a()}(function(){return function c(f,d,b){function e(k,n){if(!d[k]){if(!f[k]){var m="function"==typeof require&&require;if(!n&&m)return m(k,!0);if(g)return g(k,!0);m=Error("Cannot find module '"+k+"'");throw m.code="MODULE_NOT_FOUND",m;}m=d[k]={exports:{}};
f[k][0].call(m.exports,function(b){var d=f[k][1][b];return e(d?d:b)},m,m.exports,c,f,d,b)}return d[k].exports}for(var g="function"==typeof require&&require,k=0;k<b.length;k++)e(b[k]);return e}({1:[function(c,f,d){function b(d){if(!(this instanceof b))return new b(d);d=this.options=k.assign({level:s,method:t,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},d||{});d.raw&&0<d.windowBits?d.windowBits=-d.windowBits:d.gzip&&0<d.windowBits&&16>d.windowBits&&(d.windowBits+=16);this.err=0;this.msg=
"";this.ended=!1;this.chunks=[];this.strm=new m;this.strm.avail_out=0;var e=g.deflateInit2(this.strm,d.level,d.method,d.windowBits,d.memLevel,d.strategy);if(e!==r)throw Error(n[e]);if(d.header&&g.deflateSetHeader(this.strm,d.header),d.dictionary){var c;if(c="string"==typeof d.dictionary?l.string2buf(d.dictionary):"[object ArrayBuffer]"===p.call(d.dictionary)?new Uint8Array(d.dictionary):d.dictionary,e=g.deflateSetDictionary(this.strm,c),e!==r)throw Error(n[e]);this._dict_set=!0}}function e(d,e){var c=
@ -113,30 +113,30 @@ c?(d[k++]=192|c>>>6,d[k++]=128|63&c):65536>c?(d[k++]=224|c>>>12,d[k++]=128|c>>>6
2===k?31:3===k?15:7;1<k&&c<l;)g=g<<6|63&d[c++],k--;1<k?n[f++]=65533:65536>g?n[f++]=g:(g-=65536,n[f++]=55296|g>>10&1023,n[f++]=56320|1023&g)}return b(n,f)};d.utf8border=function(b,d){var e;d=d||b.length;d>b.length&&(d=b.length);for(e=d-1;0<=e&&128===(192&b[e]);)e--;return 0>e?d:0===e?d:e+m[b[e]]>d?e:d}},{"./common":3}],5:[function(c,f,d){f.exports=function(b,d,c,f){var l=65535&b|0;b=b>>>16&65535|0;for(var n=0;0!==c;){n=2E3<c?2E3:c;c-=n;do l=l+d[f++]|0,b=b+l|0;while(--n);l%=65521;b%=65521}return l|
b<<16|0}},{}],6:[function(c,f,d){f.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(c,f,d){var b=function(){for(var b,d=[],c=0;256>c;c++){b=c;
for(var f=0;8>f;f++)b=1&b?3988292384^b>>>1:b>>>1;d[c]=b}return d}();f.exports=function(d,c,f,l){f=l+f;for(d^=-1;l<f;l++)d=d>>>8^b[255&(d^c[l])];return d^-1}},{}],8:[function(c,f,d){function b(b,d){return b.msg=E[d],d}function e(b){for(var d=b.length;0<=--d;)b[d]=0}function g(b){var d=b.state,e=d.pending;e>b.avail_out&&(e=b.avail_out);0!==e&&(x.arraySet(b.output,d.pending_buf,d.pending_out,e,b.next_out),b.next_out+=e,d.pending_out+=e,b.total_out+=e,b.avail_out-=e,d.pending-=e,0===d.pending&&(d.pending_out=
0))}function k(b,d){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,d);b.block_start=b.strstart;g(b.strm)}function l(b,d){b.pending_buf[b.pending++]=d}function n(b,d){b.pending_buf[b.pending++]=d>>>8&255;b.pending_buf[b.pending++]=255&d}function m(b,d){var e,c,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-Z?b.strstart-(b.w_size-Z):0,m=b.window,u=b.w_mask,t=b.prev,q=b.strstart+S,v=m[g+k-1],p=m[g+k];b.prev_length>=b.good_match&&
(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(e=d,m[e+k]===p&&m[e+k-1]===v&&m[e]===m[g]&&m[++e]===m[g+1]){g+=2;e++;do;while(m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&g<q);if(c=S-(q-g),g=q-S,c>k){if(b.match_start=d,k=c,c>=l)break;v=m[g+k-1];p=m[g+k]}}while((d=t[d&u])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var d,e,c,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=
0))}function k(b,d){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,d);b.block_start=b.strstart;g(b.strm)}function l(b,d){b.pending_buf[b.pending++]=d}function n(b,d){b.pending_buf[b.pending++]=d>>>8&255;b.pending_buf[b.pending++]=255&d}function m(b,d){var e,c,f=b.max_chain_length,g=b.strstart,k=b.prev_length,l=b.nice_match,n=b.strstart>b.w_size-Z?b.strstart-(b.w_size-Z):0,m=b.window,t=b.w_mask,u=b.prev,q=b.strstart+S,p=m[g+k-1],v=m[g+k];b.prev_length>=b.good_match&&
(f>>=2);l>b.lookahead&&(l=b.lookahead);do if(e=d,m[e+k]===v&&m[e+k-1]===p&&m[e]===m[g]&&m[++e]===m[g+1]){g+=2;e++;do;while(m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&m[++g]===m[++e]&&g<q);if(c=S-(q-g),g=q-S,c>k){if(b.match_start=d,k=c,c>=l)break;p=m[g+k-1];v=m[g+k]}}while((d=u[d&t])>n&&0!==--f);return k<=b.lookahead?k:b.lookahead}function p(b){var d,e,c,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=
g+(g-Z)){x.arraySet(b.window,b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;d=e=b.hash_size;do c=b.head[--d],b.head[d]=c>=g?c-g:0;while(--e);d=e=g;do c=b.prev[--d],b.prev[d]=c>=g?c-g:0;while(--e);f+=g}if(0===b.strm.avail_in)break;d=b.strm;c=b.window;var k=b.strstart+b.lookahead,l=d.avail_in;if(e=(l>f&&(l=f),0===l?0:(d.avail_in-=l,x.arraySet(c,d.input,d.next_in,l,k),1===d.state.wrap?d.adler=A(d.adler,c,l,k):2===d.state.wrap&&(d.adler=B(d.adler,c,l,k)),d.next_in+=l,d.total_in+=l,l)),
b.lookahead+=e,b.lookahead+b.insert>=K){f=b.strstart-b.insert;b.ins_h=b.window[f];for(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+K-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<K)););}}while(b.lookahead<Z&&0!==b.strm.avail_in)}function r(b,d){for(var e,c;;){if(b.lookahead<Z){if(p(b),b.lookahead<Z&&d===G)return V;if(0===b.lookahead)break}if(e=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<
b.lookahead+=e,b.lookahead+b.insert>=K){f=b.strstart-b.insert;b.ins_h=b.window[f];for(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+K-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<K)););}}while(b.lookahead<Z&&0!==b.strm.avail_in)}function r(b,d){for(var e,c;;){if(b.lookahead<Z){if(p(b),b.lookahead<Z&&d===G)return U;if(0===b.lookahead)break}if(e=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<
b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==e&&b.strstart-e<=b.w_size-Z&&(b.match_length=m(b,e)),b.match_length>=K)if(c=D._tr_tally(b,b.strstart-b.match_start,b.match_length-K),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=K){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=
b.strstart;while(0!==--b.match_length);b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else c=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(c&&(k(b,!1),0===b.strm.avail_out))return V}return b.insert=b.strstart<K-1?b.strstart:K-1,d===F?(k(b,!0),0===b.strm.avail_out?aa:X):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?V:Y}function s(b,d){for(var e,c,f;;){if(b.lookahead<Z){if(p(b),
b.lookahead<Z&&d===G)return V;if(0===b.lookahead)break}if(e=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=K-1,0!==e&&b.prev_length<b.max_lazy_match&&b.strstart-e<=b.w_size-Z&&(b.match_length=m(b,e),5>=b.match_length&&(b.strategy===N||b.match_length===K&&4096<b.strstart-b.match_start)&&(b.match_length=K-1)),b.prev_length>=
K&&b.match_length<=b.prev_length){f=b.strstart+b.lookahead-K;c=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-K);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=K-1,b.strstart++,c&&(k(b,!1),0===b.strm.avail_out))return V}else if(b.match_available){if(c=D._tr_tally(b,0,
b.window[b.strstart-1]),c&&k(b,!1),b.strstart++,b.lookahead--,0===b.strm.avail_out)return V}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<K-1?b.strstart:K-1,d===F?(k(b,!0),0===b.strm.avail_out?aa:X):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?V:Y}function q(b,d,e,c,f){this.good_length=b;this.max_lazy=d;this.nice_length=e;this.max_chain=c;this.func=f}function t(){this.strm=null;this.status=
b.strstart;while(0!==--b.match_length);b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else c=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(c&&(k(b,!1),0===b.strm.avail_out))return U}return b.insert=b.strstart<K-1?b.strstart:K-1,d===F?(k(b,!0),0===b.strm.avail_out?aa:X):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?U:Y}function s(b,d){for(var e,c,f;;){if(b.lookahead<Z){if(p(b),
b.lookahead<Z&&d===G)return U;if(0===b.lookahead)break}if(e=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=K-1,0!==e&&b.prev_length<b.max_lazy_match&&b.strstart-e<=b.w_size-Z&&(b.match_length=m(b,e),5>=b.match_length&&(b.strategy===N||b.match_length===K&&4096<b.strstart-b.match_start)&&(b.match_length=K-1)),b.prev_length>=
K&&b.match_length<=b.prev_length){f=b.strstart+b.lookahead-K;c=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-K);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,e=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=K-1,b.strstart++,c&&(k(b,!1),0===b.strm.avail_out))return U}else if(b.match_available){if(c=D._tr_tally(b,0,
b.window[b.strstart-1]),c&&k(b,!1),b.strstart++,b.lookahead--,0===b.strm.avail_out)return U}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<K-1?b.strstart:K-1,d===F?(k(b,!0),0===b.strm.avail_out?aa:X):b.last_lit&&(k(b,!1),0===b.strm.avail_out)?U:Y}function q(b,d,e,c,f){this.good_length=b;this.max_lazy=d;this.nice_length=e;this.max_chain=c;this.func=f}function t(){this.strm=null;this.status=
0;this.pending_buf=null;this.wrap=this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=P;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=
this.hash_mask=this.hash_bits=this.hash_size=this.ins_h=0;this.dyn_ltree=new x.Buf16(2*U);this.dyn_dtree=new x.Buf16(2*(2*Q+1));this.bl_tree=new x.Buf16(2*(2*M+1));e(this.dyn_ltree);e(this.dyn_dtree);e(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new x.Buf16(J+1);this.heap=new x.Buf16(2*O+1);e(this.heap);this.heap_max=this.heap_len=0;this.depth=new x.Buf16(2*O+1);e(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=
this.hash_mask=this.hash_bits=this.hash_size=this.ins_h=0;this.dyn_ltree=new x.Buf16(2*V);this.dyn_dtree=new x.Buf16(2*(2*Q+1));this.bl_tree=new x.Buf16(2*(2*M+1));e(this.dyn_ltree);e(this.dyn_dtree);e(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new x.Buf16(J+1);this.heap=new x.Buf16(2*O+1);e(this.heap);this.heap_max=this.heap_len=0;this.depth=new x.Buf16(2*O+1);e(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=
this.lit_bufsize=this.l_buf=0}function u(d){var e;return d&&d.state?(d.total_in=d.total_out=0,d.data_type=W,e=d.state,e.pending=0,e.pending_out=0,0>e.wrap&&(e.wrap=-e.wrap),e.status=e.wrap?ea:da,d.adler=2===e.wrap?0:1,e.last_flush=G,D._tr_init(e),I):b(d,H)}function v(b){var d=u(b);d===I&&(b=b.state,b.window_size=2*b.w_size,e(b.head),b.max_lazy_match=y[b.level].max_lazy,b.good_match=y[b.level].good_length,b.nice_match=y[b.level].nice_length,b.max_chain_length=y[b.level].max_chain,b.strstart=0,b.block_start=
0,b.lookahead=0,b.insert=0,b.match_length=b.prev_length=K-1,b.match_available=0,b.ins_h=0);return d}function z(d,e,c,f,g,k){if(!d)return H;var l=1;if(e===L&&(e=6),0>f?(l=0,f=-f):15<f&&(l=2,f-=16),1>g||g>C||c!==P||8>f||15<f||0>e||9<e||0>k||k>T)return b(d,H);8===f&&(f=9);var n=new t;return d.state=n,n.strm=d,n.wrap=l,n.gzhead=null,n.w_bits=f,n.w_size=1<<n.w_bits,n.w_mask=n.w_size-1,n.hash_bits=g+7,n.hash_size=1<<n.hash_bits,n.hash_mask=n.hash_size-1,n.hash_shift=~~((n.hash_bits+K-1)/K),n.window=new x.Buf8(2*
n.w_size),n.head=new x.Buf16(n.hash_size),n.prev=new x.Buf16(n.w_size),n.lit_bufsize=1<<g+6,n.pending_buf_size=4*n.lit_bufsize,n.pending_buf=new x.Buf8(n.pending_buf_size),n.d_buf=1*n.lit_bufsize,n.l_buf=3*n.lit_bufsize,n.level=e,n.strategy=k,n.method=c,v(d)}var y,x=c("../utils/common"),D=c("./trees"),A=c("./adler32"),B=c("./crc32"),E=c("./messages"),G=0,F=4,I=0,H=-2,L=-1,N=1,T=4,W=2,P=8,C=9,O=286,Q=30,M=19,U=2*O+1,J=15,K=3,S=258,Z=S+K+1,ea=42,da=113,V=1,Y=2,aa=3,X=4;y=[new q(0,0,0,0,function(b,d){var e=
65535;for(e>b.pending_buf_size-5&&(e=b.pending_buf_size-5);;){if(1>=b.lookahead){if(p(b),0===b.lookahead&&d===G)return V;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var c=b.block_start+e;if((0===b.strstart||b.strstart>=c)&&(b.lookahead=b.strstart-c,b.strstart=c,k(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-Z&&(k(b,!1),0===b.strm.avail_out))return V}return b.insert=0,d===F?(k(b,!0),0===b.strm.avail_out?aa:X):(b.strstart>b.block_start&&k(b,!1),V)}),new q(4,4,8,
4,r),new q(4,5,16,8,r),new q(4,6,32,32,r),new q(4,4,16,16,s),new q(8,16,32,32,s),new q(8,16,128,128,s),new q(8,32,128,256,s),new q(32,128,258,1024,s),new q(32,258,258,4096,s)];d.deflateInit=function(b,d){return z(b,d,P,15,8,0)};d.deflateInit2=z;d.deflateReset=v;d.deflateResetKeep=u;d.deflateSetHeader=function(b,d){return b&&b.state?2!==b.state.wrap?H:(b.state.gzhead=d,I):H};d.deflate=function(d,c){var f,m,u,t;if(!d||!d.state||5<c||0>c)return d?b(d,H):H;if(m=d.state,!d.output||!d.input&&0!==d.avail_in||
n.w_size),n.head=new x.Buf16(n.hash_size),n.prev=new x.Buf16(n.w_size),n.lit_bufsize=1<<g+6,n.pending_buf_size=4*n.lit_bufsize,n.pending_buf=new x.Buf8(n.pending_buf_size),n.d_buf=1*n.lit_bufsize,n.l_buf=3*n.lit_bufsize,n.level=e,n.strategy=k,n.method=c,v(d)}var y,x=c("../utils/common"),D=c("./trees"),A=c("./adler32"),B=c("./crc32"),E=c("./messages"),G=0,F=4,I=0,H=-2,L=-1,N=1,T=4,W=2,P=8,C=9,O=286,Q=30,M=19,V=2*O+1,J=15,K=3,S=258,Z=S+K+1,ea=42,da=113,U=1,Y=2,aa=3,X=4;y=[new q(0,0,0,0,function(b,d){var e=
65535;for(e>b.pending_buf_size-5&&(e=b.pending_buf_size-5);;){if(1>=b.lookahead){if(p(b),0===b.lookahead&&d===G)return U;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var c=b.block_start+e;if((0===b.strstart||b.strstart>=c)&&(b.lookahead=b.strstart-c,b.strstart=c,k(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-Z&&(k(b,!1),0===b.strm.avail_out))return U}return b.insert=0,d===F?(k(b,!0),0===b.strm.avail_out?aa:X):(b.strstart>b.block_start&&k(b,!1),U)}),new q(4,4,8,
4,r),new q(4,5,16,8,r),new q(4,6,32,32,r),new q(4,4,16,16,s),new q(8,16,32,32,s),new q(8,16,128,128,s),new q(8,32,128,256,s),new q(32,128,258,1024,s),new q(32,258,258,4096,s)];d.deflateInit=function(b,d){return z(b,d,P,15,8,0)};d.deflateInit2=z;d.deflateReset=v;d.deflateResetKeep=u;d.deflateSetHeader=function(b,d){return b&&b.state?2!==b.state.wrap?H:(b.state.gzhead=d,I):H};d.deflate=function(d,c){var f,m,t,u;if(!d||!d.state||5<c||0>c)return d?b(d,H):H;if(m=d.state,!d.output||!d.input&&0!==d.avail_in||
666===m.status&&c!==F)return b(d,0===d.avail_out?-5:H);if(m.strm=d,f=m.last_flush,m.last_flush=c,m.status===ea)2===m.wrap?(d.adler=0,l(m,31),l(m,139),l(m,8),m.gzhead?(l(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),l(m,255&m.gzhead.time),l(m,m.gzhead.time>>8&255),l(m,m.gzhead.time>>16&255),l(m,m.gzhead.time>>24&255),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(l(m,255&m.gzhead.extra.length),
l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(d.adler=B(d.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=da)):(u=P+(m.w_bits-8<<4)<<8,t=-1,t=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,u|=t<<6,0!==m.strstart&&(u|=32),m.status=da,n(m,u+(31-u%31)),0!==m.strstart&&(n(m,d.adler>>>16),n(m,65535&d.adler)),d.adler=1);if(69===m.status)if(m.gzhead.extra){for(u=m.pending;m.gzindex<
(65535&m.gzhead.extra.length)&&(m.pending!==m.pending_buf_size||(m.gzhead.hcrc&&m.pending>u&&(d.adler=B(d.adler,m.pending_buf,m.pending-u,u)),g(d),u=m.pending,m.pending!==m.pending_buf_size));)l(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>u&&(d.adler=B(d.adler,m.pending_buf,m.pending-u,u));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){u=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>
u&&(d.adler=B(d.adler,m.pending_buf,m.pending-u,u)),g(d),u=m.pending,m.pending===m.pending_buf_size)){t=1;break}t=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,t)}while(0!==t);m.gzhead.hcrc&&m.pending>u&&(d.adler=B(d.adler,m.pending_buf,m.pending-u,u));0===t&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){u=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>u&&(d.adler=B(d.adler,m.pending_buf,m.pending-u,u)),
g(d),u=m.pending,m.pending===m.pending_buf_size)){t=1;break}t=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,t)}while(0!==t);m.gzhead.hcrc&&m.pending>u&&(d.adler=B(d.adler,m.pending_buf,m.pending-u,u));0===t&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(d),m.pending+2<=m.pending_buf_size&&(l(m,255&d.adler),l(m,d.adler>>8&255),d.adler=0,m.status=da)):m.status=da),0!==m.pending){if(g(d),0===d.avail_out)return m.last_flush=
-1,I}else if(0===d.avail_in&&(c<<1)-(4<c?9:0)<=(f<<1)-(4<f?9:0)&&c!==F)return b(d,-5);if(666===m.status&&0!==d.avail_in)return b(d,-5);if(0!==d.avail_in||0!==m.lookahead||c!==G&&666!==m.status){var q;if(2===m.strategy)a:{for(var v;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===G){q=V;break a}break}if(m.match_length=0,v=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,v&&(k(m,!1),0===m.strm.avail_out)){q=V;break a}}q=(m.insert=0,c===F?(k(m,!0),0===m.strm.avail_out?aa:X):m.last_lit&&
(k(m,!1),0===m.strm.avail_out)?V:Y)}else if(3===m.strategy)a:{var z,x;for(v=m.window;;){if(m.lookahead<=S){if(p(m),m.lookahead<=S&&c===G){q=V;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=K&&0<m.strstart&&(x=m.strstart-1,z=v[x],z===v[++x]&&z===v[++x]&&z===v[++x])){f=m.strstart+S;do;while(z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&x<f);m.match_length=S-(f-x);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=
K?(q=D._tr_tally(m,1,m.match_length-K),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(k(m,!1),0===m.strm.avail_out)){q=V;break a}}q=(m.insert=0,c===F?(k(m,!0),0===m.strm.avail_out?aa:X):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?V:Y)}else q=y[m.level].func(m,c);if(q!==aa&&q!==X||(m.status=666),q===V||q===aa)return 0===d.avail_out&&(m.last_flush=-1),I;if(q===Y&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,
l(m,m.gzhead.extra.length>>8&255)),m.gzhead.hcrc&&(d.adler=B(d.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(l(m,0),l(m,0),l(m,0),l(m,0),l(m,0),l(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),l(m,3),m.status=da)):(t=P+(m.w_bits-8<<4)<<8,u=-1,u=2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3,t|=u<<6,0!==m.strstart&&(t|=32),m.status=da,n(m,t+(31-t%31)),0!==m.strstart&&(n(m,d.adler>>>16),n(m,65535&d.adler)),d.adler=1);if(69===m.status)if(m.gzhead.extra){for(t=m.pending;m.gzindex<
(65535&m.gzhead.extra.length)&&(m.pending!==m.pending_buf_size||(m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t)),g(d),t=m.pending,m.pending!==m.pending_buf_size));)l(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){t=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>
t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t)),g(d),t=m.pending,m.pending===m.pending_buf_size)){u=1;break}u=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;l(m,u)}while(0!==u);m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t));0===u&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){t=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t)),
g(d),t=m.pending,m.pending===m.pending_buf_size)){u=1;break}u=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;l(m,u)}while(0!==u);m.gzhead.hcrc&&m.pending>t&&(d.adler=B(d.adler,m.pending_buf,m.pending-t,t));0===u&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(d),m.pending+2<=m.pending_buf_size&&(l(m,255&d.adler),l(m,d.adler>>8&255),d.adler=0,m.status=da)):m.status=da),0!==m.pending){if(g(d),0===d.avail_out)return m.last_flush=
-1,I}else if(0===d.avail_in&&(c<<1)-(4<c?9:0)<=(f<<1)-(4<f?9:0)&&c!==F)return b(d,-5);if(666===m.status&&0!==d.avail_in)return b(d,-5);if(0!==d.avail_in||0!==m.lookahead||c!==G&&666!==m.status){var q;if(2===m.strategy)a:{for(var v;;){if(0===m.lookahead&&(p(m),0===m.lookahead)){if(c===G){q=U;break a}break}if(m.match_length=0,v=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,v&&(k(m,!1),0===m.strm.avail_out)){q=U;break a}}q=(m.insert=0,c===F?(k(m,!0),0===m.strm.avail_out?aa:X):m.last_lit&&
(k(m,!1),0===m.strm.avail_out)?U:Y)}else if(3===m.strategy)a:{var z,x;for(v=m.window;;){if(m.lookahead<=S){if(p(m),m.lookahead<=S&&c===G){q=U;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=K&&0<m.strstart&&(x=m.strstart-1,z=v[x],z===v[++x]&&z===v[++x]&&z===v[++x])){f=m.strstart+S;do;while(z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&z===v[++x]&&x<f);m.match_length=S-(f-x);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=
K?(q=D._tr_tally(m,1,m.match_length-K),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(k(m,!1),0===m.strm.avail_out)){q=U;break a}}q=(m.insert=0,c===F?(k(m,!0),0===m.strm.avail_out?aa:X):m.last_lit&&(k(m,!1),0===m.strm.avail_out)?U:Y)}else q=y[m.level].func(m,c);if(q!==aa&&q!==X||(m.status=666),q===U||q===aa)return 0===d.avail_out&&(m.last_flush=-1),I;if(q===Y&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,
0,0,!1),3===c&&(e(m.head),0===m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(d),0===d.avail_out))return m.last_flush=-1,I}return c!==F?I:0>=m.wrap?1:(2===m.wrap?(l(m,255&d.adler),l(m,d.adler>>8&255),l(m,d.adler>>16&255),l(m,d.adler>>24&255),l(m,255&d.total_in),l(m,d.total_in>>8&255),l(m,d.total_in>>16&255),l(m,d.total_in>>24&255)):(n(m,d.adler>>>16),n(m,65535&d.adler)),g(d),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?I:1)};d.deflateEnd=function(d){var e;return d&&d.state?(e=d.state.status,
e!==ea&&69!==e&&73!==e&&91!==e&&103!==e&&e!==da&&666!==e?b(d,H):(d.state=null,e===da?b(d,-3):I)):H};d.deflateSetDictionary=function(b,d){var c,f,g,k,l,n,m;f=d.length;if(!b||!b.state||(c=b.state,k=c.wrap,2===k||1===k&&c.status!==ea||c.lookahead))return H;1===k&&(b.adler=A(b.adler,d,f,0));c.wrap=0;f>=c.w_size&&(0===k&&(e(c.head),c.strstart=0,c.block_start=0,c.insert=0),l=new x.Buf8(c.w_size),x.arraySet(l,d,f-c.w_size,c.w_size,0),d=l,f=c.w_size);l=b.avail_in;n=b.next_in;m=b.input;b.avail_in=f;b.next_in=
0;b.input=d;for(p(c);c.lookahead>=K;){f=c.strstart;g=c.lookahead-(K-1);do c.ins_h=(c.ins_h<<c.hash_shift^c.window[f+K-1])&c.hash_mask,c.prev[f&c.w_mask]=c.head[c.ins_h],c.head[c.ins_h]=f,f++;while(--g);c.strstart=f;c.lookahead=K-1;p(c)}return c.strstart+=c.lookahead,c.block_start=c.strstart,c.insert=c.lookahead,c.lookahead=0,c.match_length=c.prev_length=K-1,c.match_available=0,b.next_in=n,b.input=m,b.avail_in=l,c.wrap=k,I};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,
@ -147,39 +147,39 @@ if(B=0,t<G){E=t;G-=E;do L[n++]=u[B++];while(--E);B=n-F;I=L}}}else if(B+=t-E,E<G)
{}],11:[function(c,f,d){function b(b){return(b>>>24&255)+(b>>>8&65280)+((65280&b)<<8)+((255&b)<<24)}function e(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new s.Buf16(320);this.work=
new s.Buf16(288);this.distdyn=this.lendyn=null;this.was=this.back=this.sane=0}function g(b){var d;return b&&b.state?(d=b.state,b.total_in=b.total_out=d.total=0,b.msg="",d.wrap&&(b.adler=1&d.wrap),d.mode=x,d.last=0,d.havedict=0,d.dmax=32768,d.head=null,d.hold=0,d.bits=0,d.lencode=d.lendyn=new s.Buf32(D),d.distcode=d.distdyn=new s.Buf32(A),d.sane=1,d.back=-1,z):y}function k(b){var d;return b&&b.state?(d=b.state,d.wsize=0,d.whave=0,d.wnext=0,g(b)):y}function l(b,d){var e,c;return b&&b.state?(c=b.state,
0>d?(e=0,d=-d):(e=(d>>4)+1,48>d&&(d&=15)),d&&(8>d||15<d)?y:(null!==c.window&&c.wbits!==d&&(c.window=null),c.wrap=e,c.wbits=d,k(b))):y}function n(b,d){var c,f;return b?(f=new e,b.state=f,f.window=null,c=l(b,d),c!==z&&(b.state=null),c):y}function m(b,d,e,c){var f;b=b.state;return null===b.window&&(b.wsize=1<<b.wbits,b.wnext=0,b.whave=0,b.window=new s.Buf8(b.wsize)),c>=b.wsize?(s.arraySet(b.window,d,e-b.wsize,b.wsize,0),b.wnext=0,b.whave=b.wsize):(f=b.wsize-b.wnext,f>c&&(f=c),s.arraySet(b.window,d,e-
c,f,b.wnext),c-=f,c?(s.arraySet(b.window,d,e-c,c,0),b.wnext=c,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var p,r,s=c("../utils/common"),q=c("./adler32"),t=c("./crc32"),u=c("./inffast"),v=c("./inftrees"),z=0,y=-2,x=1,D=852,A=592,B=!0;d.inflateReset=k;d.inflateReset2=l;d.inflateResetKeep=g;d.inflateInit=function(b){return n(b,15)};d.inflateInit2=n;d.inflate=function(d,e){var c,f,g,k,l,n,D,A,C,O,Q,M,U,J,K,S,Z,ea,da,V,Y,aa,X=0,R=new s.Buf8(4),ga=[16,
c,f,b.wnext),c-=f,c?(s.arraySet(b.window,d,e-c,c,0),b.wnext=c,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var p,r,s=c("../utils/common"),q=c("./adler32"),t=c("./crc32"),u=c("./inffast"),v=c("./inftrees"),z=0,y=-2,x=1,D=852,A=592,B=!0;d.inflateReset=k;d.inflateReset2=l;d.inflateResetKeep=g;d.inflateInit=function(b){return n(b,15)};d.inflateInit2=n;d.inflate=function(d,e){var c,f,g,k,l,n,D,A,C,O,Q,M,V,J,K,S,Z,ea,da,U,Y,aa,X=0,R=new s.Buf8(4),ga=[16,
17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!d||!d.state||!d.output||!d.input&&0!==d.avail_in)return y;c=d.state;12===c.mode&&(c.mode=13);l=d.next_out;g=d.output;D=d.avail_out;k=d.next_in;f=d.input;n=d.avail_in;A=c.hold;C=c.bits;O=n;Q=D;Y=z;a:for(;;)switch(c.mode){case x:if(0===c.wrap){c.mode=13;break}for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(2&c.wrap&&35615===A){c.check=0;R[0]=255&A;R[1]=A>>>8&255;c.check=t(c.check,R,2,0);C=A=0;c.mode=2;break}if(c.flags=0,c.head&&(c.head.done=!1),
!(1&c.wrap)||(((255&A)<<8)+(A>>8))%31){d.msg="incorrect header check";c.mode=30;break}if(8!==(15&A)){d.msg="unknown compression method";c.mode=30;break}if(A>>>=4,C-=4,V=(15&A)+8,0===c.wbits)c.wbits=V;else if(V>c.wbits){d.msg="invalid window size";c.mode=30;break}c.dmax=1<<V;d.adler=c.check=1;c.mode=512&A?10:12;C=A=0;break;case 2:for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(c.flags=A,8!==(255&c.flags)){d.msg="unknown compression method";c.mode=30;break}if(57344&c.flags){d.msg="unknown header flags set";
!(1&c.wrap)||(((255&A)<<8)+(A>>8))%31){d.msg="incorrect header check";c.mode=30;break}if(8!==(15&A)){d.msg="unknown compression method";c.mode=30;break}if(A>>>=4,C-=4,U=(15&A)+8,0===c.wbits)c.wbits=U;else if(U>c.wbits){d.msg="invalid window size";c.mode=30;break}c.dmax=1<<U;d.adler=c.check=1;c.mode=512&A?10:12;C=A=0;break;case 2:for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(c.flags=A,8!==(255&c.flags)){d.msg="unknown compression method";c.mode=30;break}if(57344&c.flags){d.msg="unknown header flags set";
c.mode=30;break}c.head&&(c.head.text=A>>8&1);512&c.flags&&(R[0]=255&A,R[1]=A>>>8&255,c.check=t(c.check,R,2,0));C=A=0;c.mode=3;case 3:for(;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.head&&(c.head.time=A);512&c.flags&&(R[0]=255&A,R[1]=A>>>8&255,R[2]=A>>>16&255,R[3]=A>>>24&255,c.check=t(c.check,R,4,0));C=A=0;c.mode=4;case 4:for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.head&&(c.head.xflags=255&A,c.head.os=A>>8);512&c.flags&&(R[0]=255&A,R[1]=A>>>8&255,c.check=t(c.check,R,2,0));C=A=0;c.mode=
5;case 5:if(1024&c.flags){for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.length=A;c.head&&(c.head.extra_len=A);512&c.flags&&(R[0]=255&A,R[1]=A>>>8&255,c.check=t(c.check,R,2,0));C=A=0}else c.head&&(c.head.extra=null);c.mode=6;case 6:if(1024&c.flags&&(M=c.length,M>n&&(M=n),M&&(c.head&&(V=c.head.extra_len-c.length,c.head.extra||(c.head.extra=Array(c.head.extra_len)),s.arraySet(c.head.extra,f,k,M,V)),512&c.flags&&(c.check=t(c.check,f,M,k)),n-=M,k+=M,c.length-=M),c.length))break a;c.length=0;c.mode=
7;case 7:if(2048&c.flags){if(0===n)break a;M=0;do V=f[k+M++],c.head&&V&&65536>c.length&&(c.head.name+=String.fromCharCode(V));while(V&&M<n);if(512&c.flags&&(c.check=t(c.check,f,M,k)),n-=M,k+=M,V)break a}else c.head&&(c.head.name=null);c.length=0;c.mode=8;case 8:if(4096&c.flags){if(0===n)break a;M=0;do V=f[k+M++],c.head&&V&&65536>c.length&&(c.head.comment+=String.fromCharCode(V));while(V&&M<n);if(512&c.flags&&(c.check=t(c.check,f,M,k)),n-=M,k+=M,V)break a}else c.head&&(c.head.comment=null);c.mode=
5;case 5:if(1024&c.flags){for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.length=A;c.head&&(c.head.extra_len=A);512&c.flags&&(R[0]=255&A,R[1]=A>>>8&255,c.check=t(c.check,R,2,0));C=A=0}else c.head&&(c.head.extra=null);c.mode=6;case 6:if(1024&c.flags&&(M=c.length,M>n&&(M=n),M&&(c.head&&(U=c.head.extra_len-c.length,c.head.extra||(c.head.extra=Array(c.head.extra_len)),s.arraySet(c.head.extra,f,k,M,U)),512&c.flags&&(c.check=t(c.check,f,M,k)),n-=M,k+=M,c.length-=M),c.length))break a;c.length=0;c.mode=
7;case 7:if(2048&c.flags){if(0===n)break a;M=0;do U=f[k+M++],c.head&&U&&65536>c.length&&(c.head.name+=String.fromCharCode(U));while(U&&M<n);if(512&c.flags&&(c.check=t(c.check,f,M,k)),n-=M,k+=M,U)break a}else c.head&&(c.head.name=null);c.length=0;c.mode=8;case 8:if(4096&c.flags){if(0===n)break a;M=0;do U=f[k+M++],c.head&&U&&65536>c.length&&(c.head.comment+=String.fromCharCode(U));while(U&&M<n);if(512&c.flags&&(c.check=t(c.check,f,M,k)),n-=M,k+=M,U)break a}else c.head&&(c.head.comment=null);c.mode=
9;case 9:if(512&c.flags){for(;16>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A!==(65535&c.check)){d.msg="header crc mismatch";c.mode=30;break}C=A=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0);d.adler=c.check=0;c.mode=12;break;case 10:for(;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}d.adler=c.check=b(A);C=A=0;c.mode=11;case 11:if(0===c.havedict)return d.next_out=l,d.avail_out=D,d.next_in=k,d.avail_in=n,c.hold=A,c.bits=C,2;d.adler=c.check=1;c.mode=12;case 12:if(5===e||6===e)break a;case 13:if(c.last){A>>>=
7&C;C-=7&C;c.mode=27;break}for(;3>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}switch(c.last=1&A,A>>>=1,C-=1,3&A){case 0:c.mode=14;break;case 1:J=c;if(B){S=void 0;p=new s.Buf32(512);r=new s.Buf32(32);for(S=0;144>S;)J.lens[S++]=8;for(;256>S;)J.lens[S++]=9;for(;280>S;)J.lens[S++]=7;for(;288>S;)J.lens[S++]=8;v(1,J.lens,0,288,p,0,J.work,{bits:9});for(S=0;32>S;)J.lens[S++]=5;v(2,J.lens,0,32,r,0,J.work,{bits:5});B=!1}J.lencode=p;J.lenbits=9;J.distcode=r;J.distbits=5;if(c.mode=20,6===e){A>>>=2;C-=2;break a}break;
case 2:c.mode=17;break;case 3:d.msg="invalid block type",c.mode=30}A>>>=2;C-=2;break;case 14:A>>>=7&C;for(C-=7&C;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if((65535&A)!==(A>>>16^65535)){d.msg="invalid stored block lengths";c.mode=30;break}if(c.length=65535&A,A=0,C=0,c.mode=15,6===e)break a;case 15:c.mode=16;case 16:if(M=c.length){if(M>n&&(M=n),M>D&&(M=D),0===M)break a;s.arraySet(g,f,k,M,l);n-=M;k+=M;D-=M;l+=M;c.length-=M;break}c.mode=12;break;case 17:for(;14>C;){if(0===n)break a;n--;A+=f[k++]<<
C;C+=8}if(c.nlen=(31&A)+257,A>>>=5,C-=5,c.ndist=(31&A)+1,A>>>=5,C-=5,c.ncode=(15&A)+4,A>>>=4,C-=4,286<c.nlen||30<c.ndist){d.msg="too many length or distance symbols";c.mode=30;break}c.have=0;c.mode=18;case 18:for(;c.have<c.ncode;){for(;3>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.lens[ga[c.have++]]=7&A;A>>>=3;C-=3}for(;19>c.have;)c.lens[ga[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,aa={bits:c.lenbits},Y=v(0,c.lens,0,19,c.lencode,0,c.work,aa),c.lenbits=aa.bits,Y){d.msg="invalid code lengths set";
c.mode=30;break}c.have=0;c.mode=19;case 19:for(;c.have<c.nlen+c.ndist;){for(;X=c.lencode[A&(1<<c.lenbits)-1],K=X>>>24,S=65535&X,!(K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(16>S)A>>>=K,C-=K,c.lens[c.have++]=S;else{if(16===S){for(J=K+2;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A>>>=K,C-=K,0===c.have){d.msg="invalid bit length repeat";c.mode=30;break}V=c.lens[c.have-1];M=3+(3&A);A>>>=2;C-=2}else if(17===S){for(J=K+3;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=K;C-=K;V=0;M=3+(7&A);
A>>>=3;C-=3}else{for(J=K+7;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=K;C-=K;V=0;M=11+(127&A);A>>>=7;C-=7}if(c.have+M>c.nlen+c.ndist){d.msg="invalid bit length repeat";c.mode=30;break}for(;M--;)c.lens[c.have++]=V}}if(30===c.mode)break;if(0===c.lens[256]){d.msg="invalid code -- missing end-of-block";c.mode=30;break}if(c.lenbits=9,aa={bits:c.lenbits},Y=v(1,c.lens,0,c.nlen,c.lencode,0,c.work,aa),c.lenbits=aa.bits,Y){d.msg="invalid literal/lengths set";c.mode=30;break}if(c.distbits=6,c.distcode=
c.mode=30;break}c.have=0;c.mode=19;case 19:for(;c.have<c.nlen+c.ndist;){for(;X=c.lencode[A&(1<<c.lenbits)-1],K=X>>>24,S=65535&X,!(K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(16>S)A>>>=K,C-=K,c.lens[c.have++]=S;else{if(16===S){for(J=K+2;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A>>>=K,C-=K,0===c.have){d.msg="invalid bit length repeat";c.mode=30;break}U=c.lens[c.have-1];M=3+(3&A);A>>>=2;C-=2}else if(17===S){for(J=K+3;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=K;C-=K;U=0;M=3+(7&A);
A>>>=3;C-=3}else{for(J=K+7;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=K;C-=K;U=0;M=11+(127&A);A>>>=7;C-=7}if(c.have+M>c.nlen+c.ndist){d.msg="invalid bit length repeat";c.mode=30;break}for(;M--;)c.lens[c.have++]=U}}if(30===c.mode)break;if(0===c.lens[256]){d.msg="invalid code -- missing end-of-block";c.mode=30;break}if(c.lenbits=9,aa={bits:c.lenbits},Y=v(1,c.lens,0,c.nlen,c.lencode,0,c.work,aa),c.lenbits=aa.bits,Y){d.msg="invalid literal/lengths set";c.mode=30;break}if(c.distbits=6,c.distcode=
c.distdyn,aa={bits:c.distbits},Y=v(2,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,aa),c.distbits=aa.bits,Y){d.msg="invalid distances set";c.mode=30;break}if(c.mode=20,6===e)break a;case 20:c.mode=21;case 21:if(6<=n&&258<=D){d.next_out=l;d.avail_out=D;d.next_in=k;d.avail_in=n;c.hold=A;c.bits=C;u(d,Q);l=d.next_out;g=d.output;D=d.avail_out;k=d.next_in;f=d.input;n=d.avail_in;A=c.hold;C=c.bits;12===c.mode&&(c.back=-1);break}for(c.back=0;X=c.lencode[A&(1<<c.lenbits)-1],K=X>>>24,J=X>>>16&255,S=65535&X,!(K<=
C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(J&&0===(240&J)){Z=K;ea=J;for(da=S;X=c.lencode[da+((A&(1<<Z+ea)-1)>>Z)],K=X>>>24,J=X>>>16&255,S=65535&X,!(Z+K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=Z;C-=Z;c.back+=Z}if(A>>>=K,C-=K,c.back+=K,c.length=S,0===J){c.mode=26;break}if(32&J){c.back=-1;c.mode=12;break}if(64&J){d.msg="invalid literal/length code";c.mode=30;break}c.extra=15&J;c.mode=22;case 22:if(c.extra){for(J=c.extra;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.length+=A&(1<<c.extra)-
1;A>>>=c.extra;C-=c.extra;c.back+=c.extra}c.was=c.length;c.mode=23;case 23:for(;X=c.distcode[A&(1<<c.distbits)-1],K=X>>>24,J=X>>>16&255,S=65535&X,!(K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(0===(240&J)){Z=K;ea=J;for(da=S;X=c.distcode[da+((A&(1<<Z+ea)-1)>>Z)],K=X>>>24,J=X>>>16&255,S=65535&X,!(Z+K<=C);){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}A>>>=Z;C-=Z;c.back+=Z}if(A>>>=K,C-=K,c.back+=K,64&J){d.msg="invalid distance code";c.mode=30;break}c.offset=S;c.extra=15&J;c.mode=24;case 24:if(c.extra){for(J=
c.extra;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.offset+=A&(1<<c.extra)-1;A>>>=c.extra;C-=c.extra;c.back+=c.extra}if(c.offset>c.dmax){d.msg="invalid distance too far back";c.mode=30;break}c.mode=25;case 25:if(0===D)break a;if(M=Q-D,c.offset>M){if(M=c.offset-M,M>c.whave&&c.sane){d.msg="invalid distance too far back";c.mode=30;break}M>c.wnext?(M-=c.wnext,U=c.wsize-M):U=c.wnext-M;M>c.length&&(M=c.length);J=c.window}else J=g,U=l-c.offset,M=c.length;M>D&&(M=D);D-=M;c.length-=M;do g[l++]=J[U++];while(--M);
c.extra;C<J;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}c.offset+=A&(1<<c.extra)-1;A>>>=c.extra;C-=c.extra;c.back+=c.extra}if(c.offset>c.dmax){d.msg="invalid distance too far back";c.mode=30;break}c.mode=25;case 25:if(0===D)break a;if(M=Q-D,c.offset>M){if(M=c.offset-M,M>c.whave&&c.sane){d.msg="invalid distance too far back";c.mode=30;break}M>c.wnext?(M-=c.wnext,V=c.wsize-M):V=c.wnext-M;M>c.length&&(M=c.length);J=c.window}else J=g,V=l-c.offset,M=c.length;M>D&&(M=D);D-=M;c.length-=M;do g[l++]=J[V++];while(--M);
0===c.length&&(c.mode=21);break;case 26:if(0===D)break a;g[l++]=c.length;D--;c.mode=21;break;case 27:if(c.wrap){for(;32>C;){if(0===n)break a;n--;A|=f[k++]<<C;C+=8}if(Q-=D,d.total_out+=Q,c.total+=Q,Q&&(d.adler=c.check=c.flags?t(c.check,g,Q,l-Q):q(c.check,g,Q,l-Q)),Q=D,(c.flags?A:b(A))!==c.check){d.msg="incorrect data check";c.mode=30;break}C=A=0}c.mode=28;case 28:if(c.wrap&&c.flags){for(;32>C;){if(0===n)break a;n--;A+=f[k++]<<C;C+=8}if(A!==(4294967295&c.total)){d.msg="incorrect length check";c.mode=
30;break}C=A=0}c.mode=29;case 29:Y=1;break a;case 30:Y=-3;break a;case 31:return-4;default:return y}return d.next_out=l,d.avail_out=D,d.next_in=k,d.avail_in=n,c.hold=A,c.bits=C,(c.wsize||Q!==d.avail_out&&30>c.mode&&(27>c.mode||4!==e))&&m(d,d.output,d.next_out,Q-d.avail_out)?(c.mode=31,-4):(O-=d.avail_in,Q-=d.avail_out,d.total_in+=O,d.total_out+=Q,c.total+=Q,c.wrap&&Q&&(d.adler=c.check=c.flags?t(c.check,g,Q,d.next_out-Q):q(c.check,g,Q,d.next_out-Q)),d.data_type=c.bits+(c.last?64:0)+(12===c.mode?128:
0)+(20===c.mode||15===c.mode?256:0),(0===O&&0===Q||4===e)&&Y===z&&(Y=-5),Y)};d.inflateEnd=function(b){if(!b||!b.state)return y;var d=b.state;return d.window&&(d.window=null),b.state=null,z};d.inflateGetHeader=function(b,d){var e;return b&&b.state?(e=b.state,0===(2&e.wrap)?y:(e.head=d,d.done=!1,z)):y};d.inflateSetDictionary=function(b,d){var e,c,f=d.length;return b&&b.state?(e=b.state,0!==e.wrap&&11!==e.mode?y:11===e.mode&&(c=1,c=q(c,d,f,0),c!==e.check)?-3:m(b,d,f,f)?(e.mode=31,-4):(e.havedict=1,z)):
y};d.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(c,f,d){var b=c("../utils/common"),e=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],k=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],l=[16,16,
16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];f.exports=function(d,c,f,r,s,q,t,u){var v,z,y,x,D,A,B,E;x=u.bits;for(var G=0,F=0,I=0,H=0,L=0,N=0,T=0,W=v=0,P=0,C=null,O=0,Q=new b.Buf16(16),N=new b.Buf16(16),M=null,U=0,G=0;15>=G;G++)Q[G]=0;for(F=0;F<r;F++)Q[c[f+F]]++;L=x;for(H=15;1<=H&&0===Q[H];H--);if(L>H&&(L=H),0===H)return s[q++]=20971520,s[q++]=20971520,u.bits=1,0;for(I=1;I<H&&0===Q[I];I++);L<I&&(L=I);for(G=v=1;15>=G;G++)if(v<<=1,v-=Q[G],0>v)return-1;if(0<
v&&(0===d||1!==H))return-1;N[1]=0;for(G=1;15>G;G++)N[G+1]=N[G]+Q[G];for(F=0;F<r;F++)0!==c[f+F]&&(t[N[c[f+F]]++]=F);if(0===d?(C=M=t,D=19):1===d?(C=e,O-=257,M=g,U-=257,D=256):(C=k,M=l,D=-1),P=0,F=0,G=I,x=q,N=L,T=0,y=-1,W=1<<L,r=W-1,1===d&&852<W||2===d&&592<W)return 1;for(var J=0;;){J++;A=G-T;t[F]<D?(B=0,E=t[F]):t[F]>D?(B=M[U+t[F]],E=C[O+t[F]]):(B=96,E=0);v=1<<G-T;I=z=1<<N;do z-=v,s[x+(P>>T)+z]=A<<24|B<<16|E|0;while(0!==z);for(v=1<<G-1;P&v;)v>>=1;if(0!==v?(P&=v-1,P+=v):P=0,F++,0===--Q[G]){if(G===H)break;
16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];f.exports=function(d,c,f,r,s,q,t,u){var v,z,y,x,D,A,B,E;x=u.bits;for(var G=0,F=0,I=0,H=0,L=0,N=0,T=0,W=v=0,P=0,C=null,O=0,Q=new b.Buf16(16),N=new b.Buf16(16),M=null,V=0,G=0;15>=G;G++)Q[G]=0;for(F=0;F<r;F++)Q[c[f+F]]++;L=x;for(H=15;1<=H&&0===Q[H];H--);if(L>H&&(L=H),0===H)return s[q++]=20971520,s[q++]=20971520,u.bits=1,0;for(I=1;I<H&&0===Q[I];I++);L<I&&(L=I);for(G=v=1;15>=G;G++)if(v<<=1,v-=Q[G],0>v)return-1;if(0<
v&&(0===d||1!==H))return-1;N[1]=0;for(G=1;15>G;G++)N[G+1]=N[G]+Q[G];for(F=0;F<r;F++)0!==c[f+F]&&(t[N[c[f+F]]++]=F);if(0===d?(C=M=t,D=19):1===d?(C=e,O-=257,M=g,V-=257,D=256):(C=k,M=l,D=-1),P=0,F=0,G=I,x=q,N=L,T=0,y=-1,W=1<<L,r=W-1,1===d&&852<W||2===d&&592<W)return 1;for(var J=0;;){J++;A=G-T;t[F]<D?(B=0,E=t[F]):t[F]>D?(B=M[V+t[F]],E=C[O+t[F]]):(B=96,E=0);v=1<<G-T;I=z=1<<N;do z-=v,s[x+(P>>T)+z]=A<<24|B<<16|E|0;while(0!==z);for(v=1<<G-1;P&v;)v>>=1;if(0!==v?(P&=v-1,P+=v):P=0,F++,0===--Q[G]){if(G===H)break;
G=c[f+t[F]]}if(G>L&&(P&r)!==y){0===T&&(T=L);x+=I;N=G-T;for(v=1<<N;N+T<H&&(v-=Q[N+T],!(0>=v));)N++,v<<=1;if(W+=1<<N,1===d&&852<W||2===d&&592<W)return 1;y=P&r;s[y]=L<<24|N<<16|x-q|0}}return 0!==P&&(s[x+P]=G-T<<24|4194304),u.bits=L,0}},{"../utils/common":3}],13:[function(c,f,d){f.exports={2:"need dictionary",1:"stream end","0":"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(c,f,d){function b(b){for(var d=
b.length;0<=--d;)b[d]=0}function e(b,d,e,c,f){this.static_tree=b;this.extra_bits=d;this.extra_base=e;this.elems=c;this.max_length=f;this.has_stree=b&&b.length}function g(b,d){this.dyn_tree=b;this.max_code=0;this.stat_desc=d}function k(b,d){b.pending_buf[b.pending++]=255&d;b.pending_buf[b.pending++]=d>>>8&255}function l(b,d,e){b.bi_valid>W-e?(b.bi_buf|=d<<b.bi_valid&65535,k(b,b.bi_buf),b.bi_buf=d>>W-b.bi_valid,b.bi_valid+=e-W):(b.bi_buf|=d<<b.bi_valid&65535,b.bi_valid+=e)}function n(b,d,e){l(b,e[2*
d],e[2*d+1])}function m(b,d){var e=0;do e|=1&b,b>>>=1,e<<=1;while(0<--d);return e>>>1}function p(b,d,e){var c,f=Array(T+1),g=0;for(c=1;c<=T;c++)f[c]=g=g+e[c-1]<<1;for(e=0;e<=d;e++)c=b[2*e+1],0!==c&&(b[2*e]=m(f[c]++,c))}function r(b){var d;for(d=0;d<I;d++)b.dyn_ltree[2*d]=0;for(d=0;d<H;d++)b.dyn_dtree[2*d]=0;for(d=0;d<L;d++)b.bl_tree[2*d]=0;b.dyn_ltree[2*P]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function s(b){8<b.bi_valid?k(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);
b.bi_buf=0;b.bi_valid=0}function q(b,d,e,c){var f=2*d,g=2*e;return b[f]<b[g]||b[f]===b[g]&&c[d]<=c[e]}function t(b,d,e){for(var c=b.heap[e],f=e<<1;f<=b.heap_len&&(f<b.heap_len&&q(d,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(d,c,b.heap[f],b.depth));)b.heap[e]=b.heap[f],e=f,f<<=1;b.heap[e]=c}function u(b,d,e){var c,f,g,k,m=0;if(0!==b.last_lit){do c=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===c?n(b,f,d):(g=da[f],n(b,g+F+1,d),k=M[g],0!==k&&(f-=V[g],l(b,f,
k)),c--,g=256>c?ea[c]:ea[256+(c>>>7)],n(b,g,e),k=U[g],0!==k&&(c-=Y[g],l(b,c,k)));while(m<b.last_lit)}n(b,P,d)}function v(b,d){var e,c,f,g=d.dyn_tree;c=d.stat_desc.static_tree;var k=d.stat_desc.has_stree,l=d.stat_desc.elems,n=-1;b.heap_len=0;b.heap_max=N;for(e=0;e<l;e++)0!==g[2*e]?(b.heap[++b.heap_len]=n=e,b.depth[e]=0):g[2*e+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>n?++n:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,k&&(b.static_len-=c[2*f+1]);d.max_code=n;for(e=b.heap_len>>1;1<=e;e--)t(b,g,e);f=l;
b.bi_buf=0;b.bi_valid=0}function q(b,d,e,c){var f=2*d,g=2*e;return b[f]<b[g]||b[f]===b[g]&&c[d]<=c[e]}function t(b,d,e){for(var c=b.heap[e],f=e<<1;f<=b.heap_len&&(f<b.heap_len&&q(d,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(d,c,b.heap[f],b.depth));)b.heap[e]=b.heap[f],e=f,f<<=1;b.heap[e]=c}function u(b,d,e){var c,f,g,k,m=0;if(0!==b.last_lit){do c=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===c?n(b,f,d):(g=da[f],n(b,g+F+1,d),k=M[g],0!==k&&(f-=U[g],l(b,f,
k)),c--,g=256>c?ea[c]:ea[256+(c>>>7)],n(b,g,e),k=V[g],0!==k&&(c-=Y[g],l(b,c,k)));while(m<b.last_lit)}n(b,P,d)}function v(b,d){var e,c,f,g=d.dyn_tree;c=d.stat_desc.static_tree;var k=d.stat_desc.has_stree,l=d.stat_desc.elems,n=-1;b.heap_len=0;b.heap_max=N;for(e=0;e<l;e++)0!==g[2*e]?(b.heap[++b.heap_len]=n=e,b.depth[e]=0):g[2*e+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>n?++n:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,k&&(b.static_len-=c[2*f+1]);d.max_code=n;for(e=b.heap_len>>1;1<=e;e--)t(b,g,e);f=l;
do e=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),c=b.heap[1],b.heap[--b.heap_max]=e,b.heap[--b.heap_max]=c,g[2*f]=g[2*e]+g[2*c],b.depth[f]=(b.depth[e]>=b.depth[c]?b.depth[e]:b.depth[c])+1,g[2*e+1]=g[2*c+1]=f,b.heap[1]=f++,t(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,u,k=d.dyn_tree,l=d.max_code,q=d.stat_desc.static_tree,v=d.stat_desc.has_stree,z=d.stat_desc.extra_bits,x=d.stat_desc.extra_base,y=d.stat_desc.max_length,r=0;for(c=0;c<=T;c++)b.bl_count[c]=0;k[2*b.heap[b.heap_max]+
1]=0;for(e=b.heap_max+1;e<N;e++)f=b.heap[e],c=k[2*k[2*f+1]+1]+1,c>y&&(c=y,r++),k[2*f+1]=c,f>l||(b.bl_count[c]++,m=0,f>=x&&(m=z[f-x]),u=k[2*f],b.opt_len+=u*(c+m),v&&(b.static_len+=u*(q[2*f+1]+m)));if(0!==r){do{for(c=y-1;0===b.bl_count[c];)c--;b.bl_count[c]--;b.bl_count[c+1]+=2;b.bl_count[y]--;r-=2}while(0<r);for(c=y;0!==c;c--)for(f=b.bl_count[c];0!==f;)m=b.heap[--e],m>l||(k[2*m+1]!==c&&(b.opt_len+=(c-k[2*m+1])*k[2*m],k[2*m+1]=c),f--)}p(g,n,b.bl_count)}function z(b,d,e){var c,f,g=-1,k=d[1],l=0,n=7,
m=4;0===k&&(n=138,m=3);d[2*(e+1)+1]=65535;for(c=0;c<=e;c++)f=k,k=d[2*(c+1)+1],++l<n&&f===k||(l<m?b.bl_tree[2*f]+=l:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*C]++):10>=l?b.bl_tree[2*O]++:b.bl_tree[2*Q]++,l=0,g=f,0===k?(n=138,m=3):f===k?(n=6,m=3):(n=7,m=4))}function y(b,d,e){var c,f,g=-1,k=d[1],m=0,u=7,t=4;0===k&&(u=138,t=3);for(c=0;c<=e;c++)if(f=k,k=d[2*(c+1)+1],!(++m<u&&f===k)){if(m<t){do n(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(n(b,f,b.bl_tree),m--),n(b,C,b.bl_tree),l(b,m-3,2)):10>=m?
(n(b,O,b.bl_tree),l(b,m-3,3)):(n(b,Q,b.bl_tree),l(b,m-11,7));m=0;g=f;0===k?(u=138,t=3):f===k?(u=6,t=3):(u=7,t=4)}}function x(b){var d,e=4093624447;for(d=0;31>=d;d++,e>>>=1)if(1&e&&0!==b.dyn_ltree[2*d])return B;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return E;for(d=32;d<F;d++)if(0!==b.dyn_ltree[2*d])return E;return B}function D(b,d,e,c){l(b,(G<<1)+(c?1:0),3);s(b);k(b,e);k(b,~e);A.arraySet(b.pending_buf,b.window,d,e,b.pending);b.pending+=e}var A=c("../utils/common"),B=0,E=1,
G=0,F=256,I=F+1+29,H=30,L=19,N=2*I+1,T=15,W=16,P=256,C=16,O=17,Q=18,M=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],U=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],J=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S=Array(2*(I+2));b(S);var Z=Array(2*H);b(Z);var ea=Array(512);b(ea);var da=Array(256);b(da);var V=Array(29);b(V);var Y=Array(H);b(Y);var aa,X,R,ga=!1;d._tr_init=function(b){if(!ga){var d,c,f,k=Array(T+1);for(f=
c=0;28>f;f++){V[f]=c;for(d=0;d<1<<M[f];d++)da[c++]=f}da[c-1]=f;for(f=c=0;16>f;f++){Y[f]=c;for(d=0;d<1<<U[f];d++)ea[c++]=f}for(c>>=7;f<H;f++){Y[f]=c<<7;for(d=0;d<1<<U[f]-7;d++)ea[256+c++]=f}for(d=0;d<=T;d++)k[d]=0;for(d=0;143>=d;)S[2*d+1]=8,d++,k[8]++;for(;255>=d;)S[2*d+1]=9,d++,k[9]++;for(;279>=d;)S[2*d+1]=7,d++,k[7]++;for(;287>=d;)S[2*d+1]=8,d++,k[8]++;p(S,I+1,k);for(d=0;d<H;d++)Z[2*d+1]=5,Z[2*d]=m(d,5);aa=new e(S,M,F+1,I,T);X=new e(Z,U,0,H,T);R=new e([],J,0,L,7);ga=!0}b.l_desc=new g(b.dyn_ltree,
m=4;0===k&&(n=138,m=3);d[2*(e+1)+1]=65535;for(c=0;c<=e;c++)f=k,k=d[2*(c+1)+1],++l<n&&f===k||(l<m?b.bl_tree[2*f]+=l:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*C]++):10>=l?b.bl_tree[2*O]++:b.bl_tree[2*Q]++,l=0,g=f,0===k?(n=138,m=3):f===k?(n=6,m=3):(n=7,m=4))}function y(b,d,e){var c,f,g=-1,k=d[1],m=0,t=7,u=4;0===k&&(t=138,u=3);for(c=0;c<=e;c++)if(f=k,k=d[2*(c+1)+1],!(++m<t&&f===k)){if(m<u){do n(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(n(b,f,b.bl_tree),m--),n(b,C,b.bl_tree),l(b,m-3,2)):10>=m?
(n(b,O,b.bl_tree),l(b,m-3,3)):(n(b,Q,b.bl_tree),l(b,m-11,7));m=0;g=f;0===k?(t=138,u=3):f===k?(t=6,u=3):(t=7,u=4)}}function x(b){var d,e=4093624447;for(d=0;31>=d;d++,e>>>=1)if(1&e&&0!==b.dyn_ltree[2*d])return B;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return E;for(d=32;d<F;d++)if(0!==b.dyn_ltree[2*d])return E;return B}function D(b,d,e,c){l(b,(G<<1)+(c?1:0),3);s(b);k(b,e);k(b,~e);A.arraySet(b.pending_buf,b.window,d,e,b.pending);b.pending+=e}var A=c("../utils/common"),B=0,E=1,
G=0,F=256,I=F+1+29,H=30,L=19,N=2*I+1,T=15,W=16,P=256,C=16,O=17,Q=18,M=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],V=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],J=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],S=Array(2*(I+2));b(S);var Z=Array(2*H);b(Z);var ea=Array(512);b(ea);var da=Array(256);b(da);var U=Array(29);b(U);var Y=Array(H);b(Y);var aa,X,R,ga=!1;d._tr_init=function(b){if(!ga){var d,c,f,k=Array(T+1);for(f=
c=0;28>f;f++){U[f]=c;for(d=0;d<1<<M[f];d++)da[c++]=f}da[c-1]=f;for(f=c=0;16>f;f++){Y[f]=c;for(d=0;d<1<<V[f];d++)ea[c++]=f}for(c>>=7;f<H;f++){Y[f]=c<<7;for(d=0;d<1<<V[f]-7;d++)ea[256+c++]=f}for(d=0;d<=T;d++)k[d]=0;for(d=0;143>=d;)S[2*d+1]=8,d++,k[8]++;for(;255>=d;)S[2*d+1]=9,d++,k[9]++;for(;279>=d;)S[2*d+1]=7,d++,k[7]++;for(;287>=d;)S[2*d+1]=8,d++,k[8]++;p(S,I+1,k);for(d=0;d<H;d++)Z[2*d+1]=5,Z[2*d]=m(d,5);aa=new e(S,M,F+1,I,T);X=new e(Z,V,0,H,T);R=new e([],J,0,L,7);ga=!0}b.l_desc=new g(b.dyn_ltree,
aa);b.d_desc=new g(b.dyn_dtree,X);b.bl_desc=new g(b.bl_tree,R);b.bi_buf=0;b.bi_valid=0;r(b)};d._tr_stored_block=D;d._tr_flush_block=function(b,d,e,c){var f,g,k=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=x(b));v(b,b.l_desc);v(b,b.d_desc);z(b,b.dyn_ltree,b.l_desc.max_code);z(b,b.dyn_dtree,b.d_desc.max_code);v(b,b.bl_desc);for(k=L-1;3<=k&&0===b.bl_tree[2*K[k]+1];k--);k=(b.opt_len+=3*(k+1)+14,k);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=e+5;if(e+4<=f&&-1!==d)D(b,d,e,
c);else if(4===b.strategy||g===f)l(b,2+(c?1:0),3),u(b,S,Z);else{l(b,4+(c?1:0),3);d=b.l_desc.max_code+1;e=b.d_desc.max_code+1;k+=1;l(b,d-257,5);l(b,e-1,5);l(b,k-4,4);for(f=0;f<k;f++)l(b,b.bl_tree[2*K[f]+1],3);y(b,b.dyn_ltree,d-1);y(b,b.dyn_dtree,e-1);u(b,b.dyn_ltree,b.dyn_dtree)}r(b);c&&s(b)};d._tr_tally=function(b,d,e){return b.pending_buf[b.d_buf+2*b.last_lit]=d>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&d,b.pending_buf[b.l_buf+b.last_lit]=255&e,b.last_lit++,0===d?b.dyn_ltree[2*e]++:(b.matches++,
d--,b.dyn_ltree[2*(da[e]+F+1)]++,b.dyn_dtree[2*(256>d?ea[d]:ea[256+(d>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){l(b,2,3);n(b,P,S);16===b.bi_valid?(k(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(c,f,d){f.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=
@ -1983,15 +1983,17 @@ Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGx
"/checkmark.gif";Editor.maximizeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAAAAAAAAAAAAAAAADgKxmiAAAABXRSTlMA758vX1Pw3BoAAABJSURBVAjXY8AJQkODGBhUQ0MhbAUGBiYY24CBgRnGFmZgMISwgwwDGRhEhVVBbAVmEQYGRwMmBjIAQi/CTIRd6G5AuA3dzYQBAHj0EFdHkvV4AAAAAElFTkSuQmCC";Editor.zoomOutImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCxxcXEhISFgYGChjTUxAAAAAXRSTlMAQObYZgAAAEdJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITgLJZXFxgbIQ4Qj3CHIT5ggoIe5kgNkM1KSDYKBKqxPkDAPo5BAZBE54hAAAAAElFTkSuQmCC";
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII\x3d";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII\x3d";
Editor.previousImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC";Editor.nextImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg\x3d\x3d";
Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
Editor.zoomInLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABKElEQVQ4y4WT6WKCMBCENwkBwn2oFKvWqr3L+79es4EkQIDOH2d3Pxk2ABiJlB8JCXjqw4LikHVGLHTm3nM3UeVN5690GBBN0GwyV/3kkrUQR+WeKnREeKpzaXWd77CmJiXGfPIEI4V4yQ9TIW/ntlcMBe731Vts9w5TWG8F5j3mQI4hvrKpdGeYA7CX9qAcl650gVJartxRuhyHVghF8idQAIbFLvCLu28BsQEC6aKtCK6Pyb3JT7PmbmtNH8Ny56CotD/2qOs5cJbuffxgXmCib+xddVU5RNOhkvvkhTlFehzVWCOh3++MYElOhfdovaImnRYVmqDdsuhNp1QrBBE6uGC2+3ZNjGdg5B94oD+9uyVgWT79BwAxEBTWdOu3bWBVgsn/N/AHUD9IC01Oe40AAAAASUVORK5CYII\x3d";
Editor.actualSizeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABIUlEQVQ4y4WT2XqDIBCFBxDc9yTWNEnTJN3r+79eGT4BEbXnaubMr8dBBaM450dCQp4LWFAascGIRd48eB4cNYE7f6XjgGiCFs5c+dml6CFN6j1V6IQIlHPpdV/usKcmJcV88gQTRXjLD9Mhb+fWq8YG9/uCmTCFjeeDeY85UGKIUGUuqzN42kv7oCouq9oHamlzVR1lVfpAIu1QVRiW+sAv7r4FpAYIZZVsRXB9TP5Dfpo1d1trCgzz1iiptH/sUbdz4CzN9+mLeXHn3+hdddd4RDegsrvzwZwSs2GLPRJidAqCLTlVwaMPqpYMWjTWBB2WRW86pVkhSKyDK2bdt2tmagZG4sBD/evdLQHLEvQfAOKRoLCmG1FAB6uKmby+gz+REDn7O5+EwQAAAABJRU5ErkJggg\x3d\x3d";
Editor.layersLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAmVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+/v7///+bnZkkAAAAMnRSTlMABPr8ByiD88KsTi/rvJb272mjeUA1CuPe1M/KjVxYHxMP6KZ0S9nYzGRGGRaznpGIbzaGUf0AAAHESURBVDjLbZLZYoIwEEVDgLCjbKIgAlqXqt3m/z+uNwu1rcyDhjl3ktnYL7OY254C0VX3yWFZfzDrOClbbgKxi0YDHjwl4jbnRkXxJS/C1YP3DbBhD1n7Ex4uaAqdVDb3yJ/4J/3nJD2to/ngQz/DfUvzMp4JJ5sSCaF5oXmemgQDfDxzbi+Kq4sU+vNcuAmx94JtyOP2DD4Epz2asWSCz4Z/4fECxyNj9zC9xNLHcdPEO+awDKeSaUu0W4twZQiO2hYVisTR3RCtK/c1X6t4xMEpiGqXqVntEBLolkZZsKY4QtwH6jzq67dEHlJysB1aNOD3XT7n1UkasQN59L4yC2RELMDSeCRtz3yV22Ub3ozIUTknYx8JWqDdQxbUes98cR2kZtUSveF/bAhcedwEWmlxIkpZUy4XOCb6VBjjxHvbwo/1lBAHHi2JCr0NI570QhyHq/DhJoE2lLgyA4RVe6KmZ47O/3b86MCP0HWa73A8/C3SUc5Qc1ajt6fgpXJ+RGpMvDSchepZDOOQRcZVIKcK90x2D7etqtI+56+u6n3sPriO6nfphitR4+O2m3EbM7lh3me1FM1o+LMI887rN+s3/wZdTFlpNVJiOAAAAABJRU5ErkJggg\x3d\x3d";
Editor.closeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAUVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////8IN+deAAAAGnRSTlMAuvAIg/dDM/QlOeuFhj0S5s4vKgzjxJRQNiLSey0AAADNSURBVDjLfZLbEoMgDEQjRRRs1XqX///QNmOHJSnjPkHOGR7IEmeoGtJZstnwjqbRfIsmgEdtPCqe9Ynz7ZSc07rE2QiSc+qv8TvjRXA2PDUm3dpe82iJhOEUfxJJo3aCv+jKmRmH4lcCjCjeh9GWOdL/GZZkXH3PYYDrHBnfc4D/RVZf5sjoC1was+Y6HQxwaUxFvq/a0Pv343VCTxfBSRiB+ab3M3eiQZXmMNBJ3Y8pGRZtYQ7DgHMXJEdPLTaN/qBjzJOBc3nmNcbsA16bMR0oLqf+AAAAAElFTkSuQmCC";
Editor.editLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAgJsrThgAAABcSURBVBjThc6xDcAgDATAd8MQTEPW8TRUmYCGnzLRYyOlIV+dZFtvkICTFGqiJEzAG0/Uje9oL+e5Vu4F5yUYJxxqGKhQZ0eBvmgwYQLQaARKD1hbiPyDR0QOeAC31EyNe5X/kAAAAABJRU5ErkJggg\x3d\x3d";mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;
Editor.editLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAgJsrThgAAABcSURBVBjThc6xDcAgDATAd8MQTEPW8TRUmYCGnzLRYyOlIV+dZFtvkICTFGqiJEzAG0/Uje9oL+e5Vu4F5yUYJxxqGKhQZ0eBvmgwYQLQaARKD1hbiPyDR0QOeAC31EyNe5X/kAAAAABJRU5ErkJggg\x3d\x3d";Editor.previousLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFZJREFUOMvdkskRgDAMA4lDwg2B7b9XOlge/KKvdsa25KFb5XlRvxXC/DNBEv8IFNjBgGdDgXtFgTyhwDXiQAUHCvwa4Uv6mR6UR+1led2mVonvl+tML45qCQNQLIx7AAAAAElFTkSuQmCC";
Editor.nextLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFRJREFUOMvd0skRgCAQBVEFwQ0V7fxzNQP6wI05v6pZ/kyj1b7FNgik2gQzzLcAwiUAigHOTwDHK4A1CmB5BJANJG1hQ9qafYcqFlZP3IFc9eVGrR+iIgkDQRUXIAAAAABJRU5ErkJggg\x3d\x3d";mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;
Editor.prototype.transparentImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7":IMAGE_PATH+"/transparent.gif";Editor.prototype.extendCanvas=!0;Editor.prototype.chromeless=!1;Editor.prototype.cancelFirst=!0;Editor.prototype.enabled=!0;Editor.prototype.filename=null;Editor.prototype.modified=!1;Editor.prototype.autosave=!0;Editor.prototype.initialTopSpacing=0;Editor.prototype.appName=document.title;
Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/?client\x3d1";Editor.prototype.editBlankFallbackUrl=window.location.protocol+"//"+window.location.host+"/?create\x3ddrawdata\x26splash\x3d0";Editor.prototype.init=function(){};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))};
Editor.prototype.editAsNew=function(a,c){var f=null!=c?"\x26title\x3d"+encodeURIComponent(c):"";if("undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)){var d=null,b=mxUtils.bind(this,function(e){"ready"==e.data&&e.source==d&&(d.postMessage(a,"*"),mxEvent.removeListener(window,"message",b))});mxEvent.addListener(window,"message",b);d=window.open(this.editBlankUrl+f)}else window.drawdata=a,window.open(this.editBlankFallbackUrl+f)};
Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/?client\x3d1";Editor.prototype.editBlankFallbackUrl=window.location.protocol+"//"+window.location.host+"/?create\x3ddrawdata\x26splash\x3d0";Editor.prototype.init=function(){};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))};Editor.prototype.getEditBlankUrl=function(a,c){return(c?this.editBlankFallbackUrl:this.editBlankUrl)+a};
Editor.prototype.editAsNew=function(a,c){var f=null!=c?"\x26title\x3d"+encodeURIComponent(c):"";if("undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)){var d=null,b=mxUtils.bind(this,function(e){"ready"==e.data&&e.source==d&&(d.postMessage(a,"*"),mxEvent.removeListener(window,"message",b))});mxEvent.addListener(window,"message",b);d=window.open(this.getEditBlankUrl(f,!1))}else window.drawdata=a,window.open(this.getEditBlankUrl(f,!0))};
Editor.prototype.createGraph=function(a,c){var f=new Graph(null,c,null,null,a);f.transparentBackground=!1;return f};
Editor.prototype.resetGraph=function(){this.graph.gridEnabled=!this.chromeless||"1"==urlParams.grid;this.graph.graphHandler.guidesEnabled=!0;this.graph.setTooltips(!0);this.graph.setConnectable(!0);this.graph.foldingEnabled=!0;this.graph.scrollbars=this.graph.defaultScrollbars;this.graph.pageVisible=this.graph.defaultPageVisible;this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;this.graph.background=this.graph.defaultGraphBackground;this.graph.pageScale=
mxGraph.prototype.pageScale;this.graph.pageFormat=mxGraph.prototype.pageFormat;this.updateGraphComponents();this.graph.view.setScale(1)};
@ -2037,7 +2039,7 @@ d.container.focus();var u=d.fireMouseEvent;d.fireMouseEvent=function(b,a,d){b==m
z="shape edgeStyle curved rounded elbow comic".split(" ");this.setDefaultStyle=function(b){var a=d.view.getState(b);if(null!=a){b=b.clone();b.style="";b=d.getCellStyle(b);var e=[],c=[],f;for(f in a.style)b[f]!=a.style[f]&&(e.push(a.style[f]),c.push(f));f=d.getModel().getStyle(a.cell);for(var g=null!=f?f.split(";"):[],k=0;k<g.length;k++){var l=g[k],n=l.indexOf("\x3d");0<=n&&(f=l.substring(0,n),l=l.substring(n+1),null!=b[f]&&"none"==l&&(e.push(l),c.push(f)))}d.getModel().isEdge(a.cell)?d.currentEdgeStyle=
{}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",c,"values",e,"cells",[a.cell]))}};this.clearDefaultStyle=function(){d.currentEdgeStyle=d.defaultEdgeStyle;d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var y=["fontFamily","fontSize","fontColor"],x="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),D=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),
["strokeColor","strokeWidth"],["fillColor","gradientColor"],y,["align"],["html"]];for(a=0;a<D.length;a++)for(c=0;c<D[a].length;c++)v.push(D[a][c]);for(a=0;a<z.length;a++)v.push(z[a]);var A=function(b,a){d.getModel().beginUpdate();try{if(a)for(var e=d.getModel().isEdge(k),c=e?d.currentEdgeStyle:d.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],f=0;f<e.length;f++){var g=c[e[f]];null!=g&&d.setCellStyles(e[f],g,b)}else for(g=0;g<b.length;g++){for(var k=b[g],l=d.getModel().getStyle(k),n=null!=
l?l.split(";"):[],m=v.slice(),f=0;f<n.length;f++){var u=n[f],t=u.indexOf("\x3d");if(0<=t){var q=u.substring(0,t),p=mxUtils.indexOf(m,q);0<=p&&m.splice(p,1);for(var x=0;x<D.length;x++){var y=D[x];if(0<=mxUtils.indexOf(y,q))for(var r=0;r<y.length;r++){var s=mxUtils.indexOf(m,y[r]);0<=s&&m.splice(s,1)}}}}c=(e=d.getModel().isEdge(k))?d.currentEdgeStyle:d.currentVertexStyle;for(f=0;f<m.length;f++){var q=m[f],A=c[q];if(null!=A&&("shape"!=q||e))(!e||0>mxUtils.indexOf(z,q))&&d.setCellStyles(q,A,[k])}}}finally{d.getModel().endUpdate()}};
l?l.split(";"):[],m=v.slice(),f=0;f<n.length;f++){var t=n[f],u=t.indexOf("\x3d");if(0<=u){var q=t.substring(0,u),p=mxUtils.indexOf(m,q);0<=p&&m.splice(p,1);for(var x=0;x<D.length;x++){var y=D[x];if(0<=mxUtils.indexOf(y,q))for(var r=0;r<y.length;r++){var s=mxUtils.indexOf(m,y[r]);0<=s&&m.splice(s,1)}}}}c=(e=d.getModel().isEdge(k))?d.currentEdgeStyle:d.currentVertexStyle;for(f=0;f<m.length;f++){var q=m[f],A=c[q];if(null!=A&&("shape"!=q||e))(!e||0>mxUtils.indexOf(z,q))&&d.setCellStyles(q,A,[k])}}}finally{d.getModel().endUpdate()}};
d.addListener("cellsInserted",function(b,a){A(a.getProperty("cells"))});d.addListener("textInserted",function(b,a){A(a.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(b,a){var d=[a.getProperty("cell")];a.getProperty("terminalInserted")&&d.push(a.getProperty("terminal"));A(d)});this.addListener("styleChanged",mxUtils.bind(this,function(b,a){var e=a.getProperty("cells"),c=!1,f=!1;if(0<e.length)for(var g=0;g<e.length&&!(c=d.getModel().isVertex(e[g])||c,(f=d.getModel().isEdge(e[g])||
f)&&c);g++);else f=c=!0;for(var e=a.getProperty("keys"),k=a.getProperty("values"),g=0;g<e.length;g++){var l=0<=mxUtils.indexOf(y,e[g]);if("strokeColor"!=e[g]||null!=k[g]&&"none"!=k[g])if(0<=mxUtils.indexOf(z,e[g]))f||0<=mxUtils.indexOf(x,e[g])?null==k[g]?delete d.currentEdgeStyle[e[g]]:d.currentEdgeStyle[e[g]]=k[g]:c&&0<=mxUtils.indexOf(v,e[g])&&(null==k[g]?delete d.currentVertexStyle[e[g]]:d.currentVertexStyle[e[g]]=k[g]);else if(0<=mxUtils.indexOf(v,e[g])){if(c||l)null==k[g]?delete d.currentVertexStyle[e[g]]:
d.currentVertexStyle[e[g]]=k[g];if(f||l||0<=mxUtils.indexOf(x,e[g]))null==k[g]?delete d.currentEdgeStyle[e[g]]:d.currentEdgeStyle[e[g]]=k[g]}}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?
@ -2066,21 +2068,25 @@ a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=a.view.trans
4,0)/b;a.view.scaleAndTranslate(b,k-d.x,g-d.y);a.container.scrollTop=e*b/c;a.container.scrollLeft=f*b/c}});var f=mxUtils.bind(this,function(){c(!1)});mxEvent.addListener(window,"resize",f);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",f)});this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){c(!0)}));this.actions.get("zoomIn").funct=function(b){a.zoomIn();c(!1)};this.actions.get("zoomOut").funct=function(b){a.zoomOut();c(!1)};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="50%";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px");mxUtils.setPrefixedStyle(this.chromelessToolbar.style,
"transition","opacity 600ms ease-in-out");var d=mxUtils.bind(this,function(){var b=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=b?parseInt(b["margin-bottom"]||0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",d);d();var b=0,d=mxUtils.bind(this,function(a,d,e){b++;var c=document.createElement("span");c.style.paddingLeft="8px";c.style.paddingRight="8px";c.style.cursor="pointer";mxEvent.addListener(c,
"click",a);null!=e&&c.setAttribute("title",e);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c);return c});d(mxUtils.bind(this,function(b){this.actions.get("zoomOut").funct();mxEvent.consume(b)}),Editor.zoomOutLargeImage,(mxResources.get("zoomOut")||"Zoom Out")+" (Alt+Mousewheel)");d(mxUtils.bind(this,function(b){this.actions.get("zoomIn").funct();mxEvent.consume(b)}),Editor.zoomInLargeImage,(mxResources.get("zoomIn")||
"Zoom In")+" (Alt+Mousewheel)");d(mxUtils.bind(this,function(b){a.lightbox?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),c(!1)):c(!0);mxEvent.consume(b)}),Editor.actualSizeLargeImage,mxResources.get("fit")||"Fit");var e=null,g=null,k=mxUtils.bind(this,function(b){null!=e&&(window.clearTimeout(e),fadeThead=null);null!=g&&(window.clearTimeout(g),fadeThead2=null);e=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);e=null;g=window.setTimeout(mxUtils.bind(this,
function(){this.chromelessToolbar.style.display="none";g=null}),600)}),b||200)}),l=mxUtils.bind(this,function(b){null!=e&&(window.clearTimeout(e),fadeThead=null);null!=g&&(window.clearTimeout(g),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,b||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=d(mxUtils.bind(this,function(b){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 d=n.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";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=d.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=d.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")||"Layers"),m=a.getModel();m.addListener(mxEvent.CHANGE,function(){n.style.display=
1<m.getChildCount(m.root)?"":"none"})}null!=this.editor.editButtonLink&&d(mxUtils.bind(this,function(b){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml(),null,!0):window.open(this.editor.editButtonLink,"editWindow");mxEvent.consume(b)}),Editor.editLargeImage,mxResources.get("openInNewWindow")||"Open in New Window");a.lightbox&&this.container!=document.body&&d(mxUtils.bind(this,function(b){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(b))}),Editor.closeLargeImage,
(mxResources.get("close")||"Close")+" (Escape)");this.chromelessToolbar.style.display="none";a.container.appendChild(this.chromelessToolbar);this.chromelessToolbar.style.marginLeft=-(24*b+10)+"px";this.addChromelessClickHandler();mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(b){mxEvent.isTouchEvent(b)||(mxEvent.isShiftDown(b)||l(30),k())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(b){mxEvent.consume(b)});
mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(b){mxEvent.isShiftDown(b)?k():l(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(b){mxEvent.isShiftDown(b)?k():l(100);mxEvent.consume(b)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(b){mxEvent.isTouchEvent(b)||l(30)}));var p=a.getTolerance(),r=this;a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,d){this.startX=
d.getGraphX();this.startY=d.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(b,a){},mouseUp:function(b,d){mxEvent.isTouchEvent(d.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<p&&Math.abs(this.scrollTop-a.container.scrollTop)<p&&Math.abs(this.startX-d.getGraphX())<p&&Math.abs(this.startY-d.getGraphY())<p&&(0<parseFloat(r.chromelessToolbar.style.opacity||0)?k():l(30))}})}else if(this.editor.extendCanvas){var s=a.view.validate;
a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var b=this.graph.getPagePadding(),a=this.graph.getPageSize();this.translate.x=b.x-(this.x0||0)*a.width;this.translate.y=b.y-(this.y0||0)*a.height}s.apply(this,arguments)};var q=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),d=this.getPagePadding(),e=this.getPageSize(),c=Math.ceil(2*d.x+b.width*e.width),f=Math.ceil(2*
d.y+b.height*e.height),g=a.minimumGraphSize;if(null==g||g.width!=c||g.height!=f)a.minimumGraphSize=new mxRectangle(0,0,c,f);c=d.x-b.x*e.width;d=d.y-b.y*e.height;!this.autoTranslate&&(this.view.translate.x!=c||this.view.translate.y!=d)?(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=b.y,b=a.view.translate.x,e=a.view.translate.y,a.view.setTranslate(c,d),a.container.scrollLeft+=Math.round((c-b)*a.view.scale),a.container.scrollTop+=Math.round((d-e)*a.view.scale),this.autoTranslate=!1):q.apply(this,
arguments)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var t=null;a.lazyZoom=function(b){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);b?0.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+0.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(20*this.view.scale*this.cumulativeZoomFactor)/20/this.view.scale):0.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=
(this.view.scale-0.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(20*this.view.scale*this.cumulativeZoomFactor)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(0.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){this.zoom(this.cumulativeZoomFactor);null!=c&&c(!1);if(null!=t&&mxUtils.hasScrollbars(a.container)){var b=mxUtils.getOffset(a.container),
d=a.container.offsetHeight/2-t.y+b.y;a.container.scrollLeft-=(a.container.offsetWidth/2-t.x+b.x)*(this.cumulativeZoomFactor-1);a.container.scrollTop-=d*(this.cumulativeZoomFactor-1)}this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),20)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,d){if((mxEvent.isAltDown(b)||mxEvent.isControlDown(b)&&!mxClient.IS_MAC||a.panningHandler.isActive())&&(null==this.dialogs||0==this.dialogs.length))for(var e=mxEvent.getSource(b);null!=e;){if(e==a.container){t=
new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b));a.lazyZoom(d);mxEvent.consume(b);break}e=e.parentNode}}))};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){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"))};
"click",a);null!=e&&c.setAttribute("title",e);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c);return c}),e=d(mxUtils.bind(this,function(b){this.actions.get("previousPage").funct();mxEvent.consume(b)}),Editor.previousLargeImage,mxResources.get("previousPage")||"Previous Page"),g=document.createElement("div");g.style.display="inline-block";g.style.verticalAlign="top";g.style.fontFamily="Helvetica,Arial";g.style.marginTop=
"8px";g.style.color="#ffffff";this.chromelessToolbar.appendChild(g);var k=d(mxUtils.bind(this,function(b){this.actions.get("nextPage").funct();mxEvent.consume(b)}),Editor.nextLargeImage,mxResources.get("nextPage")||"Next Page"),l=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(g.innerHTML="",mxUtils.write(g,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});e.style.paddingLeft="0px";e.style.paddingRight="4px";k.style.paddingLeft=
"4px";k.style.paddingRight="0px";var n=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(k.style.display="",e.style.display="",g.style.display="inline-block"):(k.style.display="none",e.style.display="none",g.style.display="none");l()});this.editor.addListener("resetGraphView",n);this.editor.addListener("pageSelected",l);d(mxUtils.bind(this,function(b){this.actions.get("zoomOut").funct();mxEvent.consume(b)}),Editor.zoomOutLargeImage,(mxResources.get("zoomOut")||
"Zoom Out")+" (Alt+Mousewheel)");d(mxUtils.bind(this,function(b){this.actions.get("zoomIn").funct();mxEvent.consume(b)}),Editor.zoomInLargeImage,(mxResources.get("zoomIn")||"Zoom In")+" (Alt+Mousewheel)");d(mxUtils.bind(this,function(b){a.lightbox?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),c(!1)):c(!0);mxEvent.consume(b)}),Editor.actualSizeLargeImage,mxResources.get("fit")||"Fit");var m=null,p=null,r=mxUtils.bind(this,function(b){null!=m&&(window.clearTimeout(m),fadeThead=null);null!=p&&(window.clearTimeout(p),
fadeThead2=null);m=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);m=null;p=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";p=null}),600)}),b||200)}),s=mxUtils.bind(this,function(b){null!=m&&(window.clearTimeout(m),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,b||30)});if("1"==urlParams.layers){this.layersDialog=
null;var q=d(mxUtils.bind(this,function(b){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 d=q.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=d.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=
d.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")||"Layers"),t=a.getModel();t.addListener(mxEvent.CHANGE,function(){q.style.display=1<t.getChildCount(t.root)?"":"none"})}null!=this.editor.editButtonLink&&d(mxUtils.bind(this,function(b){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml(),null,!0):window.open(this.editor.editButtonLink,"editWindow");mxEvent.consume(b)}),Editor.editLargeImage,mxResources.get("openInNewWindow")||
"Open in New Window");a.lightbox&&this.container!=document.body&&d(mxUtils.bind(this,function(b){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(b))}),Editor.closeLargeImage,(mxResources.get("close")||"Close")+" (Escape)");this.chromelessToolbar.style.display="none";a.container.appendChild(this.chromelessToolbar);this.chromelessToolbar.style.marginLeft=-(24*b+10)+"px";this.addChromelessClickHandler();mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",
mxUtils.bind(this,function(b){mxEvent.isTouchEvent(b)||(mxEvent.isShiftDown(b)||s(30),r())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(b){mxEvent.consume(b)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(b){mxEvent.isShiftDown(b)?r():s(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(b){mxEvent.isShiftDown(b)?r():s(100);mxEvent.consume(b)}));mxEvent.addListener(this.chromelessToolbar,
"mouseleave",mxUtils.bind(this,function(b){mxEvent.isTouchEvent(b)||s(30)}));var u=a.getTolerance(),v=this;a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,d){this.startX=d.getGraphX();this.startY=d.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(b,a){},mouseUp:function(b,d){mxEvent.isTouchEvent(d.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<u&&Math.abs(this.scrollTop-a.container.scrollTop)<
u&&Math.abs(this.startX-d.getGraphX())<u&&Math.abs(this.startY-d.getGraphY())<u&&(0<parseFloat(v.chromelessToolbar.style.opacity||0)?r():s(30))}})}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 b=this.graph.getPagePadding(),a=this.graph.getPageSize();this.translate.x=b.x-(this.x0||0)*a.width;this.translate.y=b.y-(this.y0||0)*a.height}z.apply(this,arguments)};var y=a.sizeDidChange;a.sizeDidChange=
function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),d=this.getPagePadding(),e=this.getPageSize(),c=Math.ceil(2*d.x+b.width*e.width),f=Math.ceil(2*d.y+b.height*e.height),g=a.minimumGraphSize;if(null==g||g.width!=c||g.height!=f)a.minimumGraphSize=new mxRectangle(0,0,c,f);c=d.x-b.x*e.width;d=d.y-b.y*e.height;!this.autoTranslate&&(this.view.translate.x!=c||this.view.translate.y!=d)?(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=b.y,b=a.view.translate.x,
e=a.view.translate.y,a.view.setTranslate(c,d),a.container.scrollLeft+=Math.round((c-b)*a.view.scale),a.container.scrollTop+=Math.round((d-e)*a.view.scale),this.autoTranslate=!1):y.apply(this,arguments)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var x=null;a.lazyZoom=function(b){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);b?0.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+0.01)/this.view.scale:(this.cumulativeZoomFactor*=
this.zoomFactor,this.cumulativeZoomFactor=Math.round(20*this.view.scale*this.cumulativeZoomFactor)/20/this.view.scale):0.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale-0.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(20*this.view.scale*this.cumulativeZoomFactor)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(0.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=
window.setTimeout(mxUtils.bind(this,function(){this.zoom(this.cumulativeZoomFactor);null!=c&&c(!1);if(null!=x&&mxUtils.hasScrollbars(a.container)){var b=mxUtils.getOffset(a.container),d=a.container.offsetHeight/2-x.y+b.y;a.container.scrollLeft-=(a.container.offsetWidth/2-x.x+b.x)*(this.cumulativeZoomFactor-1);a.container.scrollTop-=d*(this.cumulativeZoomFactor-1)}this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),20)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,d){if((mxEvent.isAltDown(b)||
mxEvent.isControlDown(b)&&!mxClient.IS_MAC||a.panningHandler.isActive())&&(null==this.dialogs||0==this.dialogs.length))for(var e=mxEvent.getSource(b);null!=e;){if(e==a.container){x=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b));a.lazyZoom(d);mxEvent.consume(b);break}e=e.parentNode}}))};
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){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(){this.editor.graph.maxFitScale=2;this.editor.graph.fit(20);this.editor.graph.maxFitScale=null};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(){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,f){try{var d=mxUtils.parseXml(a);this.editor.setGraphXml(d.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=f&&(this.editor.setFilename(f),this.updateDocumentTitle())}catch(b){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+b.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange();
@ -2147,10 +2153,9 @@ b.bindAction(90,!0,"redo",!0);return b};
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 c=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<c.length;a++)null!=c[a]&&null!=c[a].parentNode&&c[a].parentNode.removeChild(c[a])};
function Sidebar(a,c){this.editorUi=a;this.container=c;this.palettes={};this.taglist={};this.showTooltips=!0;this.graph=new Graph(document.createElement("div"),null,null,this.editorUi.editor.graph.getStylesheet());this.graph.cellRenderer.antiAlias=!1;this.graph.resetViewOnRootChange=!1;this.graph.foldingEnabled=!1;this.graph.setConnectable(!1);this.graph.gridEnabled=!1;this.graph.autoScroll=!1;this.graph.setTooltips(!1);this.graph.setEnabled(!1);this.graph.container.style.visibility="hidden";this.graph.container.style.position=
"absolute";this.graph.container.style.overflow="hidden";this.graph.container.style.height="1px";this.graph.container.style.width="1px";!mxClient.IS_IE&&!mxClient.IS_IE11&&(this.graph.container.style.display="none");document.body.appendChild(this.graph.container);this.pointerUpHandler=mxUtils.bind(this,function(){this.showTooltips=!0});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler);this.pointerDownHandler=mxUtils.bind(this,function(){this.showTooltips=
!1;this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler);this.pointerMoveHandler=mxUtils.bind(this,function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==this.currentElt)return;a=a.parentNode}this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler);this.pointerOutHandler=mxUtils.bind(this,function(a){null==a.toElement&&null==a.relatedTarget&&this.hideTooltip()});mxEvent.addListener(document,
mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler);mxEvent.addListener(c,"scroll",mxUtils.bind(this,function(){this.showTooltips=!0}));this.init();mxClient.IS_SVG||((new Image).src=IMAGE_PATH+"/tooltip.png")}
function Sidebar(a,c){this.editorUi=a;this.container=c;this.palettes={};this.taglist={};this.showTooltips=!0;this.graph=a.createTemporaryGraph(this.editorUi.editor.graph.getStylesheet());this.graph.cellRenderer.antiAlias=!1;this.graph.foldingEnabled=!1;!mxClient.IS_IE&&!mxClient.IS_IE11&&(this.graph.container.style.display="none");document.body.appendChild(this.graph.container);this.pointerUpHandler=mxUtils.bind(this,function(){this.showTooltips=!0});mxEvent.addListener(document,mxClient.IS_POINTER?
"pointerup":"mouseup",this.pointerUpHandler);this.pointerDownHandler=mxUtils.bind(this,function(){this.showTooltips=!1;this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler);this.pointerMoveHandler=mxUtils.bind(this,function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==this.currentElt)return;a=a.parentNode}this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler);this.pointerOutHandler=
mxUtils.bind(this,function(a){null==a.toElement&&null==a.relatedTarget&&this.hideTooltip()});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler);mxEvent.addListener(c,"scroll",mxUtils.bind(this,function(){this.showTooltips=!0}));this.init();mxClient.IS_SVG||((new Image).src=IMAGE_PATH+"/tooltip.png")}
Sidebar.prototype.init=function(){var a=STENCIL_PATH;this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addStencilPalette("basic",mxResources.get("basic"),a+"/basic.xml",";whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d2");this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d2");this.addUmlPalette(!1);
this.addBpmnPalette(a,!1);this.addStencilPalette("flowchart","Flowchart",a+"/flowchart.xml",";whiteSpace\x3dwrap;html\x3d1;fillColor\x3d#ffffff;strokeColor\x3d#000000;strokeWidth\x3d2");this.addImagePalette("clipart",mxResources.get("clipart"),a+"/clipart/","_128x128.png","Earth_globe Empty_Folder Full_Folder Gear Lock Software Virus Email Database Router_Icon iPad iMac Laptop MacBook Monitor_Tower Printer Server_Tower Workstation Firewall_02 Wireless_Router_N Credit_Card Piggy_Bank Graph Safe Shopping_Cart Suit1 Suit2 Suit3 Pilot1 Worker1 Soldier1 Doctor1 Tech1 Security1 Telesales1".split(" "),
null,{Wireless_Router_N:"wireless router switch wap wifi access point wlan",Router_Icon:"router switch"})};Sidebar.prototype.collapsedImage=!mxClient.IS_SVG?IMAGE_PATH+"/collapsed.gif":"data:image/gif;base64,R0lGODlhDQANAIABAJmZmf///yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNUQyRTJFNjZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNUQyRTJFNzZGNUYxMUU1QjZEOThCNDYxMDQ2MzNCQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFERjc3MEUxNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFERjc3MEUyNkY1RjExRTVCNkQ5OEI0NjEwNDYzM0JCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAQAAAQAsAAAAAA0ADQAAAhSMj6lrwAjcC1GyahV+dcZJgeIIFgA7";
@ -2191,12 +2196,12 @@ Sidebar.prototype.addMiscPalette=function(a){var c=[this.createVertexTemplateEnt
"Table 3"),this.createVertexTemplateEntry("text;html\x3d1;overflow\x3dfill;",160,140,'\x3ctable border\x3d"1" width\x3d"100%" height\x3d"100%" cellpadding\x3d"4" style\x3d"width:100%;height:100%;border-collapse:collapse;"\x3e\x3ctr\x3e\x3cth align\x3d"center"\x3e\x3cb\x3eTitle\x3c/b\x3e\x3c/th\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eSection 1.1\nSection 1.2\nSection 1.3\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3eSection 2.1\nSection 2.2\nSection 2.3\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e',
"Table 4"),this.addEntry("link hyperlink",mxUtils.bind(this,function(){var a=new mxCell("Link",new mxGeometry(0,0,60,40),"text;html\x3d1;whiteSpace\x3dwrap;align\x3dcenter;verticalAlign\x3dmiddle;fontColor\x3d#0000EE;fontStyle\x3d4;");a.vertex=!0;this.graph.setLinkForCell(a,"https://www.draw.io");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Link")})),this.addEntry("timestamp date time text label",mxUtils.bind(this,function(){var a=new mxCell("%date{ddd mmm dd yyyy HH:MM:ss}%",
new mxGeometry(0,0,160,20),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;overflow\x3dhidden;");a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Timestamp")})),this.addEntry("variable placeholder metadata hello world text label",mxUtils.bind(this,function(){var a=new mxCell("%name% Text",new mxGeometry(0,0,80,20),"text;html\x3d1;strokeColor\x3dnone;fillColor\x3dnone;align\x3dcenter;verticalAlign\x3dmiddle;whiteSpace\x3dwrap;overflow\x3dhidden;");
a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");this.graph.setAttributeForCell(a,"name","Variable");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Variable")})),this.createVertexTemplateEntry("shape\x3dumlActor;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;html\x3d1;",30,60,"Actor","Actor",!1,null,"user person human stickman"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;",80,80,"","Square",
null,null,"square"),this.createVertexTemplateEntry("ellipse;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Circle",null,null,"circle"),this.createVertexTemplateEntry("shape\x3dext;double\x3d1;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Double Square",null,null,"double square"),this.createVertexTemplateEntry("ellipse;shape\x3ddoubleEllipse;whiteSpace\x3dwrap;html\x3d1;",80,80,"","Double Circle",null,null,"double circle"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;comic\x3d1;strokeWidth\x3d2;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",
a.vertex=!0;this.graph.setAttributeForCell(a,"placeholders","1");this.graph.setAttributeForCell(a,"name","Variable");return this.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Variable")})),this.createVertexTemplateEntry("shape\x3dumlActor;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;html\x3d1;",30,60,"Actor","Actor",!1,null,"user person human stickman"),this.createVertexTemplateEntry("whiteSpace\x3dwrap;html\x3d1;aspect\x3dfixed;",80,
80,"","Square",null,null,"square"),this.createVertexTemplateEntry("ellipse;whiteSpace\x3dwrap;html\x3d1;aspect\x3dfixed;",80,80,"","Circle",null,null,"circle"),this.createVertexTemplateEntry("shape\x3dext;double\x3d1;whiteSpace\x3dwrap;html\x3d1;aspect\x3dfixed;",80,80,"","Double Square",null,null,"double square"),this.createVertexTemplateEntry("ellipse;shape\x3ddoubleEllipse;whiteSpace\x3dwrap;html\x3d1;aspect\x3dfixed;",80,80,"","Double Circle",null,null,"double circle"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;comic\x3d1;strokeWidth\x3d2;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",
120,60,"RECTANGLE","Comic Rectangle",!0,null,"comic rectangle rect box text retro"),this.createVertexTemplateEntry("rhombus;html\x3d1;align\x3dcenter;whiteSpace\x3dwrap;comic\x3d1;strokeWidth\x3d2;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",100,100,"DIAMOND","Comic Diamond",!0,null,"comic diamond rhombus if condition decision conditional question test retro"),this.createEdgeTemplateEntry("edgeStyle\x3dsegmentEdgeStyle;rounded\x3d0;comic\x3d1;strokeWidth\x3d2;endArrow\x3dblockThin;html\x3d1;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",
50,50,"","Comic Arrow 1"),this.createEdgeTemplateEntry("rounded\x3d0;comic\x3d1;strokeWidth\x3d2;endArrow\x3dblockThin;html\x3d1;fontFamily\x3dComic Sans MS;fontStyle\x3d1;",50,50,"","Comic Arrow 2"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;aspect\x3dfixed;shape\x3disoRectangle;",150,90,"","Isometric Square",!0,null,"rectangle rect box iso isometric"),this.createVertexTemplateEntry("html\x3d1;whiteSpace\x3dwrap;aspect\x3dfixed;shape\x3disoCube;",90,100,"","Isometric Cube",!0,null,
"cube box iso isometric"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;",50,100,"","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;elbow\x3dvertical;",50,100,"","Isometric Edge 2"),this.createVertexTemplateEntry("line;html\x3d1;",160,10,"","Horizontal Line"),this.createVertexTemplateEntry("line;direction\x3dsouth;html\x3d1;",10,160,"","Vertical Line"),this.createVertexTemplateEntry("line;html\x3d1;perimeter\x3dbackbonePerimeter;points\x3d[];outlineConnect\x3d0;",
160,10,"","Horizontal Backbone",!1,null,"network"),this.createVertexTemplateEntry("line;direction\x3dsouth;html\x3d1;perimeter\x3dbackbonePerimeter;points\x3d[];outlineConnect\x3d0;",10,160,"","Vertical Backbone",!1,null,"network"),this.createVertexTemplateEntry("shape\x3dcurlyBracket;whiteSpace\x3dwrap;html\x3d1;rounded\x3d1;",20,120,"","Curly Bracket"),this.createVertexTemplateEntry("shape\x3dimage;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;imageAspect\x3d1;aspect\x3dfixed;image\x3d"+
"cube box iso isometric"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;",50,100,"","Isometric Edge 1"),this.createEdgeTemplateEntry("edgeStyle\x3disometricEdgeStyle;endArrow\x3dnone;html\x3d1;elbow\x3dvertical;",50,100,"","Isometric Edge 2"),this.createVertexTemplateEntry("line;strokeWidth\x3d2;html\x3d1;",160,10,"","Horizontal Line"),this.createVertexTemplateEntry("line;strokeWidth\x3d2;direction\x3dsouth;html\x3d1;",10,160,"","Vertical Line"),this.createVertexTemplateEntry("line;strokeWidth\x3d4;html\x3d1;perimeter\x3dbackbonePerimeter;points\x3d[];outlineConnect\x3d0;",
160,10,"","Horizontal Backbone",!1,null,"network"),this.createVertexTemplateEntry("line;strokeWidth\x3d4;direction\x3dsouth;html\x3d1;perimeter\x3dbackbonePerimeter;points\x3d[];outlineConnect\x3d0;",10,160,"","Vertical Backbone",!1,null,"network"),this.createVertexTemplateEntry("shape\x3dcurlyBracket;whiteSpace\x3dwrap;html\x3d1;rounded\x3d1;",20,120,"","Curly Bracket"),this.createVertexTemplateEntry("shape\x3dimage;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;imageAspect\x3d1;aspect\x3dfixed;image\x3d"+
this.gearImage,52,61,"","Image (Fixed Aspect)",!1,null,"fixed image icon symbol"),this.createVertexTemplateEntry("shape\x3dimage;html\x3d1;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;verticalAlign\x3dtop;imageAspect\x3d0;image\x3d"+this.gearImage,50,60,"","Image (Variable Aspect)",!1,null,"strechted image icon symbol"),this.createVertexTemplateEntry("icon;html\x3d1;image\x3d"+this.gearImage,60,60,"Icon","Icon",!1,null,"icon image symbol"),this.createVertexTemplateEntry("label;whiteSpace\x3dwrap;html\x3d1;image\x3d"+
this.gearImage,140,60,"Label","Label 1",null,null,"label image icon symbol"),this.createVertexTemplateEntry("label;whiteSpace\x3dwrap;html\x3d1;align\x3dcenter;verticalAlign\x3dbottom;spacingLeft\x3d0;spacingBottom\x3d4;imageAlign\x3dcenter;imageVerticalAlign\x3dtop;image\x3d"+this.gearImage,120,80,"Label","Label 2",null,null,"label image icon symbol"),this.createEdgeTemplateEntry("shape\x3dflexArrow;endArrow\x3dclassic;html\x3d1;fillColor\x3d#ffffff;",50,50,"","Arrow"),this.createEdgeTemplateEntry("shape\x3dflexArrow;endArrow\x3dclassic;startArrow\x3dclassic;html\x3d1;fillColor\x3d#ffffff;",
50,50,"","Arrow"),this.createEdgeTemplateEntry("endArrow\x3dnone;html\x3d1;dashed\x3d1;dashPattern\x3d1 4;",50,50,"","Dotted Line"),this.createEdgeTemplateEntry("endArrow\x3dnone;dashed\x3d1;html\x3d1;",50,50,"","Dashed Line"),this.createEdgeTemplateEntry("endArrow\x3dnone;html\x3d1;",50,50,"","Line"),this.createEdgeTemplateEntry("edgeStyle\x3dsegmentEdgeStyle;endArrow\x3dclassic;html\x3d1;",50,50,"","Manual Line"),this.createEdgeTemplateEntry("edgeStyle\x3delbowEdgeStyle;elbow\x3dhorizontal;endArrow\x3dclassic;html\x3d1;",
@ -2557,7 +2562,7 @@ this.changeHandler=null)}}();
b;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=a;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,q.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,q.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,q.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,q.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
this.canvas.curveTo=mxUtils.bind(this,q.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,q.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function u(){mxActor.call(this)}function v(){mxActor.call(this)}function z(){mxRectangleShape.call(this)}function y(){mxRectangleShape.call(this)}function x(){mxCylinder.call(this)}function D(){mxShape.call(this)}function A(){mxShape.call(this)}function B(){mxEllipse.call(this)}function E(){mxShape.call(this)}
function G(){mxShape.call(this)}function F(){mxRectangleShape.call(this)}function I(){mxShape.call(this)}function H(){mxShape.call(this)}function L(){mxShape.call(this)}function N(){mxCylinder.call(this)}function T(){mxDoubleEllipse.call(this)}function W(){mxDoubleEllipse.call(this)}function P(){mxArrowConnector.call(this);this.spacing=0}function C(){mxArrowConnector.call(this);this.spacing=0}function O(){mxActor.call(this)}function Q(){mxRectangleShape.call(this)}function M(){mxActor.call(this)}
function U(){mxActor.call(this)}function J(){mxActor.call(this)}function K(){mxActor.call(this)}function S(){mxActor.call(this)}function Z(){mxActor.call(this)}function ea(){mxActor.call(this)}function da(){mxActor.call(this)}function V(){mxActor.call(this)}function Y(){mxEllipse.call(this)}function aa(){mxEllipse.call(this)}function X(){mxEllipse.call(this)}function R(){mxRhombus.call(this)}function ga(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function $(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}
function V(){mxActor.call(this)}function J(){mxActor.call(this)}function K(){mxActor.call(this)}function S(){mxActor.call(this)}function Z(){mxActor.call(this)}function ea(){mxActor.call(this)}function da(){mxActor.call(this)}function U(){mxActor.call(this)}function Y(){mxEllipse.call(this)}function aa(){mxEllipse.call(this)}function X(){mxEllipse.call(this)}function R(){mxRhombus.call(this)}function ga(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function $(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}
function ia(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function va(b,a,d,c,e,f,g,k,l,n){g+=l;var m=c.clone();c.x-=e*(2*g+l);c.y-=f*(2*g+l);e*=g+l;f*=g+l;return function(){b.ellipse(m.x-e-g,m.y-f-g,2*g,2*g);n?b.fillAndStroke():b.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.max(0,Math.min(c,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(b.moveTo(a,e),b.lineTo(a,a),
b.lineTo(0,0),b.moveTo(a,a),b.lineTo(c,a)):(b.moveTo(0,0),b.lineTo(c-a,0),b.lineTo(c,a),b.lineTo(c,e),b.lineTo(a,e),b.lineTo(0,e-a),b.lineTo(0,0),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.cube=a;var sa=Math.tan(mxUtils.toRadians(30)),na=(0.5-sa)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c,e/sa);b.translate((c-a)/2,(e-a)/2+a/4);b.moveTo(0,0.25*a);b.lineTo(0.5*a,a*na);b.lineTo(a,0.25*a);b.lineTo(0.5*a,(0.5-na)*a);b.lineTo(0,
0.25*a);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.isoRectangle=c;mxUtils.extend(f,mxCylinder);f.prototype.size=20;f.prototype.redrawPath=function(b,a,d,c,e,f){a=Math.min(c,e/(0.5+sa));f?(b.moveTo(0,0.25*a),b.lineTo(0.5*a,(0.5-na)*a),b.lineTo(a,0.25*a),b.moveTo(0.5*a,(0.5-na)*a),b.lineTo(0.5*a,(1-na)*a)):(b.translate((c-a)/2,(e-a)/2),b.moveTo(0,0.25*a),b.lineTo(0.5*a,a*na),b.lineTo(a,0.25*a),b.lineTo(a,0.75*a),b.lineTo(0.5*a,(1-na)*a),b.lineTo(0,0.75*a),b.close());b.end()};mxCellRenderer.prototype.defaultShapes.isoCube=
@ -2606,14 +2611,14 @@ T;mxUtils.extend(W,T);W.prototype.outerStroke=!1;mxCellRenderer.prototype.defaul
mxActor);O.prototype.size=30;O.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,e),new mxPoint(0,a),new mxPoint(c,0),new mxPoint(c,e)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.manualInput=O;mxUtils.extend(Q,mxRectangleShape);Q.prototype.dx=20;Q.prototype.dy=20;Q.prototype.isHtmlAllowed=function(){return!1};
Q.prototype.paintForeground=function(b,a,d,c,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(c*g,e*g));g=Math.max(f,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));b.begin();b.moveTo(a,d+f);b.lineTo(a+c,d+f);b.end();b.stroke();
b.begin();b.moveTo(a+g,d);b.lineTo(a+g,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.internalStorage=Q;mxUtils.extend(M,mxActor);M.prototype.dx=20;M.prototype.dy=20;M.prototype.redrawPath=function(b,a,d,c,e){a=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var f=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,d),new mxPoint(a,d),new mxPoint(a,e),new mxPoint(0,e)],this.isRounded,f,!0);b.end()};mxCellRenderer.prototype.defaultShapes.corner=M;mxUtils.extend(U,mxActor);U.prototype.dx=20;U.prototype.dy=20;U.prototype.redrawPath=function(b,a,d,c,e){a=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,
"dy",this.dy))));Math.abs(c-a);Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,d),new mxPoint((c+a)/2,d),new mxPoint((c+a)/2,e),new mxPoint((c-a)/2,e),new mxPoint((c-a)/2,d),new mxPoint(0,d)],this.isRounded,f,!0);b.end()};mxCellRenderer.prototype.defaultShapes.tee=U;mxUtils.extend(J,mxActor);J.prototype.arrowWidth=
mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,d),new mxPoint(a,d),new mxPoint(a,e),new mxPoint(0,e)],this.isRounded,f,!0);b.end()};mxCellRenderer.prototype.defaultShapes.corner=M;mxUtils.extend(V,mxActor);V.prototype.dx=20;V.prototype.dy=20;V.prototype.redrawPath=function(b,a,d,c,e){a=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,
"dy",this.dy))));Math.abs(c-a);Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,d),new mxPoint((c+a)/2,d),new mxPoint((c+a)/2,e),new mxPoint((c-a)/2,e),new mxPoint((c-a)/2,d),new mxPoint(0,d)],this.isRounded,f,!0);b.end()};mxCellRenderer.prototype.defaultShapes.tee=V;mxUtils.extend(J,mxActor);J.prototype.arrowWidth=
0.3;J.prototype.arrowSize=0.2;J.prototype.redrawPath=function(b,a,d,c,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));d=(e-f)/2;var f=d+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,d),new mxPoint(c-a,d),new mxPoint(c-a,0),new mxPoint(c,e/2),new mxPoint(c-a,e),new mxPoint(c-a,
f),new mxPoint(0,f)],this.isRounded,g,!0);b.end()};mxCellRenderer.prototype.defaultShapes.singleArrow=J;mxUtils.extend(K,mxActor);K.prototype.redrawPath=function(b,a,d,c,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",J.prototype.arrowWidth))));a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",J.prototype.arrowSize))));d=(e-f)/2;var f=d+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,
[new mxPoint(0,e/2),new mxPoint(a,0),new mxPoint(a,d),new mxPoint(c-a,d),new mxPoint(c-a,0),new mxPoint(c,e/2),new mxPoint(c-a,e),new mxPoint(c-a,f),new mxPoint(a,f),new mxPoint(a,e)],this.isRounded,g,!0);b.end()};mxCellRenderer.prototype.defaultShapes.doubleArrow=K;mxUtils.extend(S,mxActor);S.prototype.size=0.1;S.prototype.redrawPath=function(b,a,d,c,e){a=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b.moveTo(a,0);b.lineTo(c,0);b.quadTo(c-2*a,e/2,c,e);b.lineTo(a,
e);b.quadTo(a-2*a,e/2,a,0);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.dataStorage=S;mxUtils.extend(Z,mxActor);Z.prototype.redrawPath=function(b,a,d,c,e){b.moveTo(0,0);b.quadTo(c,0,c,e/2);b.quadTo(c,e,0,e);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.or=Z;mxUtils.extend(ea,mxActor);ea.prototype.redrawPath=function(b,a,d,c,e){b.moveTo(0,0);b.quadTo(c,0,c,e/2);b.quadTo(c,e,0,e);b.quadTo(c/2,e/2,0,0);b.close();b.end()};mxCellRenderer.prototype.defaultShapes.xor=ea;mxUtils.extend(da,
mxActor);da.prototype.size=20;da.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(a,0),new mxPoint(c-a,0),new mxPoint(c,0.8*a),new mxPoint(c,e),new mxPoint(0,e),new mxPoint(0,0.8*a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.loopLimit=da;mxUtils.extend(V,mxActor);V.prototype.size=0.375;
V.prototype.redrawPath=function(b,a,d,c,e){a=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,e-a),new mxPoint(c/2,e),new mxPoint(0,e-a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.offPageConnector=V;mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,
mxActor);da.prototype.size=20;da.prototype.redrawPath=function(b,a,d,c,e){a=Math.min(c/2,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(a,0),new mxPoint(c-a,0),new mxPoint(c,0.8*a),new mxPoint(c,e),new mxPoint(0,e),new mxPoint(0,0.8*a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.loopLimit=da;mxUtils.extend(U,mxActor);U.prototype.size=0.375;
U.prototype.redrawPath=function(b,a,d,c,e){a=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(b,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,e-a),new mxPoint(c/2,e),new mxPoint(0,e-a)],this.isRounded,d,!0);b.end()};mxCellRenderer.prototype.defaultShapes.offPageConnector=U;mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,
arguments);b.begin();b.moveTo(a+c/2,d+e);b.lineTo(a+c,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.tapeData=Y;mxUtils.extend(aa,mxEllipse);aa.prototype.paintVertexShape=function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();b.moveTo(a,d+e/2);b.lineTo(a+c,d+e/2);b.end();b.stroke();b.begin();b.moveTo(a+c/2,d);b.lineTo(a+c/2,d+e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.orEllipse=aa;mxUtils.extend(X,mxEllipse);X.prototype.paintVertexShape=
function(b,a,d,c,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();b.moveTo(a+0.145*c,d+0.145*e);b.lineTo(a+0.855*c,d+0.855*e);b.end();b.stroke();b.begin();b.moveTo(a+0.855*c,d+0.145*e);b.lineTo(a+0.145*c,d+0.855*e);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.sumEllipse=X;mxUtils.extend(R,mxRhombus);R.prototype.paintVertexShape=function(b,a,d,c,e){mxRhombus.prototype.paintVertexShape.apply(this,arguments);b.setShadow(!1);b.begin();b.moveTo(a,d+
e/2);b.lineTo(a+c,d+e/2);b.end();b.stroke()};mxCellRenderer.prototype.defaultShapes.sortShape=R;mxUtils.extend(ga,mxEllipse);ga.prototype.paintVertexShape=function(b,a,d,c,e){b.begin();b.moveTo(a,d);b.lineTo(a+c,d);b.lineTo(a+c/2,d+e/2);b.close();b.fillAndStroke();b.begin();b.moveTo(a,d+e);b.lineTo(a+c,d+e);b.lineTo(a+c/2,d+e/2);b.close();b.fillAndStroke()};mxCellRenderer.prototype.defaultShapes.collate=ga;mxUtils.extend(ca,mxEllipse);ca.prototype.paintVertexShape=function(b,a,d,c,e){var f=d+e-5;
@ -2649,10 +2654,10 @@ b.getCenterX()-a.x)/d))))})]},note:function(a){return[ha(a,["size"],function(a){
"size",O.prototype.size)));return new mxPoint(b.x+b.width/4,b.y+3*a/4)},function(b,a){this.state.style.size=Math.round(Math.max(0,Math.min(b.height,4*(a.y-b.y)/3)))})];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a},dataStorage:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",S.prototype.size))));return new mxPoint(b.x+(1-a)*b.width,b.getCenterY())},function(b,a){this.state.style.size=Math.max(0,
Math.min(1,(b.x+b.width-a.x)/b.width))})]},internalStorage:function(b){var a=[ha(b,["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",Q.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",Q.prototype.dy)));return new mxPoint(b.x+a,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,Math.min(b.width,a.x-b.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})];mxUtils.getValue(b.style,
mxConstants.STYLE_ROUNDED,!1)&&a.push(ma(b));return a},corner:function(b){return[ha(b,["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",M.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",M.prototype.dy)));return new mxPoint(b.x+a,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,Math.min(b.width,a.x-b.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},tee:function(b){return[ha(b,
["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",U.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",U.prototype.dy)));return new mxPoint(b.x+(b.width+a)/2,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,2*Math.min(b.width/2,a.x-b.x-b.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},singleArrow:xa(1),doubleArrow:xa(0.5),folder:function(b){return[ha(b,["tabWidth",
["dx","dy"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"dx",V.prototype.dx))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"dy",V.prototype.dy)));return new mxPoint(b.x+(b.width+a)/2,b.y+d)},function(b,a){this.state.style.dx=Math.round(Math.max(0,2*Math.min(b.width/2,a.x-b.x-b.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},singleArrow:xa(1),doubleArrow:xa(0.5),folder:function(b){return[ha(b,["tabWidth",
"tabHeight"],function(b){var a=Math.max(0,Math.min(b.width,mxUtils.getValue(this.state.style,"tabWidth",g.prototype.tabWidth))),d=Math.max(0,Math.min(b.height,mxUtils.getValue(this.state.style,"tabHeight",g.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(a=b.width-a);return new mxPoint(b.x+a,b.y+d)},function(b,a){var d=Math.max(0,Math.min(b.width,a.x-b.x));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==
mxConstants.ALIGN_RIGHT&&(d=b.width-d);this.state.style.tabWidth=Math.round(d);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(b.height,a.y-b.y)))})]},document:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",n.prototype.size))));return new mxPoint(b.x+3*b.width/4,b.y+(1-a)*b.height)},function(b,a){this.state.style.size=Math.max(0,Math.min(1,(b.y+b.height-a.y)/b.height))})]},tape:function(b){return[ha(b,["size"],
function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(b.getCenterX(),b.y+a*b.height/2)},function(b,a){this.state.style.size=Math.max(0,Math.min(1,2*((a.y-b.y)/b.height)))})]},offPageConnector:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",V.prototype.size))));return new mxPoint(b.getCenterX(),b.y+(1-a)*b.height)},function(b,a){this.state.style.size=
function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(b.getCenterX(),b.y+a*b.height/2)},function(b,a){this.state.style.size=Math.max(0,Math.min(1,2*((a.y-b.y)/b.height)))})]},offPageConnector:function(b){return[ha(b,["size"],function(b){var a=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.prototype.size))));return new mxPoint(b.getCenterX(),b.y+(1-a)*b.height)},function(b,a){this.state.style.size=
Math.max(0,Math.min(1,(b.y+b.height-a.y)/b.height))})]},step:pa(u.prototype.size,!0),hexagon:pa(v.prototype.size,!0,0.5),curlyBracket:pa(r.prototype.size,!1),display:pa(ka.prototype.size,!1),cube:ta(1,a.prototype.size,!1),card:ta(0.5,k.prototype.size,!0),loopLimit:ta(0.5,da.prototype.size,!0),trapezoid:ja(0.5),parallelogram:ja(1)};Graph.createHandle=ha;Graph.handleFactory=ua;mxVertexHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var b=
ua[this.state.style.shape];if(null!=b)return b(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var b=ua[this.state.style.shape];if(null!=b)return b(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var qa=new mxPoint(1,0),ra=new mxPoint(1,0),ja=mxUtils.toRadians(-30),la=Math.cos(ja),ja=Math.sin(ja),qa=mxUtils.getRotatedPoint(qa,la,ja),ja=mxUtils.toRadians(-150),la=Math.cos(ja),ja=Math.sin(ja),
ra=mxUtils.getRotatedPoint(ra,la,ja);mxEdgeStyle.IsometricConnector=function(b,a,d,c,e){var f=b.view;c=null!=c&&0<c.length?c[0]:null;var g=b.absolutePoints,k=g[0],g=g[g.length-1];null!=c&&(c=f.transformControlPoint(b,c));null==k&&null!=a&&(k=new mxPoint(a.getCenterX(),a.getCenterY()));null==g&&null!=d&&(g=new mxPoint(d.getCenterX(),d.getCenterY()));var l=qa.x,n=qa.y,m=ra.x,t=ra.y,u="horizontal"==mxUtils.getValue(b.style,"elbow","horizontal");if(null!=g&&null!=k){var q=k;b=function(b,a,d){b-=q.x;var c=
@ -2661,7 +2666,7 @@ new mxElbowEdgeHandler(b);d.snapToTerminals=!1;return d}return Da.apply(this,arg
0.25),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0),new mxConnectionConstraint(new mxPoint(0.25,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.75,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(0.5,
0),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.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;b.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=
mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;Q.prototype.constraints=mxRectangleShape.prototype.constraints;S.prototype.constraints=mxRectangleShape.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints;aa.prototype.constraints=mxEllipse.prototype.constraints;X.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;
O.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints;da.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.15,0.05),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.85,0.05),
O.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints;da.prototype.constraints=mxRectangleShape.prototype.constraints;U.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.15,0.05),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.85,0.05),
!1),new mxConnectionConstraint(new mxPoint(0,0.3),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0,0.7),!0),new mxConnectionConstraint(new mxPoint(1,0.3),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.7),!0),new mxConnectionConstraint(new mxPoint(0.15,0.95),!1),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.85,0.95),!1)];D.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,
0.1),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!1),new mxConnectionConstraint(new mxPoint(0.75,0.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(0.5,0.5),!1)];N.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.75,
0),!0),new mxConnectionConstraint(new mxPoint(0,0.3),!0),new mxConnectionConstraint(new mxPoint(0,0.7),!0),new mxConnectionConstraint(new mxPoint(1,0.25),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0),new mxConnectionConstraint(new mxPoint(0.25,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.25,
@ -2674,7 +2679,7 @@ new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new
0.25),!1),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.5),!0),new mxConnectionConstraint(new mxPoint(0.875,0.75),!1),new mxConnectionConstraint(new mxPoint(0.375,1),!0),new mxConnectionConstraint(new mxPoint(0.5,1),!0),new mxConnectionConstraint(new mxPoint(0.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0.25),!1),new mxConnectionConstraint(new mxPoint(0.4,0.1),!1),new mxConnectionConstraint(new mxPoint(0.16,
0.55),!1),new mxConnectionConstraint(new mxPoint(0.07,0.4),!1),new mxConnectionConstraint(new mxPoint(0.31,0.8),!1),new mxConnectionConstraint(new mxPoint(0.13,0.77),!1),new mxConnectionConstraint(new mxPoint(0.8,0.8),!1),new mxConnectionConstraint(new mxPoint(0.55,0.95),!1),new mxConnectionConstraint(new mxPoint(0.875,0.5),!1),new mxConnectionConstraint(new mxPoint(0.96,0.7),!1),new mxConnectionConstraint(new mxPoint(0.625,0.2),!1),new mxConnectionConstraint(new mxPoint(0.88,0.25),!1)];m.prototype.constraints=
mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;n.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.25,0),!0),new mxConnectionConstraint(new mxPoint(0.5,0),!0),new mxConnectionConstraint(new mxPoint(0.75,0),!0),new mxConnectionConstraint(new mxPoint(0,0.25),!0),new mxConnectionConstraint(new mxPoint(0,0.5),!0),new mxConnectionConstraint(new mxPoint(0,0.75),!0),new mxConnectionConstraint(new mxPoint(1,0.25),!0),new mxConnectionConstraint(new mxPoint(1,
0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0)];mxArrow.prototype.constraints=null;U.prototype.constraints=null;M.prototype.constraints=null;J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,
0.5),!0),new mxConnectionConstraint(new mxPoint(1,0.75),!0)];mxArrow.prototype.constraints=null;V.prototype.constraints=null;M.prototype.constraints=null;J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(1,
0.5),!1),new mxConnectionConstraint(new mxPoint(0.5,0),!1),new mxConnectionConstraint(new mxPoint(0.5,1),!1)];F.prototype.constraints=null;Z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0.25),!1),new mxConnectionConstraint(new mxPoint(0,0.5),!1),new mxConnectionConstraint(new mxPoint(0,0.75),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1),new mxConnectionConstraint(new mxPoint(0.7,0.1),!1),new mxConnectionConstraint(new mxPoint(0.7,0.9),!1)];ea.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0.175,
0.25),!1),new mxConnectionConstraint(new mxPoint(0.25,0.5),!1),new mxConnectionConstraint(new mxPoint(0.175,0.75),!1),new mxConnectionConstraint(new mxPoint(1,0.5),!1),new mxConnectionConstraint(new mxPoint(0.7,0.1),!1),new mxConnectionConstraint(new mxPoint(0.7,0.9),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()}
Actions.prototype.init=function(){function a(b){d.escape();var a=d.getDeletableCells(d.getSelectionCells());if(null!=a&&0<a.length){var c=d.model.getParents(a);d.removeCells(a,b);if(null!=c){b=[];for(a=0;a<c.length;a++)(d.model.isVertex(c[a])||d.model.isEdge(c[a]))&&b.push(c[a]);d.setSelectionCells(b)}}}var c=this.editorUi,f=c.editor,d=f.graph,b=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...",function(){window.open(c.getUrl())});this.addAction("open...",
@ -2699,7 +2704,7 @@ b&&0<b.length&&d.setCellStyles(mxConstants.STYLE_ROTATION,b)},mxResources.get("e
null,"Ctrl+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var b=d.pageFormat,a=d.pageScale,b=Math.floor(20*Math.min((d.container.clientWidth-10)/b.width/a,(d.container.clientHeight-10)/b.height/a))/20;d.zoomTo(b);mxUtils.hasScrollbars(d.container)&&(b=d.getPagePadding(),d.container.scrollTop=b.y*d.view.scale,d.container.scrollLeft=Math.min(b.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,"Ctrl+J");this.addAction("fitTwoPages",
mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var b=d.pageFormat,a=d.pageScale,b=Math.floor(20*Math.min((d.container.clientWidth-10)/(2*b.width)/a,(d.container.clientHeight-10)/b.height/a))/20;d.zoomTo(b);mxUtils.hasScrollbars(d.container)&&(b=d.getPagePadding(),d.container.scrollTop=Math.min(b.y,(d.container.scrollHeight-d.container.clientHeight)/2),d.container.scrollLeft=Math.min(b.x,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,"Ctrl+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 b=d.getPagePadding();d.container.scrollLeft=Math.min(b.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var b=new FilenameDialog(this.editorUi,parseInt(100*d.getView().getScale()),
mxResources.get("apply"),mxUtils.bind(this,function(b){b=parseInt(b);!isNaN(b)&&0<b&&d.zoomTo(b/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(b.container,300,80,!0,!0);b.init()}),null,null,"Ctrl+0"));this.addAction("pageScale",mxUtils.bind(this,function(){var b=new FilenameDialog(this.editorUi,parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(b){b=parseInt(b);!isNaN(b)&&0<b&&c.setPageScale(b/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(b.container,
mxResources.get("apply"),mxUtils.bind(this,function(b){b=parseInt(b);!isNaN(b)&&0<b&&d.zoomTo(b/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(b.container,300,80,!0,!0);b.init()}),null,null,"Ctrl+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var b=new FilenameDialog(this.editorUi,parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(b){b=parseInt(b);!isNaN(b)&&0<b&&c.setPageScale(b/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(b.container,
300,80,!0,!0);b.init()}));var e=null,e=this.addAction("grid",function(){d.setGridEnabled(!d.isGridEnabled());c.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,"Ctrl+Shift+G");e.setToggleAction(!0);e.setSelectedCallback(function(){return d.isGridEnabled()});e.setEnabled(!1);e=this.addAction("guides",function(){d.graphHandler.guidesEnabled=!d.graphHandler.guidesEnabled;c.fireEvent(new mxEventObject("guidesEnabledChanged"))});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.graphHandler.guidesEnabled});
e.setEnabled(!1);e=this.addAction("tooltips",function(){d.tooltipHandler.setEnabled(!d.tooltipHandler.isEnabled())});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.tooltipHandler.isEnabled()});e=this.addAction("collapseExpand",function(){c.setFoldingEnabled(!d.foldingEnabled)});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.foldingEnabled});e.isEnabled=b;e=this.addAction("scrollbars",function(){c.setScrollbars(!c.hasScrollbars())});e.setToggleAction(!0);e.setSelectedCallback(function(){return d.scrollbars});
e=this.addAction("pageView",mxUtils.bind(this,function(){var b=mxUtils.hasScrollbars(d.container),a=0,e=0;b&&(a=d.view.translate.x*d.view.scale-d.container.scrollLeft,e=d.view.translate.y*d.view.scale-d.container.scrollTop);d.pageVisible=!d.pageVisible;d.pageBreaksVisible=d.pageVisible;d.preferPageSize=d.pageBreaksVisible;d.view.validateBackground();if(b){var f=d.getSelectionCells();d.clearSelection();d.setSelectionCells(f)}d.sizeDidChange();b&&(d.container.scrollLeft=d.view.translate.x*d.view.scale-
@ -2865,12 +2870,12 @@ mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[
mxResources.get(L[t]));N.appendChild(W)}I.appendChild(N);d.isEditing()||(a.appendChild(p),mxEvent.addListener(F,"change",function(b){d.getModel().beginUpdate();try{var a=H[F.value];null!=a&&(d.setCellStyles(mxConstants.STYLE_LABEL_POSITION,a[0],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,a[1],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_ALIGN,a[2],d.getSelectionCells()),d.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,a[3],d.getSelectionCells()))}finally{d.getModel().endUpdate()}mxEvent.consume(b)}),
a.appendChild(I),mxEvent.addListener(N,"change",function(b){d.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,T[N.value],d.getSelectionCells());mxEvent.consume(b)}));var P=document.createElement("input");P.style.textAlign="right";P.style.marginTop="4px";mxClient.IS_QUIRKS||(P.style.position="absolute",P.style.right="32px");P.style.width="46px";P.style.height=mxClient.IS_QUIRKS?"21px":"17px";k.appendChild(P);var C=null,p=this.installInputHandler(P,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,
1,999," pt",function(b){C=b;document.execCommand("fontSize",!1,"4");b=d.cellEditor.textarea.getElementsByTagName("font");for(var a=0;a<b.length;a++)if("4"==b[a].getAttribute("size")){b[a].removeAttribute("size");b[a].style.fontSize=C+"px";window.setTimeout(function(){P.value=C+" pt";C=null},0);break}},!0),p=this.createStepper(P,p,1,10,!0,Menus.prototype.defaultFontSize);p.style.display=P.style.display;p.style.marginTop="4px";mxClient.IS_QUIRKS||(p.style.right="20px");k.appendChild(p);k=l.getElementsByTagName("div")[0];
k.style.cssFloat="right";var O=null,Q="#ffffff",M=null,U="#000000",J=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return Q},function(b){document.execCommand("backcolor",!1,b!=mxConstants.NONE?b:"transparent")},"#ffffff",{install:function(b){O=b},destroy:function(){O=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff");J.style.fontWeight="bold";var K=this.createCellColorOption(mxResources.get("borderColor"),
mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");K.style.fontWeight="bold";k=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return U},function(b){document.execCommand("forecolor",!1,b!=mxConstants.NONE?b:"transparent")},"#000000",{install:function(b){M=b},destroy:function(){M=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(b){J.style.display=null==b||b==mxConstants.NONE?"none":"";K.style.display=
k.style.cssFloat="right";var O=null,Q="#ffffff",M=null,V="#000000",J=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return Q},function(b){document.execCommand("backcolor",!1,b!=mxConstants.NONE?b:"transparent")},"#ffffff",{install:function(b){O=b},destroy:function(){O=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff");J.style.fontWeight="bold";var K=this.createCellColorOption(mxResources.get("borderColor"),
mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");K.style.fontWeight="bold";k=d.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return V},function(b){document.execCommand("forecolor",!1,b!=mxConstants.NONE?b:"transparent")},"#000000",{install:function(b){M=b},destroy:function(){M=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(b){J.style.display=null==b||b==mxConstants.NONE?"none":"";K.style.display=
J.style.display},function(b){null==b||b==mxConstants.NONE?d.setCellStyles(mxConstants.STYLE_NOLABEL,"1",d.getSelectionCells()):d.setCellStyles(mxConstants.STYLE_NOLABEL,null,d.getSelectionCells())});k.style.fontWeight="bold";g.appendChild(k);g.appendChild(J);d.cellEditor.isContentEditing()||g.appendChild(K);a.appendChild(g);g=this.createPanel();g.style.paddingTop="2px";g.style.paddingBottom="4px";k=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",
null,null,!0);k.style.fontWeight="bold";!b.containsLabel&&!b.autoSize&&0==b.edges.length&&g.appendChild(k);k=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,f.actions.get("formattedText"));k.style.fontWeight="bold";g.appendChild(k);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="28px";k.style.fontWeight="normal";p=document.createElement("div");p.style.position="absolute";p.style.width="70px";p.style.marginTop="0px";p.style.fontWeight="bold";mxUtils.write(p,
mxResources.get("spacing"));k.appendChild(p);var S,Z,ea,da,V,Y=this.addUnitInput(k,"pt",91,44,function(){S.apply(this,arguments)}),aa=this.addUnitInput(k,"pt",20,44,function(){Z.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("top"),91);this.addLabel(k,mxResources.get("global"),20);mxUtils.br(k);mxUtils.br(k);var X=this.addUnitInput(k,"pt",162,44,function(){ea.apply(this,arguments)}),R=this.addUnitInput(k,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(k,
"pt",20,44,function(){V.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("left"),162);this.addLabel(k,mxResources.get("bottom"),91);this.addLabel(k,mxResources.get("right"),20);if(d.cellEditor.isContentEditing()){var ca=null,$=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(b){var a=""==b.value?120:parseInt(b.value),a=Math.max(120,isNaN(a)?120:a);null!=ca&&(d.cellEditor.restoreSelection(ca),ca=null);for(var c=d.getSelectedElement();null!=
mxResources.get("spacing"));k.appendChild(p);var S,Z,ea,da,U,Y=this.addUnitInput(k,"pt",91,44,function(){S.apply(this,arguments)}),aa=this.addUnitInput(k,"pt",20,44,function(){Z.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("top"),91);this.addLabel(k,mxResources.get("global"),20);mxUtils.br(k);mxUtils.br(k);var X=this.addUnitInput(k,"pt",162,44,function(){ea.apply(this,arguments)}),R=this.addUnitInput(k,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(k,
"pt",20,44,function(){U.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("left"),162);this.addLabel(k,mxResources.get("bottom"),91);this.addLabel(k,mxResources.get("right"),20);if(d.cellEditor.isContentEditing()){var ca=null,$=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(b){var a=""==b.value?120:parseInt(b.value),a=Math.max(120,isNaN(a)?120:a);null!=ca&&(d.cellEditor.restoreSelection(ca),ca=null);for(var c=d.getSelectedElement();null!=
c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;null!=c&&c==d.cellEditor.textarea&&null!=d.cellEditor.textarea.firstChild&&("FONT"!=d.cellEditor.textarea.firstChild.nodeName&&(d.cellEditor.textarea.innerHTML="\x3cfont\x3e"+d.cellEditor.textarea.innerHTML+"\x3c/font\x3e"),c=d.cellEditor.textarea.firstChild);null!=c&&c!=d.cellEditor.textarea&&(c.style.lineHeight=a+"%");b.value=a+" %"},function(b){$=b;mxEvent.addListener(b,"mousedown",function(){ca=d.cellEditor.saveSelection()});mxEvent.addListener(b,
"touchstart",function(){ca=d.cellEditor.saveSelection()});b.value="120 %"}));g=e.cloneNode(!1);g.style.paddingLeft="0px";k=this.editorUi.toolbar.addItems(["link","image"],g,!0);p=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1,null)},g),this.editorUi.toolbar.addMenuFunctionInContainer(g,"geSprite-table",mxResources.get("table"),!1,mxUtils.bind(this,function(b){this.editorUi.menus.addInsertTableItem(b)}))];
this.styleButtons(k);this.styleButtons(p);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("insert")));k.appendChild(g);a.appendChild(k);mxClient.IS_QUIRKS&&(k.style.height="70");k=e.cloneNode(!1);k.style.paddingLeft="0px";p=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"),function(){try{null!=B&&d.selectNode(d.insertColumn(B,null!=E?E.cellIndex:0))}catch(b){alert(b)}},k),
@ -2885,12 +2890,12 @@ mxConstants.FONT_ITALIC);c(n[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT
c(r,a==mxConstants.ALIGN_LEFT);c(s,a==mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(u,a==mxConstants.ALIGN_TOP);c(v,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(b.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);d=mxUtils.getValue(b.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);F.value=a==mxConstants.ALIGN_LEFT&&d==mxConstants.ALIGN_TOP?
"topLeft":a==mxConstants.ALIGN_CENTER&&d==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&d==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&d==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&d==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&d==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(b.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);
a==mxConstants.TEXT_DIRECTION_RTL?N.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?N.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(N.value="automatic");if(e||document.activeElement!=aa)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING,2)),aa.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=Y)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_TOP,0)),Y.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(b.style,
mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=R)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_BOTTOM,0)),R.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=X)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_LEFT,0)),X.value=isNaN(a)?"":a+" pt"});Z=this.installInputHandler(aa,mxConstants.STYLE_SPACING,2,-999,999," pt");S=this.installInputHandler(Y,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");V=this.installInputHandler(ga,
mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=R)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_BOTTOM,0)),R.value=isNaN(a)?"":a+" pt";if(e||document.activeElement!=X)a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_SPACING_LEFT,0)),X.value=isNaN(a)?"":a+" pt"});Z=this.installInputHandler(aa,mxConstants.STYLE_SPACING,2,-999,999," pt");S=this.installInputHandler(Y,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");U=this.installInputHandler(ga,
mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");da=this.installInputHandler(R,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ea=this.installInputHandler(X,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(P,fa);this.addKeyHandler(aa,fa);this.addKeyHandler(Y,fa);this.addKeyHandler(ga,fa);this.addKeyHandler(R,fa);this.addKeyHandler(X,fa);d.getModel().addListener(mxEvent.CHANGE,fa);this.listeners.push({destroy:function(){d.getModel().removeListener(fa)}});fa();if(d.cellEditor.isContentEditing()){var ia=
!1,e=function(){ia||(ia=!0,window.setTimeout(function(){for(var b=d.getSelectedElement();null!=b&&b.nodeType!=mxConstants.NODETYPE_ELEMENT;)b=b.parentNode;if(null!=b){var a=mxUtils.getCurrentStyle(b);if(null!=a){c(n[0],"bold"==a.fontWeight||null!=d.getParentByName(b,"B",d.cellEditor.textarea));c(n[1],"italic"==a.fontStyle||null!=d.getParentByName(b,"I",d.cellEditor.textarea));c(n[2],null!=d.getParentByName(b,"U",d.cellEditor.textarea));c(r,"left"==a.textAlign);c(s,"center"==a.textAlign);c(q,"right"==
a.textAlign);c(D,"justify"==a.textAlign);c(x,null!=d.getParentByName(b,"SUP",d.cellEditor.textarea));c(y,null!=d.getParentByName(b,"SUB",d.cellEditor.textarea));B=d.getParentByName(b,"TABLE",d.cellEditor.textarea);G=null==B?null:d.getParentByName(b,"TR",B);E=null==B?null:d.getParentByName(b,"TD",B);A.style.display=null!=B?"":"none";if(document.activeElement!=P){"FONT"==b.nodeName&&"4"==b.getAttribute("size")&&null!=C?(b.removeAttribute("size"),b.style.fontSize=C+"px",C=null):P.value=parseFloat(a.fontSize)+
" pt";var b=b.style.lineHeight||a.lineHeight,e=parseFloat(b);"px"==b.substring(b.length-2)&&(e/=parseFloat(a.fontSize));"%"!=b.substring(b.length-1)&&(e*=100);$.value=e+" %"}b=a.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,c){return"#"+("0"+Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});e=a.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(b,a,d,c){return"#"+("0"+
Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});null!=M&&(U="#"==b.charAt(0)?b:"#000000",M(U,!0));null!=O&&(Q="#"==e.charAt(0)?e:null,O(Q,!0));null!=l.firstChild&&(a=a.fontFamily,"'"==a.charAt(0)&&(a=a.substring(1)),"'"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),l.firstChild.nodeValue=a)}}ia=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",e);mxEvent.addListener(d.cellEditor.textarea,"touchend",e);mxEvent.addListener(d.cellEditor.textarea,
Number(a).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)});null!=M&&(V="#"==b.charAt(0)?b:"#000000",M(V,!0));null!=O&&(Q="#"==e.charAt(0)?e:null,O(Q,!0));null!=l.firstChild&&(a=a.fontFamily,"'"==a.charAt(0)&&(a=a.substring(1)),"'"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),l.firstChild.nodeValue=a)}}ia=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",e);mxEvent.addListener(d.cellEditor.textarea,"touchend",e);mxEvent.addListener(d.cellEditor.textarea,
"mouseup",e);mxEvent.addListener(d.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}});e()}return a};StyleFormatPanel=function(a,c,f){BaseFormatPanel.call(this,a,c,f);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);
StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();(!a.containsImage||"image"==a.style.shape)&&this.container.appendChild(this.addFill(this.createPanel()));this.container.appendChild(this.addStroke(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))};
@ -3166,8 +3171,8 @@ r[b]?this.addEipMessagingSystemsPalette():"System Management"==r[b]&&this.addEip
"Bottom Sheets"==s[b]?this.addGMDLBottomSheetsPalette():"Buttons"==s[b]?this.addGMDLButtonsPalette():"Cards"==s[b]?this.addGMDLCardsPalette():"Chips"==s[b]?this.addGMDLChipsPalette():"Dialogs"==s[b]?this.addGMDLDialogsPalette():"Dividers"==s[b]?this.addGMDLDividersPalette():"Grid Lists"==s[b]?this.addGMDLGridListsPalette():"Icons"==s[b]?this.addGMDLIconsPalette():"Lists"==s[b]?this.addGMDLListsPalette():"Menus"==s[b]?this.addGMDLMenusPalette():"Misc"==s[b]?this.addGMDLMiscPalette():"Pickers"==s[b]?
this.addGMDLPickersPalette():"Selection Controls"==s[b]?this.addGMDLSelectionControlsPalette():"Sliders"==s[b]?this.addGMDLSlidersPalette():"Steppers"==s[b]?this.addGMDLSteppersPalette():"Tabs"==s[b]?this.addGMDLTabsPalette():"Text Fields"==s[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.showEntries()};if("1"==urlParams.createindex){var f=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,
d,c,n,m,p,r){f.apply(this,arguments);p=null!=p?p:1;mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(b,a,d,e,f){if(null==n||0>mxUtils.indexOf(n,a))d=null!=r?r[a]:null,mxLog.debug('\x3cshape style\x3d"shape\x3d'+b+a+c+'" w\x3d"'+Math.round(e*p)+'" h\x3d"'+Math.round(f*p)+'"'+(null!=d?' tags\x3d"'+d+'"':"")+"/\x3e")}),!0)}}var d=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(b,a,c,f,n){var m=f;this.editorUi.enableLogging&&!this.editorUi.isOffline()&&0==c&&((new Image).src=
"log?severity\x3dCONFIG\x26msg\x3dshapesearch:"+encodeURIComponent(b)+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION));f=mxUtils.bind(this,function(d,f,l,n){!this.editorUi.isOffline()&&d.length<=a/4?(l=c-Math.ceil((f-a/4)/a),mxUtils.get(ICONSEARCH_PATH+"?q\x3d"+encodeURIComponent(b)+"\x26l\x3d1\x26p\x3d"+l+"\x26c\x3d"+a,mxUtils.bind(this,function(b){b=b.getXml().getElementsByTagName("icon");for(var e=0;e<b.length;e++){var f=parseInt(mxUtils.getTextContent(b[e].getElementsByTagName("size")[0])),l=
mxUtils.getTextContent(b[e].getElementsByTagName("image")[0]);null!=f&&null!=l&&mxUtils.bind(this,function(b,a){d.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape\x3dimage;html\x3d1;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;imageAspect\x3d0;aspect\x3dfixed;image\x3d"+a,b,b,"")}))})(f,l)}m(d,(c-1)*a+d.length,b.length==a,n)},function(){m(d,f,!1,n)}))):m(d,f,l||!this.editorUi.isOffline(),n)});d.apply(this,arguments)};var b=Sidebar.prototype.itemClicked;
"https://log.draw.io/log?severity\x3dCONFIG\x26msg\x3dshapesearch:"+encodeURIComponent(b)+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION));f=mxUtils.bind(this,function(d,f,l,n){!this.editorUi.isOffline()&&d.length<=a/4?(l=c-Math.ceil((f-a/4)/a),mxUtils.get(ICONSEARCH_PATH+"?q\x3d"+encodeURIComponent(b)+"\x26l\x3d1\x26p\x3d"+l+"\x26c\x3d"+a,mxUtils.bind(this,function(b){b=b.getXml().getElementsByTagName("icon");for(var e=0;e<b.length;e++){var f=parseInt(mxUtils.getTextContent(b[e].getElementsByTagName("size")[0])),
l=mxUtils.getTextContent(b[e].getElementsByTagName("image")[0]);null!=f&&null!=l&&mxUtils.bind(this,function(b,a){d.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape\x3dimage;html\x3d1;verticalAlign\x3dtop;verticalLabelPosition\x3dbottom;labelBackgroundColor\x3d#ffffff;imageAspect\x3d0;aspect\x3dfixed;image\x3d"+a,b,b,"")}))})(f,l)}m(d,(c-1)*a+d.length,b.length==a,n)},function(){m(d,f,!1,n)}))):m(d,f,l||!this.editorUi.isOffline(),n)});d.apply(this,arguments)};var b=Sidebar.prototype.itemClicked;
Sidebar.prototype.itemClicked=function(a,d,c){var f=this.editorUi.editor.graph,n=!1;if(null!=a&&1==f.getSelectionCount()&&f.getModel().isVertex(a[0])){var m=f.cloneCells(a)[0];if(f.getModel().isEdge(f.getSelectionCell())&&null==f.getModel().getTerminal(f.getSelectionCell(),!1)&&f.getModel().isVertex(m)){f.getModel().beginUpdate();try{var p=f.view.getState(f.getSelectionCell());if(null!=p){var r=f.view.translate,s=f.view.scale,q=p.absolutePoints[p.absolutePoints.length-1];m.geometry.x=q.x/s-r.x-m.geometry.width/
2;m.geometry.y=q.y/s-r.y-m.geometry.height/2}f.addCell(m);f.getModel().setTerminal(f.getSelectionCell(),m,!1)}finally{f.getModel().endUpdate()}f.scrollCellToVisible(m);f.setSelectionCell(m);n=!0}}n||b.apply(this,arguments)}})();
(function(){var a=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var c=a.apply(this,arguments),f=this,d=new mxCell("Vertical Flow Layout",new mxGeometry(0,0,270,280),"swimlane;html\x3d1;startSize\x3d20;horizontal\x3d1;childLayout\x3dflowLayout;flowOrientation\x3dnorth;resizable\x3d0;interRankCellSpacing\x3d50;");d.vertex=!0;var b=new mxCell("Start",new mxGeometry(20,20,100,40),"whiteSpace\x3dwrap;html\x3d1;");b.vertex=!0;d.insert(b);var e=new mxCell("Task",
@ -3925,7 +3930,7 @@ I.vertex=!0;var H=new mxCell("",new mxGeometry(420,563,14,14),"html\x3d1;shadow\
583,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");N.vertex=!0;var T=new mxCell("Documents",new mxGeometry(440,583,70,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#EFAC43;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");T.vertex=!0;var W=new mxCell("",new mxGeometry(420,603,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");
W.vertex=!0;var P=new mxCell("Media",new mxGeometry(440,603,40,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");P.vertex=!0;var C=new mxCell("",new mxGeometry(420,623,14,14),"shape\x3dellipse;dashed\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;html\x3d1;");C.vertex=!0;var O=new mxCell("Text",new mxGeometry(440,623,30,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d3;strokeColor\x3dnone;fillColor\x3d#999999;fontColor\x3d#ffffff;fontStyle\x3d1;fontSize\x3d10;whiteSpace\x3dwrap;");
O.vertex=!0;var Q=new mxCell("Save Template",new mxGeometry(0,680,150,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#3D8BCD;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");Q.vertex=!0;var M=new mxCell("Cancel",new mxGeometry(170,680,100,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;fillColor\x3d#ffffff;align\x3dcenter;rSize\x3d5;strokeColor\x3d#dddddd;fontSize\x3d16;whiteSpace\x3dwrap;");
M.vertex=!0;var U=new mxCell("Delete Template",new mxGeometry(630,680,170,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");U.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,n,m,p,r,s,q,t,u,v,z,y,x,D,A,B,E,G,F,I,H,L,N,T,W,P,C,O,Q,M,U],800,720,"Edit Template")}),this.addEntry("bootstrap business contact",function(){var c=new mxCell("",new mxGeometry(0,
M.vertex=!0;var V=new mxCell("Delete Template",new mxGeometry(630,680,170,40),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;align\x3dcenter;rSize\x3d5;strokeColor\x3dnone;fillColor\x3d#DB524C;fontColor\x3d#ffffff;fontSize\x3d16;whiteSpace\x3dwrap;");V.vertex=!0;return a.createVertexTemplateFromCells([c,d,b,e,g,k,l,n,m,p,r,s,q,t,u,v,z,y,x,D,A,B,E,G,F,I,H,L,N,T,W,P,C,O,Q,M,V],800,720,"Edit Template")}),this.addEntry("bootstrap business contact",function(){var c=new mxCell("",new mxGeometry(0,
0,800,50),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.horLines;strokeColor\x3d#dddddd;fillColor\x3d#fdfdfd;");c.vertex=!0;var d=new mxCell("2 fields selected",new mxGeometry(0,0.5,14,14),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.checkbox;strokeColor\x3d#dddddd;fillColor\x3dnone;align\x3dleft;labelPosition\x3dright;spacingLeft\x3d10;fontStyle\x3d1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(13,-7);d.vertex=!0;c.insert(d);d=new mxCell("Mark as OK",new mxGeometry(0,
0.5,90,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(150,-15);d.vertex=!0;c.insert(d);d=new mxCell("Mark as Violation",new mxGeometry(0,0.5,120,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(250,
-15);d.vertex=!0;c.insert(d);d=new mxCell("Mark all as OK",new mxGeometry(1,0.5,100,30),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rrect;rSize\x3d5;strokeColor\x3d#dddddd;;fillColor\x3d#ffffff;whiteSpace\x3dwrap;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(-110,-15);d.vertex=!0;c.insert(d);d=new mxCell("Phone",new mxGeometry(40,70,100,20),"html\x3d1;shadow\x3d0;dashed\x3d0;shape\x3dmxgraph.bootstrap.rect;strokeColor\x3dnone;fillColor\x3dnone;fontColor\x3d#999999;align\x3dleft;spacingLeft\x3d5;whiteSpace\x3dwrap;");
@ -5809,7 +5814,7 @@ new mxCell("2",new mxGeometry(0,60,20,20),c+"graphics.anchor;fontColor\x3d#66666
80,20,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("Task 3",new mxGeometry(20,80,40,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014 8:00 AM",new mxGeometry(60,80,130,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("40h",new mxGeometry(190,80,50,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("4",new mxGeometry(0,100,20,20),c+"graphics.anchor;fontColor\x3d#666666;");
d.vertex=!0;a.insert(d);d=new mxCell("Task 4",new mxGeometry(20,100,40,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("20//10//2014 8:00 AM",new mxGeometry(60,100,130,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("40h",new mxGeometry(190,100,50,20),c+"graphics.anchor;fontColor\x3d#666666;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(250,45,130,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");
d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(250,65,40,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(280,85,100,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");d.vertex=!0;a.insert(d);d=new mxCell("",new mxGeometry(340,105,70,10),c+"graphics.rrect;rSize\x3d0;strokeColor\x3dnone;fillColor\x3d#aaddff;");d.vertex=!0;a.insert(d);return b.createVertexTemplateFromCells([a],a.geometry.width,
a.geometry.height,"Gantt Chart")}),this.createVertexTemplateEntry(a+"misc.map;",250,250,"","Map",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","map","mockup graphics ").join(" "))];this.addPalette("mockupGraphics","Mockup Graphics",!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addMockupMarkupPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+
a.geometry.height,"Gantt Chart")}),this.createVertexTemplateEntry(a+"misc.map;",250,250,"","Map",null,null,this.getTagsForStencil("mxgraph.mockup.graphics","map","mockup graphics ").join(" "))];this.addPalette("mockupGraphics","Mockup Graphics",!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addMockupMarkupPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+
"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",f=mxConstants.STYLE_STROKECOLOR+"\x3dnone;";this.addPaletteFunctions("mockupMarkup","Mockup Markup",!1,[this.createVertexTemplateEntry(a+"markup.curlyBrace;"+c,100,20,"","Horizontal Curly Brace",null,null,this.getTagsForStencil("mxgraph.mockup.markup","curlyBrace","horizontal").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_LABEL_POSITION+"\x3dright;"+mxConstants.STYLE_ALIGN+
"\x3dleft;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.markup.curlyBrace;html\x3d1;shadow\x3d0;dashed\x3d0;"+c+mxConstants.STYLE_DIRECTION+"\x3d"+mxConstants.DIRECTION_NORTH+";",20,100,"","Vertical Curly Brace",null,null,this.getTagsForStencil("mxgraph.mockup.markup","curlyBrace","vertical").join(" ")),this.createVertexTemplateEntry(a+"markup.line;"+c,100,20,"","Horizontal Line",null,null,this.getTagsForStencil("mxgraph.mockup.markup","line","horizontal").join(" ")),this.createVertexTemplateEntry(a+
"markup.line;"+c+mxConstants.STYLE_DIRECTION+"\x3d"+mxConstants.DIRECTION_NORTH+";",20,100,"","Vertical Line",null,null,this.getTagsForStencil("mxgraph.mockup.markup","line","vertical").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.markup.scratchOut;shadow\x3d0;dashed\x3d0;html\x3d1;"+c+"strokeWidth\x3d4;",200,100,"","Scratch Out",null,null,this.getTagsForStencil("mxgraph.mockup.markup","scratchOut","scratch out").join(" ")),this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE+
@ -5823,17 +5828,17 @@ this.createVertexTemplateEntry(g+"misc.trashcanIcon;",50,50,"","Trashcan Icon",n
"mockup registered icon").join(" ")),this.createVertexTemplateEntry(g+"misc.volumeIcon;",25,25,"","Volume",null,null,this.getTagsForStencil("mxgraph.mockup.misc","volumeIcon","mockup volume icon").join(" ")),this.createVertexTemplateEntry(c+"misc.ruler2;dx\x3d100;rulerOrient\x3ddown;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d10;spacingTop\x3d0;spacingRight\x3d0;spacing\x3d0;"+d,350,30,"1","Horizontal Ruler",null,
null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.createVertexTemplateEntry(c+"misc.ruler2;dx\x3d100;rulerOrient\x3dup;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingTop\x3d10;spacingRight\x3d0;spacing\x3d0;"+d,350,30,"1","Horizontal Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.createVertexTemplateEntry(c+
"misc.ruler2;dx\x3d100;rulerOrient\x3ddown;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d10;spacingTop\x3d0;spacingRight\x3d0;rotation\x3d-90;spacing\x3d0;"+d,350,30,"1","Vertical Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.createVertexTemplateEntry(c+"misc.ruler2;dx\x3d100;rulerOrient\x3dup;unitSize\x3d10;fillColor\x3d#ffffff;fontColor\x3d#999999;spacingLeft\x3d96;align\x3dleft;verticalAlign\x3dmiddle;spacingBottom\x3d0;spacingTop\x3d10;spacingRight\x3d0;rotation\x3d-90;spacing\x3d0;"+
d,350,30,"1","Vertical Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.addEntry("mockup revision table",function(){var b=new mxCell("",new mxGeometry(0,0,400,75),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;");b.vertex=!0;var a=new mxCell("REVISION HISTORY",new mxGeometry(0,0,400,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("REV",new mxGeometry(0,25,50,25),
c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("DATE",new mxGeometry(50,25,150,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("DESCRIPTION",new mxGeometry(200,25,200,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("A",new mxGeometry(0,50,50,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");
a.vertex=!0;b.insert(a);a=new mxCell("10/23/2014",new mxGeometry(50,50,150,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);a=new mxCell("Design modified",new mxGeometry(200,50,200,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");a.vertex=!0;b.insert(a);return e.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Revision Table")}),this.addEntry("mockup status bar",function(){var b=
new mxCell("",new mxGeometry(0,0,500,30),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;");b.vertex=!0;var a=new mxCell("Status text",new mxGeometry(5,5,195,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");a.vertex=!0;b.insert(a);a=new mxCell("Text 2",new mxGeometry(205,5,100,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");
a.vertex=!0;b.insert(a);a=new mxCell("Text 3",new mxGeometry(310,5,115,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");a.vertex=!0;b.insert(a);a=new mxCell("",new mxGeometry(495,15,0,0),c+"misc.anchor;");a.vertex=!0;b.insert(a);var d=new mxCell("",new mxGeometry(-20,-10,20,20),"shape\x3dellipse;fillColor\x3dnone;strokeColor\x3d#008cff;resizable\x3d0;html\x3d1;");d.vertex=!0;a.insert(d);a=new mxCell("",new mxGeometry(465,
15,0,0),c+"misc.anchor;");a.vertex=!0;b.insert(a);d=new mxCell("",new mxGeometry(-20,5,20,10),"shape\x3dline;strokeColor\x3d#008cff;resizable\x3d0;");d.vertex=!0;a.insert(d);return e.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Status Bar")}),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#00dd00;fillColor3\x3d#004400;strokeColor\x3d#006600;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+
d,350,30,"1","Vertical Ruler",null,null,this.getTagsForStencil("mxgraph.mockup.misc","ruler","mockup horizontal").join(" ")),this.addEntry("mockup revision table",function(){var a=new mxCell("",new mxGeometry(0,0,400,75),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;");a.vertex=!0;var b=new mxCell("REVISION HISTORY",new mxGeometry(0,0,400,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");b.vertex=!0;a.insert(b);b=new mxCell("REV",new mxGeometry(0,25,50,25),
c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");b.vertex=!0;a.insert(b);b=new mxCell("DATE",new mxGeometry(50,25,150,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");b.vertex=!0;a.insert(b);b=new mxCell("DESCRIPTION",new mxGeometry(200,25,200,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");b.vertex=!0;a.insert(b);b=new mxCell("A",new mxGeometry(0,50,50,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");
b.vertex=!0;a.insert(b);b=new mxCell("10/23/2014",new mxGeometry(50,50,150,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");b.vertex=!0;a.insert(b);b=new mxCell("Design modified",new mxGeometry(200,50,200,25),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#666666;fontSize\x3d17;fontColor\x3d#999999;");b.vertex=!0;a.insert(b);return e.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Revision Table")}),this.addEntry("mockup status bar",function(){var a=
new mxCell("",new mxGeometry(0,0,500,30),c+"misc.rrect;rSize\x3d0;strokeColor\x3d#999999;fillColor\x3d#ffffff;");a.vertex=!0;var b=new mxCell("Status text",new mxGeometry(5,5,195,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");b.vertex=!0;a.insert(b);b=new mxCell("Text 2",new mxGeometry(205,5,100,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");
b.vertex=!0;a.insert(b);b=new mxCell("Text 3",new mxGeometry(310,5,115,20),c+"misc.rrect;rSize\x3d5;strokeColor\x3dnone;fontSize\x3d15;fontColor\x3d#999999;fillColor\x3d#ddeeff;align\x3dleft;spacingLeft\x3d5;");b.vertex=!0;a.insert(b);b=new mxCell("",new mxGeometry(495,15,0,0),c+"misc.anchor;");b.vertex=!0;a.insert(b);var d=new mxCell("",new mxGeometry(-20,-10,20,20),"shape\x3dellipse;fillColor\x3dnone;strokeColor\x3d#008cff;resizable\x3d0;html\x3d1;");d.vertex=!0;b.insert(d);b=new mxCell("",new mxGeometry(465,
15,0,0),c+"misc.anchor;");b.vertex=!0;a.insert(b);d=new mxCell("",new mxGeometry(-20,5,20,10),"shape\x3dline;strokeColor\x3d#008cff;resizable\x3d0;");d.vertex=!0;b.insert(d);return e.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Status Bar")}),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#00dd00;fillColor3\x3d#004400;strokeColor\x3d#006600;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+
"misc.pin;fillColor2\x3d#dd0000;fillColor3\x3d#440000;strokeColor\x3d#660000;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#ccccff;fillColor3\x3d#0000ff;strokeColor\x3d#000066;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#ffff00;fillColor3\x3d#888800;strokeColor\x3d#999900;",10,
25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" ")),this.createVertexTemplateEntry(f+"misc.pin;fillColor2\x3d#ffa500;fillColor3\x3d#885000;strokeColor\x3d#997000;",10,25,"","Pin",null,null,this.getTagsForStencil("mxgraph.mockup.misc","pin","mockup ").join(" "))];this.addPalette("mockupMisc","Mockup Misc",!1,mxUtils.bind(this,function(a){for(var b=0;b<k.length;b++)a.appendChild(k[b](a))}))};Sidebar.prototype.addMockupNavigationPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+
"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",d=this,b=[this.addEntry("mockup navigation status bar",function(){var a=new mxCell("Layer 1",new mxGeometry(0,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");
a.vertex=!0;var b=new mxCell("\x3e",new mxGeometry(60,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");b.vertex=!0;var f=new mxCell("Layer 2",new mxGeometry(80,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");f.vertex=!0;var l=new mxCell("\x3e",new mxGeometry(140,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");l.vertex=!0;var n=new mxCell("Layer 3",new mxGeometry(160,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");
n.vertex=!0;var m=new mxCell("\x3e",new mxGeometry(220,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");m.vertex=!0;var p=new mxCell("Layer 4",new mxGeometry(240,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#008cff;fontStyle\x3d1;");p.vertex=!0;return d.createVertexTemplateFromCells([a,b,f,l,n,m,p],300,30,"Status Bar")}),this.createVertexTemplateEntry(c+"navigation.stepBar;strokeColor\x3d#c4c4c4;textColor\x3d#666666;textColor2\x3d#008cff;mainText\x3d,,+,;textSize\x3d17;fillColor\x3d#666666;overflow\x3dfill;fontSize\x3d17;fontColor\x3d#666666;",
"\x3dbottom;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_VERTICAL_ALIGN+"\x3dtop;strokeWidth\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",c=mxConstants.STYLE_STROKEWIDTH+"\x3d1;shadow\x3d0;dashed\x3d0;align\x3dcenter;html\x3d1;"+mxConstants.STYLE_SHAPE+"\x3dmxgraph.mockup.",f=mxConstants.STYLE_STROKECOLOR+"\x3d#999999;",d=this,b=[this.addEntry("mockup navigation status bar",function(){var b=new mxCell("Layer 1",new mxGeometry(0,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");
b.vertex=!0;var a=new mxCell("\x3e",new mxGeometry(60,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");a.vertex=!0;var f=new mxCell("Layer 2",new mxGeometry(80,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");f.vertex=!0;var l=new mxCell("\x3e",new mxGeometry(140,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");l.vertex=!0;var n=new mxCell("Layer 3",new mxGeometry(160,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#666666;fontStyle\x3d1;");
n.vertex=!0;var m=new mxCell("\x3e",new mxGeometry(220,0,20,30),c+"navigation.anchor;fontSize\x3d24;fontColor\x3d#aaaaaa;fontStyle\x3d1;");m.vertex=!0;var p=new mxCell("Layer 4",new mxGeometry(240,0,60,30),c+"navigation.anchor;fontSize\x3d17;fontColor\x3d#008cff;fontStyle\x3d1;");p.vertex=!0;return d.createVertexTemplateFromCells([b,a,f,l,n,m,p],300,30,"Status Bar")}),this.createVertexTemplateEntry(c+"navigation.stepBar;strokeColor\x3d#c4c4c4;textColor\x3d#666666;textColor2\x3d#008cff;mainText\x3d,,+,;textSize\x3d17;fillColor\x3d#666666;overflow\x3dfill;fontSize\x3d17;fontColor\x3d#666666;",
300,50,'\x3ctable border\x3d"0" cellpadding\x3d"0" cellspacing\x3d"0" width\x3d"100%" height\x3d"100%" style\x3d"font-size:1em;"\x3e\x3ctr height\x3d"0%"\x3e\x3ctd width\x3d"25%"\x3eLayer 1\x3c/td\x3e\x3ctd width\x3d"25%"\x3eLayer 2\x3c/td\x3e\x3ctd width\x3d"25%" style\x3d"color:#008cff;"\x3eLayer 3\x3c/td\x3e\x3ctd width\x3d"25%"\x3eLayer 4\x3c/td\x3e\x3c/tr\x3e\x3ctr height\x3d"100%"\x3e\x3ctd/\x3e\x3c/tr\x3e\x3c/table\x3e',"Step Bar",null,null,this.getTagsForStencil("mxgraph.mockup.navigation",
"stepBar","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.coverFlow;strokeColor\x3d#999999;fillColor\x3d#ffffff;",400,200,"","Cover Flow",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","coverFlow","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.scrollBar;fillColor\x3d#ffffff;"+f+"barPos\x3d20;fillColor2\x3d#99ddff;strokeColor2\x3dnone;",200,20,"","Horizontal Scroll Bar",null,null,this.getTagsForStencil("mxgraph.mockup.navigation",
"scrollBar","mockup navigation ").join(" ")),this.createVertexTemplateEntry(a+"navigation.scrollBar;fillColor\x3d#ffffff;"+f+"barPos\x3d20;fillColor2\x3d#99ddff;strokeColor2\x3dnone;direction\x3dnorth;",20,200,"","Vertical Scroll Bar",null,null,this.getTagsForStencil("mxgraph.mockup.navigation","scrollBar","mockup navigation ").join(" ")),this.createVertexTemplateEntry(c+"navigation.pagination;linkText\x3d;fontSize\x3d17;fontColor\x3d#0000ff;fontStyle\x3d4;",350,30,"\x3c\x3c Prev 1 2 3 4 5 6 7 8 9 10 Next \x3e\x3e",
@ -7042,19 +7047,20 @@ g.style.paddingBottom="18px";mxEvent.addListener(d,"click",function(){a.oneDrive
c.style.marginTop="16px";c.style.textAlign="center";e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});e.className="geBtn";a.editor.cancelFirst&&c.appendChild(e);var g=mxUtils.button(mxResources.get("ok"),function(){a.hideDialog();null!=f&&f()});c.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(e);b.appendChild(c);this.container=b},ErrorDialog=function(a,c,f,d,b,e,g,k,l){l=null!=l?l:!0;var n=document.createElement("div");n.style.textAlign=
"center";if(null!=c){var m=document.createElement("div");m.style.padding="0px";m.style.margin="0px";m.style.fontSize="18px";m.style.paddingBottom="16px";m.style.marginBottom="16px";m.style.borderBottom="1px solid #c0c0c0";m.style.color="gray";mxUtils.write(m,c);n.appendChild(m)}c=document.createElement("div");c.style.padding="6px";c.innerHTML=f;n.appendChild(c);f=document.createElement("div");f.style.marginTop="16px";f.style.textAlign="right";null!=e&&(c=mxUtils.button(mxResources.get("tryAgain"),
function(){a.hideDialog();e()}),c.className="geBtn",f.appendChild(c),f.style.textAlign="center");var p=mxUtils.button(d,function(){l&&a.hideDialog();null!=b&&b()});p.className="geBtn";f.appendChild(p);null!=g&&(d=mxUtils.button(g,function(){l&&a.hideDialog();null!=k&&k()}),d.className="geBtn gePrimaryBtn",f.appendChild(d));this.init=function(){p.focus()};n.appendChild(f);this.container=n},EmbedHtmlDialog=function(a){function c(c){function f(a){if(null!=a){var b=a.lastIndexOf(".");0<b&&(a=a.substring(b+
1,a.length));null==n[a]&&(n[a]=!0,k.push(a))}}var k=[],n={};c=d.view.states.getValues();for(var u=0;u<c.length;u++){var A=c[u];f(mxStencilRegistry.getBasenameForStencil(A.style[mxConstants.STYLE_SHAPE]));A.view.graph.model.isEdge(A.cell)&&(f(mxMarker.getPackageForType(A.style[mxConstants.STYLE_STARTARROW])),f(mxMarker.getPackageForType(A.style[mxConstants.STYLE_ENDARROW])))}c={};""!=p.value&&p.value!=mxConstants.NONE&&(c.highlight=p.value);r.checked||(c.lightbox=!1);c.nav=d.foldingEnabled;u=parseInt(m.value);
!isNaN(u)&&100!=u&&(c.zoom=u/100);u=[];t.checked&&(u.push("zoom"),c.resize=!0);q.checked&&u.push("layers");0<u.length&&(r&&u.push("lightbox"),c.toolbar=u.join(" "));s.checked&&(c.edit=""!=g.value?g.value:"_blank");""!=g.value?c.url=g.value:c.xml=a.getFileData(!0);b.value='\x3cdiv class\x3d"mxgraph" style\x3d"'+(l.checked?"max-width:100%;":"")+(""!=u?"border:1px solid transparent;":"")+'" data-mxgraph\x3d"'+mxUtils.htmlEntities(JSON.stringify(c))+'"\x3e\x3c/div\x3e';c=0<k.length?("1"==urlParams.dev?
"https://test.draw.io/embed2.js?dev\x3d1\x26s\x3d":"https://www.draw.io/embed2.js?s\x3d")+k.join(";"):"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js";e.value='\x3cscript type\x3d"text/javascript" src\x3d"'+c+'"\x3e\x3c/script\x3e';b.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)}a.getCurrentFile();var f=document.createElement("div"),d=a.editor.graph;d.getGraphBounds();mxUtils.write(f,
mxResources.get("mainEmbedNotice")+": ");mxUtils.br(f);var b=document.createElement("textarea");b.style.marginTop="6px";b.style.width="550px";b.style.height="160px";b.style.marginBottom="10px";b.style.resize="none";f.appendChild(b);mxUtils.br(f);mxUtils.write(f,mxResources.get("embedNotice")+": ");mxUtils.br(f);var e=document.createElement("textarea");e.style.marginTop="6px";e.style.width="550px";e.style.height="20px";e.style.resize="none";e.style.marginBottom="10px";f.appendChild(e);mxUtils.br(f);
mxUtils.write(f,mxResources.get("publicDiagramUrl")+": ");var g=document.createElement("input");g.setAttribute("type","text");g.setAttribute("size","28");g.style.width="340px";g.style.marginBottom="8px";f.appendChild(g);mxUtils.br(f);var k=document.createElement("div");k.style.paddingTop="10px";k.style.textAlign="center";var l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;k.appendChild(l);mxUtils.write(k,mxResources.get("fit"));
var n=document.createElement("span");n.style.marginLeft="10px";mxUtils.write(n,mxResources.get("zoom")+": ");k.appendChild(n);var m=document.createElement("input");m.setAttribute("type","text");m.setAttribute("size","4");m.style.width="40px";m.value="100%";k.appendChild(m);n=document.createElement("span");n.style.marginLeft="10px";mxUtils.write(n,mxResources.get("link")+": ");k.appendChild(n);var p=document.createElement("input");p.setAttribute("type","text");p.setAttribute("size","8");p.style.width=
"50px";p.value="#0000ff";k.appendChild(p);mxUtils.br(k);var r=document.createElement("input");r.setAttribute("type","checkbox");r.setAttribute("checked","checked");r.defaultChecked=!0;r.style.marginTop="14px";k.appendChild(r);mxUtils.write(k,mxResources.get("lightbox"));var s=document.createElement("input");s.setAttribute("type","checkbox");s.setAttribute("checked","checked");s.defaultChecked=!0;s.style.marginLeft="10px";var q=document.createElement("input");q.setAttribute("type","checkbox");q.style.marginLeft=
"10px";n=a.editor.graph.getModel();1<n.getChildCount(n.getRoot())?(q.setAttribute("checked","checked"),q.defaultChecked=!0):q.setAttribute("disabled","disabled");k.appendChild(q);mxUtils.write(k,mxResources.get("layers"));var t=document.createElement("input");t.setAttribute("type","checkbox");t.style.marginLeft="10px";k.appendChild(t);mxUtils.write(k,mxResources.get("zoom"));f.appendChild(k);this.init=function(){c()};mxEvent.addListener(g,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(m,
"change",c);mxEvent.addListener(q,"change",c);mxEvent.addListener(s,"change",c);mxEvent.addListener(l,"change",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(t,"change",c);k=document.createElement("div");k.style.paddingTop="20px";k.style.textAlign="right";a.isOffline()||(n=mxUtils.button(mxResources.get("help"),function(){window.open("https://support.draw.io/pages/viewpage.action?pageId\x3d12878123")}),n.className="geBtn",k.appendChild(n));if(!mxClient.IS_CHROMEAPP&&!navigator.standalone&&
1,a.length));null==n[a]&&(n[a]=!0,k.push(a))}}var k=[],n={};c=d.view.states.getValues();for(var v=0;v<c.length;v++){var B=c[v];f(mxStencilRegistry.getBasenameForStencil(B.style[mxConstants.STYLE_SHAPE]));B.view.graph.model.isEdge(B.cell)&&(f(mxMarker.getPackageForType(B.style[mxConstants.STYLE_STARTARROW])),f(mxMarker.getPackageForType(B.style[mxConstants.STYLE_ENDARROW])))}c={};""!=p.value&&p.value!=mxConstants.NONE&&(c.highlight=p.value);r.checked||(c.lightbox=!1);c.nav=d.foldingEnabled;v=parseInt(m.value);
!isNaN(v)&&100!=v&&(c.zoom=v/100);v=[];u.checked&&(v.push("pages"),c.resize=!0,null!=a.pages&&null!=a.currentPage&&(c.page=mxUtils.indexOf(a.pages,a.currentPage)));t.checked&&(v.push("zoom"),c.resize=!0);q.checked&&v.push("layers");0<v.length&&(r&&v.push("lightbox"),c.toolbar=v.join(" "));s.checked&&(c.edit=""!=g.value?g.value:"_blank");""!=g.value?c.url=g.value:c.xml=a.getFileData(!0,null,null,null,null,!u.checked);b.value='\x3cdiv class\x3d"mxgraph" style\x3d"'+(l.checked?"max-width:100%;":"")+
(""!=v?"border:1px solid transparent;":"")+'" data-mxgraph\x3d"'+mxUtils.htmlEntities(JSON.stringify(c))+'"\x3e\x3c/div\x3e';c=0<k.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev\x3d1\x26s\x3d":"https://www.draw.io/embed2.js?s\x3d")+k.join(";"):"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js";e.value='\x3cscript type\x3d"text/javascript" src\x3d"'+c+'"\x3e\x3c/script\x3e';b.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
b.select():document.execCommand("selectAll",!1,null)}a.getCurrentFile();var f=document.createElement("div"),d=a.editor.graph;d.getGraphBounds();mxUtils.write(f,mxResources.get("mainEmbedNotice")+": ");mxUtils.br(f);var b=document.createElement("textarea");b.style.marginTop="6px";b.style.width="550px";b.style.height="160px";b.style.marginBottom="10px";b.style.resize="none";f.appendChild(b);mxUtils.br(f);mxUtils.write(f,mxResources.get("embedNotice")+": ");mxUtils.br(f);var e=document.createElement("textarea");
e.style.marginTop="6px";e.style.width="550px";e.style.height="20px";e.style.resize="none";e.style.marginBottom="10px";f.appendChild(e);mxUtils.br(f);mxUtils.write(f,mxResources.get("publicDiagramUrl")+": ");var g=document.createElement("input");g.setAttribute("type","text");g.setAttribute("size","28");g.style.width="340px";g.style.marginBottom="8px";f.appendChild(g);mxUtils.br(f);var k=document.createElement("div");k.style.paddingTop="10px";k.style.textAlign="center";var l=document.createElement("input");
l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;k.appendChild(l);mxUtils.write(k,mxResources.get("fit"));var n=document.createElement("span");n.style.marginLeft="10px";mxUtils.write(n,mxResources.get("zoom")+": ");k.appendChild(n);var m=document.createElement("input");m.setAttribute("type","text");m.setAttribute("size","4");m.style.width="40px";m.value="100%";k.appendChild(m);n=document.createElement("span");n.style.marginLeft="10px";mxUtils.write(n,mxResources.get("link")+
": ");k.appendChild(n);var p=document.createElement("input");p.setAttribute("type","text");p.setAttribute("size","8");p.style.width="50px";p.value="#0000ff";k.appendChild(p);mxUtils.br(k);var r=document.createElement("input");r.setAttribute("type","checkbox");r.setAttribute("checked","checked");r.defaultChecked=!0;r.style.marginTop="14px";k.appendChild(r);mxUtils.write(k,mxResources.get("lightbox"));var s=document.createElement("input");s.setAttribute("type","checkbox");s.setAttribute("checked","checked");
s.defaultChecked=!0;s.style.marginLeft="10px";var q=document.createElement("input");q.setAttribute("type","checkbox");q.style.marginLeft="10px";n=a.editor.graph.getModel();null==a.pages||0==a.pages.length&&1>=n.getChildCount(n.getRoot())?q.setAttribute("disabled","disabled"):(q.setAttribute("checked","checked"),q.defaultChecked=!0);k.appendChild(q);mxUtils.write(k,mxResources.get("layers"));var t=document.createElement("input");t.setAttribute("type","checkbox");t.style.marginLeft="10px";k.appendChild(t);
mxUtils.write(k,mxResources.get("zoom"));t.setAttribute("checked","checked");t.defaultChecked=!0;var u=document.createElement("input");u.setAttribute("type","checkbox");u.style.marginLeft="10px";null!=a.pages&&1<a.pages.length&&(u.setAttribute("checked","checked"),u.defaultChecked=!0,k.appendChild(u));mxUtils.write(k,mxResources.get("allPages"));f.appendChild(k);this.init=function(){c()};mxEvent.addListener(g,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(m,"change",c);mxEvent.addListener(q,
"change",c);mxEvent.addListener(s,"change",c);mxEvent.addListener(l,"change",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(t,"change",c);mxEvent.addListener(u,"change",c);k=document.createElement("div");k.style.paddingTop="20px";k.style.textAlign="right";a.isOffline()||(n=mxUtils.button(mxResources.get("help"),function(){window.open("https://support.draw.io/pages/viewpage.action?pageId\x3d12878123")}),n.className="geBtn",k.appendChild(n));if(!mxClient.IS_CHROMEAPP&&!navigator.standalone&&
mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))n=mxUtils.button(mxResources.get("preview"),function(){var a=window.open(),c=a.document;"CSS1Compat"===document.compatMode&&c.writeln("\x3c!DOCTYPE html\x3e");c.writeln("\x3chtml\x3e");c.writeln("\x3chead\x3e\x3ctitle\x3e"+encodeURIComponent(mxResources.get("preview"))+'\x3c/title\x3e\x3cmeta charset\x3d"utf-8"\x3e\x3c/head\x3e');c.writeln("\x3cbody\x3e");c.writeln(b.value);var d=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;
d&&c.writeln(e.value);c.writeln("\x3c/body\x3e");c.writeln("\x3c/html\x3e");c.close();if(!d){var f=a.document.createElement("div");f.marginLeft="26px";f.marginTop="26px";mxUtils.write(f,mxResources.get("updatingDocument"));d=a.document.createElement("img");d.setAttribute("src",window.location.protocol+"//"+window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");d.style.marginLeft="6px";f.appendChild(d);a.document.body.insertBefore(f,a.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");
a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(e.value)[1];c.body.appendChild(a);f.parentNode.removeChild(f)},20)}}),n.className="geBtn",k.appendChild(n);var n=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()}),u=mxUtils.button(mxResources.get("copy"),function(){b.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});k.appendChild(n);
!mxClient.IS_SF&&null==document.documentMode?(k.appendChild(u),u.className="geBtn gePrimaryBtn",n.className="geBtn"):n.className="geBtn gePrimaryBtn";f.appendChild(k);this.container=f},EmbedSvgDialog=function(a,c){function f(b){if(c){var d=a.editor.graph.getGraphBounds(),f=function(a){var b=" ",c="";p.checked&&(b=" onclick\x3d\"(function(img){if(img.wnd!\x3dnull\x26\x26!img.wnd.closed){img.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dimg.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(e.value)[1];c.body.appendChild(a);f.parentNode.removeChild(f)},20)}}),n.className="geBtn",k.appendChild(n);var n=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()}),v=mxUtils.button(mxResources.get("copy"),function(){b.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});k.appendChild(n);
!mxClient.IS_SF&&null==document.documentMode?(k.appendChild(v),v.className="geBtn gePrimaryBtn",n.className="geBtn"):n.className="geBtn gePrimaryBtn";f.appendChild(k);this.container=f},EmbedSvgDialog=function(a,c){function f(b){if(c){var d=a.editor.graph.getGraphBounds(),f=function(a){var b=" ",c="";p.checked&&(b=" onclick\x3d\"(function(img){if(img.wnd!\x3dnull\x26\x26!img.wnd.closed){img.wnd.focus();}else{var r\x3dfunction(evt){if(evt.data\x3d\x3d'ready'\x26\x26evt.source\x3d\x3dimg.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd\x3dwindow.open('https://www.draw.io/?client\x3d1\x26lightbox\x3d1\x26chrome\x3d0\x26edit\x3d_blank"+
(r.checked?"\x26layers\x3d1":"")+"');}})(this);\"",c+="cursor:pointer;");k.checked&&(c+="max-width:100%;");var f="";m.checked&&(f=' width\x3d"'+Math.round(d.width)+'" height\x3d"'+Math.round(d.height)+'"');e.value='\x3cimg src\x3d"'+a+'"'+f+(""!=c?' style\x3d"'+c+'"':"")+b+"/\x3e";e.focus();mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)};if(a.isExportToCanvas())e.value=mxResources.get("updatingDocument"),a.exportToCanvas(mxUtils.bind(this,
function(b){var c=p.checked?a.getFileData(!0):null;b=a.createPngDataUri(b,c);f(b)}),null,null,null,mxUtils.bind(this,function(b){e.value="";a.handleError({message:mxResources.get("unknownError")})}),null,!0,m.checked?2:1,null,l.checked);else if(b=a.getFileData(!0),d.width*d.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){e.value=mxResources.get("updatingDocument");var g="";m.checked&&(g="\x26w\x3d"+Math.round(2*d.width)+"\x26h\x3d"+Math.round(2*d.height));var z=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+
(p.checked?"1":"0")+g+"\x26xml\x3d"+encodeURIComponent(b));z.send(mxUtils.bind(this,function(){200==z.getStatus()?f("data:image/png;base64,"+z.getText()):(e.value="",a.handleError({message:mxResources.get("unknownError")}))}))}else e.value="",a.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}else{b=a.editor.graph.getSvg();g=b.getElementsByTagName("a");if(null!=g)for(var y=0;y<g.length;y++){var x=g[y].getAttribute("href");null!=x&&("#"==x.charAt(0)&&"_blank"==g[y].getAttribute("target"))&&
@ -7150,7 +7156,7 @@ function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive
a.movePickersToTop()}))}),r.className="geBtn",f.appendChild(r))}mxEvent.addListener(l,"keypress",function(a){13==a.keyCode&&m(l.value)});r=mxUtils.button(mxResources.get("apply"),function(){m(l.value)});r.className="geBtn gePrimaryBtn";f.appendChild(r);a.editor.cancelFirst||f.appendChild(c);Graph.fileSupport&&(f.style.marginTop="120px",k.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",k.style.backgroundPosition="center 65%",k.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")),k.appendChild(c));k.appendChild(f);this.container=k};
PrintDialog.prototype.create=function(a){function c(){p.value=Math.min(g,Math.max(parseInt(p.value),parseInt(m.value)));m.value=Math.min(g,Math.min(parseInt(p.value),parseInt(m.value)))}function f(a){var b=parseInt(F.value)/100;isNaN(b)&&(b=1,F.value="100 %");var b=0.75*b,c=d.getGraphBounds(),e=0,f=0,g=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,k=1/d.pageScale,l=q.checked;if(l)var k=parseInt(E.value),m=parseInt(G.value),k=Math.min(g.height*m/(c.height/d.view.scale),g.width*k/(c.width/d.view.scale));
else k=parseInt(s.value)/100*d.pageScale,isNaN(k)&&(b=1/d.pageScale,s.value="100 %");g=mxRectangle.fromRectangle(g);g.width=Math.ceil(g.width*b);g.height=Math.ceil(g.height*b);k*=b;!l&&d.pageVisible?(b=d.getPageLayout(),e-=b.x*g.width,f-=b.y*g.height):l=!0;return PrintDialog.showPreview(PrintDialog.createPrintPreview(d,k,g,0,e,f,l,a),a)}var d=a.editor.graph,b=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("print"));b.appendChild(e);
else k=parseInt(s.value)/(100*d.pageScale),isNaN(k)&&(b=1/d.pageScale,s.value="100 %");g=mxRectangle.fromRectangle(g);g.width=Math.ceil(g.width*b);g.height=Math.ceil(g.height*b);k*=b;!l&&d.pageVisible?(b=d.getPageLayout(),e-=b.x*g.width,f-=b.y*g.height):l=!0;return PrintDialog.showPreview(PrintDialog.createPrintPreview(d,k,g,0,e,f,l,a),a)}var d=a.editor.graph,b=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("print"));b.appendChild(e);
var g=1,k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-bottom:8px;";l.setAttribute("value","all");l.setAttribute("type","radio");l.setAttribute("name","pages");k.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));k.appendChild(e);mxUtils.br(k);var n=l.cloneNode(!0);n.setAttribute("value","range");
k.appendChild(n);l.setAttribute("checked","checked");e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");k.appendChild(e);var m=document.createElement("input");m.style.cssText="margin:0 8px 0 8px;";m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.style.width="50px";k.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));k.appendChild(e);var p=m.cloneNode(!0);k.appendChild(p);mxEvent.addListener(m,"focus",
function(){n.checked=!0});mxEvent.addListener(p,"focus",function(){n.checked=!0});mxEvent.addListener(m,"change",c);mxEvent.addListener(p,"change",c);m.setAttribute("max",g);p.setAttribute("max",g);1<g&&b.appendChild(k);l=document.createElement("div");l.style.marginBottom="10px";var r=document.createElement("input");r.style.marginRight="8px";r.setAttribute("value","adjust");r.setAttribute("type","radio");r.setAttribute("name","printZoom");l.appendChild(r);e=document.createElement("span");mxUtils.write(e,
@ -7211,8 +7217,8 @@ c=document.createElement("p");mxUtils.write(c,mxResources.get("authorizeThisAppI
" "+mxResources.get("rememberMe")),f.appendChild(e),b.appendChild(f),l.checked=!0,l.defaultChecked=!0,mxEvent.addListener(e,"click",function(a){l.checked=!l.checked;mxEvent.consume(a)}));this.container=b},MoreShapesDialog=function(a,c,f){f=null!=f?f:a.sidebar.entries;var d=document.createElement("div");if(c){c=document.createElement("div");c.className="geDialogTitle";mxUtils.write(c,mxResources.get("shapes"));c.style.position="absolute";c.style.top="0px";c.style.left="0px";c.style.lineHeight="40px";
c.style.height="40px";c.style.right="0px";mxClient.IS_QUIRKS&&(c.style.width="718px");var b=document.createElement("div"),e=document.createElement("div");b.style.position="absolute";b.style.top="40px";b.style.left="0px";b.style.width="202px";b.style.bottom="60px";b.style.overflow="auto";mxClient.IS_QUIRKS&&(b.style.height="437px",b.style.marginTop="1px");e.style.position="absolute";e.style.left="202px";e.style.right="0px";e.style.top="40px";e.style.bottom="60px";e.style.overflow="auto";e.style.borderLeft=
"1px solid rgb(211, 211, 211)";e.style.textAlign="center";mxClient.IS_QUIRKS&&(e.style.width=parseInt(c.style.width)-202+"px",e.style.height=b.style.height,e.style.marginTop=b.style.marginTop);var g=null,k=[],l=document.createElement("div");l.style.position="relative";l.style.left="0px";l.style.right="0px";for(var n=0;n<f.length;n++)(function(c){var d=l.cloneNode(!1);d.style.fontWeight="bold";d.style.backgroundColor="#e5e5e5";d.style.padding="6px 0px 6px 20px";mxUtils.write(d,c.title);b.appendChild(d);
for(var f=0;f<c.entries.length;f++)(function(c){var d=l.cloneNode(!1);d.style.cursor="pointer";d.style.padding="4px 0px 4px 20px";var m=document.createElement("input");m.setAttribute("type","checkbox");m.checked=a.sidebar.isEntryVisible(c.id);m.defaultChecked=m.checked;d.appendChild(m);mxUtils.write(d," "+c.title);b.appendChild(d);var u=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!=c.imageCallback?c.imageCallback(e):null!=c.image?e.innerHTML='\x3cimg border\x3d"0" src\x3d"'+
c.image+'"/\x3e':(e.innerHTML="\x3cbr\x3e",mxUtils.write(e,mxResources.get("noPreview"))),null!=g&&(g.style.backgroundColor=""),g=d,g.style.backgroundColor="#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(d,"click",u);mxEvent.addListener(d,"dblclick",function(a){m.checked=!m.checked;mxEvent.consume(a)});k.push(function(){return m.checked?c.id:null});0==n&&0==f&&u()})(c.entries[f])})(f[n]);d.style.padding="30px";d.appendChild(c);d.appendChild(b);d.appendChild(e);f=document.createElement("div");
for(var f=0;f<c.entries.length;f++)(function(c){var d=l.cloneNode(!1);d.style.cursor="pointer";d.style.padding="4px 0px 4px 20px";var m=document.createElement("input");m.setAttribute("type","checkbox");m.checked=a.sidebar.isEntryVisible(c.id);m.defaultChecked=m.checked;d.appendChild(m);mxUtils.write(d," "+c.title);b.appendChild(d);var t=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!=c.imageCallback?c.imageCallback(e):null!=c.image?e.innerHTML='\x3cimg border\x3d"0" src\x3d"'+
c.image+'"/\x3e':(e.innerHTML="\x3cbr\x3e",mxUtils.write(e,mxResources.get("noPreview"))),null!=g&&(g.style.backgroundColor=""),g=d,g.style.backgroundColor="#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(d,"click",t);mxEvent.addListener(d,"dblclick",function(a){m.checked=!m.checked;mxEvent.consume(a)});k.push(function(){return m.checked?c.id:null});0==n&&0==f&&t()})(c.entries[f])})(f[n]);d.style.padding="30px";d.appendChild(c);d.appendChild(b);d.appendChild(e);f=document.createElement("div");
f.className="geDialogFooter";f.style.position="absolute";f.style.paddingRight="16px";f.style.color="gray";f.style.left="0px";f.style.right="0px";f.style.bottom="0px";f.style.height="60px";f.style.lineHeight="52px";mxClient.IS_QUIRKS&&(f.style.width=c.style.width,f.style.paddingTop="12px");var m=document.createElement("input");m.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)c=document.createElement("span"),c.style.paddingRight="20px",c.appendChild(m),mxUtils.write(c," "+
mxResources.get("rememberThisSetting")),m.checked=!0,m.defaultChecked=!0,mxEvent.addListener(c,"click",function(a){mxEvent.getSource(a)!=m&&(m.checked=!m.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(c.style.position="relative",c.style.top="-6px"),f.appendChild(c);c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";var p=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();for(var b=[],c=0;c<k.length;c++){var d=k[c].apply(this,arguments);null!=
d&&b.push(d)}a.sidebar.showEntries(b.join(";"),m.checked,!0)});p.className="geBtn gePrimaryBtn"}else{var r=document.createElement("table"),s=document.createElement("tbody");d.style.height="100%";d.style.overflow="auto";var q=document.createElement("tr");r.style.width="100%";c=document.createElement("td");var p=document.createElement("td"),t=document.createElement("td"),u=mxUtils.bind(this,function(b,c,d){var e=document.createElement("input");e.type="checkbox";r.appendChild(e);e.checked=a.sidebar.isEntryVisible(d);
@ -7231,13 +7237,13 @@ mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();f.getModel().b
f.setCellStyles(mxConstants.STYLE_ROTATION,Number(q.value),[c[b]])}}finally{f.getModel().endUpdate()}});mxEvent.addListener(b,"keypress",function(a){13==a.keyCode&&t.click()});e=document.createElement("div");e.style.marginTop="20px";e.style.textAlign="right";a.editor.cancelFirst?(e.appendChild(d),e.appendChild(t)):(e.appendChild(t),e.appendChild(d));b.appendChild(e);this.container=b},LibraryDialog=function(a,c,f,d,b,e){function g(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=
s;)a=a.parentNode;var b=null;if(null!=a)for(var c=s.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function k(b,c,d,e,f,l,n,p,y){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&null!=n||null==t[b]){s.style.backgroundImage="";q.style.display="none";var r=f,A=l;if(f>a.maxImageSize||l>a.maxImageSize){var C=Math.min(1,Math.min(a.maxImageSize/Math.max(1,f)),a.maxImageSize/Math.max(1,l));f*=C;l*=C}r>A?(A=Math.round(A*u/r),r=u):(r=Math.round(r*v/A),A=v);var O=document.createElement("div");
O.setAttribute("draggable","true");O.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";O.style.position="relative";O.style.cursor="move";mxUtils.setPrefixedStyle(O.style,"transition","transform .1s ease-in-out");if(null!=b){var Q=document.createElement("img");Q.setAttribute("src",D.convert(b));Q.style.width=r+"px";Q.style.height=A+"px";Q.style.margin="10px";Q.style.paddingBottom=Math.floor((v-A)/2)+"px";Q.style.paddingLeft=Math.floor((u-r)/2)+"px";O.appendChild(Q)}else if(null!=n){var M=a.stringToCells(a.editor.graph.decompress(n.xml));
0<M.length&&(a.sidebar.createThumb(M,u,v,O,null,!0,!1),O.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",O.firstChild.style.cursor="")}var U=document.createElement("img");U.setAttribute("src",Editor.closeImage);U.setAttribute("border","0");U.setAttribute("title",mxResources.get("delete"));U.setAttribute("align","top");U.style.paddingTop="4px";U.style.marginLeft="-22px";U.style.cursor="pointer";mxEvent.addListener(U,"dragstart",function(a){mxEvent.consume(a)});null==b&&null!=n&&
(U.style.position="relative");(function(a,c){mxEvent.addListener(U,"click",function(d){t[b]=null;for(var e=0;e<m.length;e++)if(null!=b&&m[e].data==c||null!=n&&m[e].xml==n.xml){m.splice(e,1);break}O.parentNode.removeChild(a);0==m.length&&(s.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(d)});mxEvent.addListener(U,"dblclick",function(a){mxEvent.consume(a)})})(O,b,n);O.appendChild(U);O.style.marginBottom="30px";var J=document.createElement("div");J.style.position=
0<M.length&&(a.sidebar.createThumb(M,u,v,O,null,!0,!1),O.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",O.firstChild.style.cursor="")}var V=document.createElement("img");V.setAttribute("src",Editor.closeImage);V.setAttribute("border","0");V.setAttribute("title",mxResources.get("delete"));V.setAttribute("align","top");V.style.paddingTop="4px";V.style.marginLeft="-22px";V.style.cursor="pointer";mxEvent.addListener(V,"dragstart",function(a){mxEvent.consume(a)});null==b&&null!=n&&
(V.style.position="relative");(function(a,c){mxEvent.addListener(V,"click",function(d){t[b]=null;for(var e=0;e<m.length;e++)if(null!=b&&m[e].data==c||null!=n&&m[e].xml==n.xml){m.splice(e,1);break}O.parentNode.removeChild(a);0==m.length&&(s.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(d)});mxEvent.addListener(V,"dblclick",function(a){mxEvent.consume(a)})})(O,b,n);O.appendChild(V);O.style.marginBottom="30px";var J=document.createElement("div");J.style.position=
"absolute";J.style.boxSizing="border-box";J.style.bottom="-18px";J.style.left="10px";J.style.right="10px";J.style.backgroundColor="#ffffff";J.style.overflow="hidden";J.style.textAlign="center";var K=null;null!=b?(K={data:b,w:f,h:l,title:y},null!=p&&(K.aspect=p),t[b]=Q,m.push(K)):null!=n&&(n.aspect="fixed",m.push(n),K=n);var S=function(){J.innerHTML="";J.style.cursor="pointer";J.style.whiteSpace="nowrap";J.style.textOverflow="ellipsis";mxUtils.write(J,null!=K.title&&0<K.title.length?K.title:mxResources.get("untitled"));
J.style.color=null==K.title||0==K.title.length?"#d0d0d0":""};mxEvent.addListener(J,"keydown",function(a){13==a.keyCode&&null!=x&&(x(),x=null,mxEvent.consume(a))});S();O.appendChild(J);mxEvent.addListener(J,"mousedown",function(a){mxEvent.consume(a)});f=function(b){if(!mxClient.IS_IOS&&!mxClient.IS_QUIRKS&&!mxClient.IS_FF&&(null==document.documentMode||9<document.documentMode)){if("true"!=J.getAttribute("contentEditable")){null!=x&&(x(),x=null);if(null==K.title||0==K.title.length)J.innerHTML="";J.style.textOverflow=
"";J.style.whiteSpace="";J.style.cursor="text";J.style.color="";J.setAttribute("contentEditable","true");J.focus();document.execCommand("selectAll",!1,null);x=function(){J.removeAttribute("contentEditable");J.style.cursor="pointer";K.title=J.innerHTML;S()}}}else{var c=new FilenameDialog(a,K.title||"",mxResources.get("ok"),function(a){null!=a&&(K.title=a,S())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init()}mxEvent.consume(b)};mxEvent.addListener(J,"click",f);mxEvent.addListener(O,
"dblclick",f);s.appendChild(O);mxEvent.addListener(O,"dragstart",function(a){null==b&&null!=n&&(U.style.visibility="hidden",J.style.visibility="hidden");mxClient.IS_FF&&null!=n.xml&&a.dataTransfer.setData("Text",n.xml);z=g(a);mxClient.IS_GC&&(O.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(O.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(O,30);U.style.visibility="";J.style.visibility=""},0)});mxEvent.addListener(O,"dragend",function(a){"hidden"==U.style.visibility&&
(U.style.visibility="",J.style.visibility="");z=null;mxUtils.setOpacity(O,100);mxUtils.setPrefixedStyle(O.style,"transform",null)})}else a.handleError({message:mxResources.get("fileExists")});else{f=!1;try{if(null!=b&&"\x3cmxlibrary"==b.substring(0,10)){A=mxUtils.parseXml(b);r=JSON.parse(mxUtils.getTextContent(A.documentElement));if(null!=r&&0<r.length)for(l=0;l<r.length;l++)null!=r[l].xml?k(null,null,0,0,0,0,r[l]):k(r[l].data,null,0,0,r[l].w,r[l].h,null,"fixed",r[l].title);a.spinner.stop();f=!0}}catch(Z){}f||
"dblclick",f);s.appendChild(O);mxEvent.addListener(O,"dragstart",function(a){null==b&&null!=n&&(V.style.visibility="hidden",J.style.visibility="hidden");mxClient.IS_FF&&null!=n.xml&&a.dataTransfer.setData("Text",n.xml);z=g(a);mxClient.IS_GC&&(O.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(O.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(O,30);V.style.visibility="";J.style.visibility=""},0)});mxEvent.addListener(O,"dragend",function(a){"hidden"==V.style.visibility&&
(V.style.visibility="",J.style.visibility="");z=null;mxUtils.setOpacity(O,100);mxUtils.setPrefixedStyle(O.style,"transform",null)})}else a.handleError({message:mxResources.get("fileExists")});else{f=!1;try{if(null!=b&&"\x3cmxlibrary"==b.substring(0,10)){A=mxUtils.parseXml(b);r=JSON.parse(mxUtils.getTextContent(A.documentElement));if(null!=r&&0<r.length)for(l=0;l<r.length;l++)null!=r[l].xml?k(null,null,0,0,0,0,r[l]):k(r[l].data,null,0,0,r[l].w,r[l].h,null,"fixed",r[l].title);a.spinner.stop();f=!0}}catch(Z){}f||
(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ea){console.log("e",ea)}return null}function l(a){a.dataTransfer.dropEffect=null!=z?"move":"copy";a.stopPropagation();a.preventDefault()}function n(b){b.stopPropagation();b.preventDefault();y=g(b);if(null!=z)null!=y&&y<s.children.length?(m.splice(y>z?y-1:y,0,m.splice(z,1)[0]),s.insertBefore(s.children[z],s.children[y])):(m.push(m.splice(z,1)[0]),s.appendChild(s.children[z]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,
0,0,a.maxImageSize,function(a,c,d,e,f,g,l){k(a,c,d,e,f,g,l,"fixed",mxEvent.isAltDown(b)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," "))});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){k(c,null,0,0,a.width,a.height)})}b.stopPropagation();b.preventDefault()}var m=[];f=document.createElement("div");
f.style.height="100%";var p=document.createElement("div");p.style.whiteSpace="nowrap";p.style.height="40px";f.appendChild(p);mxUtils.write(p,mxResources.get("filename")+":");null==c&&(c=a.defaultLibraryName+".xml");var r=document.createElement("input");r.setAttribute("value",c);r.style.marginRight="20px";r.style.marginLeft="10px";r.style.width="500px";null!=b&&!b.isRenamable()&&r.setAttribute("disabled","true");this.init=function(){if(null==b||b.isRenamable())r.focus(),mxClient.IS_FF||5<=document.documentMode||
@ -7254,15 +7260,15 @@ l.appendChild(e);e=document.createElement("tr");g=document.createElement("td");g
function(b,c,d){var e=n.value,f=mxUtils.parseXml(e),e=mxUtils.getPrettyXml(f.documentElement),f=f.documentElement.getElementsByTagName("parsererror");if(null!=f&&0<f.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(d&&a.hideDialog(),f=!b.model.contains(c),!d||f||e!=r){e=a.editor.graph.compress(e);b.getModel().beginUpdate();try{if(f){var g=a.editor.graph.getInsertPoint();c.geometry.x=g.x;c.geometry.y=g.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,
"stencil("+e+")",[c])}catch(k){throw k;}finally{b.getModel().endUpdate()}f&&b.setSelectionCell(c)}};f=mxUtils.button(mxResources.get("preview"),function(){s(m,p,!1)});f.className="geBtn";g.appendChild(f);f=mxUtils.button(mxResources.get("apply"),function(){s(a.editor.graph,c,!0)});f.className="geBtn gePrimaryBtn";g.appendChild(f);a.editor.cancelFirst||g.appendChild(b);e.appendChild(g);l.appendChild(e);k.appendChild(l);this.container=k},CustomDialog=function(a,c,f,d,b,e){var g=document.createElement("div");
g.appendChild(c);c=document.createElement("div");c.style.marginTop="16px";c.style.textAlign="center";var k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});k.className="geBtn";a.editor.cancelFirst&&c.appendChild(k);if(!a.isOffline()&&null!=e){var l=mxUtils.button(mxResources.get("help"),function(){window.open(e)});l.className="geBtn";c.appendChild(l)}b=mxUtils.button(b||mxResources.get("ok"),function(){a.hideDialog();null!=f&&f()});c.appendChild(b);b.className="geBtn gePrimaryBtn";
a.editor.cancelFirst||c.appendChild(k);g.appendChild(c);this.container=g};(function(){EditorUi.VERSION="5.7.0.8.1";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;"1"==urlParams.dev&&(Editor.prototype.editBlankUrl+="\x26dev\x3d1",Editor.prototype.editBlankFallbackUrl+="\x26dev\x3d1");(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
a.editor.cancelFirst||c.appendChild(k);g.appendChild(c);this.container=g};(function(){EditorUi.VERSION="5.7.0.9";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.isElectronApp=window&&window.process&&window.process.type;"1"==urlParams.dev&&(Editor.prototype.editBlankUrl+="\x26dev\x3d1",Editor.prototype.editBlankFallbackUrl+="\x26dev\x3d1");(function(){EditorUi.prototype.useCanvasForExport=!1;try{var a=document.createElement("canvas"),b=new Image;b.onload=function(){try{a.getContext("2d").drawImage(b,0,0);var c=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
null!=c&&6<c.length}catch(d){}};b.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('\x3csvg xmlns\x3d"http://www.w3.org/2000/svg" xmlns:xlink\x3d"http://www.w3.org/1999/xlink" width\x3d"1px" height\x3d"1px" version\x3d"1.1"\x3e\x3cforeignObject pointer-events\x3d"all" width\x3d"1" height\x3d"1"\x3e\x3cdiv xmlns\x3d"http://www.w3.org/1999/xhtml"\x3e\x3c/div\x3e\x3c/foreignObject\x3e\x3c/svg\x3e')))}catch(c){}})();Editor.initMath=function(a,b){a=null!=a?a:"https://cdn.mathjax.org/mathjax/2.6-latest/MathJax.js?config\x3dTeX-MML-AM_HTMLorMML";
Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],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=[]};Editor.prototype.init=function(){this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};
var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var d=document.createElement("script");d.type="text/javascript";d.src=a;c[0].parentNode.appendChild(d)}};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.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;var d=a.ownerDocument,e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");e.setAttribute("id","dropShadow");var f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):d.createElement("feGaussianBlur");f.setAttribute("in","SourceAlpha");f.setAttribute("stdDeviation","1.7");f.setAttribute("result","blur");e.appendChild(f);f=null!=d.createElementNS?
IMAGE_PATH+"/delete.png";Editor.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;var d=a.ownerDocument,e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");e.setAttribute("id",this.graph.shadowId);var f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):d.createElement("feGaussianBlur");f.setAttribute("in","SourceAlpha");f.setAttribute("stdDeviation","1.7");f.setAttribute("result","blur");e.appendChild(f);f=null!=d.createElementNS?
d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");f.setAttribute("in","blur");f.setAttribute("dx","3");f.setAttribute("dy","3");f.setAttribute("result","offsetBlur");e.appendChild(f);f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feFlood"):d.createElement("feFlood");f.setAttribute("flood-color","#3D4574");f.setAttribute("flood-opacity","0.4");f.setAttribute("result","offsetColor");e.appendChild(f);f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,
"feComposite"):d.createElement("feComposite");f.setAttribute("in","offsetColor");f.setAttribute("in2","offsetBlur");f.setAttribute("operator","in");f.setAttribute("result","offsetBlur");e.appendChild(f);f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feBlend"):d.createElement("feBlend");f.setAttribute("in","SourceGraphic");f.setAttribute("in2","offsetBlur");e.appendChild(f);var f=a.getElementsByTagName("defs"),g=null;0==f.length?(g=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,
"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(g,a.firstChild):a.appendChild(g)):g=f[0];g.appendChild(e);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#dropShadow)"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return e};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var a=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=
"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(g,a.firstChild):a.appendChild(g)):g=f[0];g.appendChild(e);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.graph.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return e};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var a=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=
function(){a.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);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.movePickersToTop=function(){for(var a=document.getElementsByTagName("div"),b=0;b<a.length;b++)"picker modal-dialog picker-dialog"==a[b].className&&(a[b].style.zIndex=mxPopupMenu.prototype.zIndex+1)};if(window.PrintDialog){var c=PrintDialog.showPreview;PrintDialog.showPreview=function(a,b){"undefined"!==typeof MathJax&&a.graph.mathEnabled&&(b=
!1);return c.apply(this,arguments)};var f=PrintDialog.createPrintPreview;PrintDialog.createPrintPreview=function(a,b,c,d,e,g,k,l){var m=f.apply(this,arguments);if("undefined"!==typeof MathJax&&a.mathEnabled){var n=m.writePostfix;m.writePostfix=function(a,b){n.apply(this,arguments);a.writeln('\x3cscript type\x3d"text/x-mathjax-config"\x3e');a.writeln("MathJax.Hub.Config({");a.writeln('messageStyle: "none",');a.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],');a.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],');
@ -7306,17 +7312,17 @@ p.value+"/contents/"+r.value+"?ref\x3d"+encodeURIComponent(H.value);d();mxUtils.
new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){window.open(a)}),!1);this.showDialog(b.container,340,170,!0,!1);b.init()}else d=this.spinner.pause(),this.handleError(JSON.parse(f.responseText))});f.open("PUT",a,!0);f.setRequestHeader("Authorization","Basic "+btoa(l.value+
":"+m.value));f.send(JSON.stringify(e))}else this.hideDialog(),this.spinner.stop(),this.handleError(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){this.hideDialog();this.spinner.stop();this.handleError({message:mxResources.get("unknownError")})}))}),null,null,c,null,!1);this.showDialog(c.container,260,260,!0,!1);c.init()};EditorUi.prototype.uploadToImgur=function(a,b,c,d){var e=this.spinner.pause(),f=new ErrorDialog(this,mxResources.get("warning"),'\x3cimg style\x3d"max-width:300px;max-height:80px;margin-bottom:20px;padding:6px;border:1px solid gray;" src\x3d"data:image/png;base64,'+
b+'"/\x3e\x3cbr\x3e'+mxResources.get("publishConfirmation"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("publish"),mxUtils.bind(this,function(){e();var f=null!=a.getTitle()?a.getTitle():this.defaultFilename,g=f.lastIndexOf("."),k=f;0<g&&(k=f=k.substring(0,g));var g=new mxXmlRequest("/imgur",JSON.stringify({type:"base64",image:b,name:k+".png",title:f,description:"Made with https://www.draw.io"}),"POST"),l=mxUtils.bind(this,function(a){var b={message:mxResources.get("unknownError")};
try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText());try{(new Image).src="log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(e){}var g=mxUtils.bind(this,function(){this.spinner.stop();var a="http://i.imgur.com/"+b.data.id+".png",c="https://www.draw.io/imgur?delete\x3d"+
try{var c=JSON.parse(a.getText()),b={message:c.message||c.data.error}}catch(d){}this.handleError(b)});g.send(mxUtils.bind(this,function(a){if(200==a.getStatus())try{var b=JSON.parse(a.getText());try{(new Image).src="https://log.draw.io/log?severity\x3dCONFIG\x26msg\x3dimgur-published:"+b.data.id+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(e){}var g=mxUtils.bind(this,function(){this.spinner.stop();var a="http://i.imgur.com/"+b.data.id+".png",c="https://www.draw.io/imgur?delete\x3d"+
b.data.deletehash,a=new ErrorDialog(this,mxResources.get("published"),mxResources.get("publishedAt",['\x3ca href\x3d"'+a+'" target\x3d"_blank"\x3e'+a+"\x3c/a\x3e"])+"\x3cbr\x3e"+mxResources.get("deleteUrl",[c]),mxResources.get("close"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("share"),function(){d(b.data.id)},!1);this.showDialog(a.container,340,170,!0,!1);a.init()});if(c){var k=new mxXmlRequest("/imgur?"+b.data.deletehash,JSON.stringify({title:f,description:"Edit a copy of this diagram at https://www.draw.io/i/"+
b.data.id}),"POST");k.send(mxUtils.bind(this,function(){200==k.getStatus()?g():l(k)}),mxUtils.bind(this,function(){l(k)}))}else g()}catch(m){this.handleError(m)}else l(a)}),mxUtils.bind(this,function(a){l(a)}))}));this.showDialog(f.container,320,250,!0,!1);f.init()};EditorUi.prototype.publishImage=function(a,b){var c=this.getCurrentFile();null!=c&&(this.isExportToCanvas()?this.showExportDialog(!1,mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,
function(d,e,f,g,k){d=parseInt(d);if(!isNaN(d)&&0<d){d/=100;var l=this.editor.graph.isSelectionEmpty();f=null!=f?f:l;if(this.spinner.spin(document.body,mxResources.get("publishing")))try{this.exportToCanvas(mxUtils.bind(this,function(d){try{var e=k?mxUtils.getXml(this.editor.getGraphXml(f)):null,g=this.createPngDataUri(d,e);a(c,g.substring(g.lastIndexOf(",")+1),k,b)}catch(l){this.handleError(l)}}),null,null,null,mxUtils.bind(this,function(a){this.handleError(a)}),null,f,d||1,e,g)}catch(m){this.handleError(m)}}})):
this.showRemoteExportDialog(mxResources.get("publish"),"https://support.draw.io/pages/viewpage.action?pageId\x3d12222625",mxUtils.bind(this,function(d,e){if(this.spinner.spin(document.body,mxResources.get("publishing"))){var f=this.editor.graph.getGraphBounds(),g=this.getFileData(!0,null,null,null,d);if(f.width*f.height<=MAX_AREA&&g.length<=MAX_REQUEST_SIZE)try{var k=new mxXmlRequest(EXPORT_URL,"format\x3dpng\x26base64\x3d1\x26embedXml\x3d"+(e?"1":"0")+"\x26xml\x3d"+encodeURIComponent(g));k.send(mxUtils.bind(this,
function(){200==k.getStatus()?a(c,k.getText(),e,b):this.handleError(k)}))}catch(l){this.handleError(l)}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}})))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-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.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=this.editor.graph.getSvg(g,null,null,null,null,f);b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,
function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,k,l,m,n){f=null!=f?f:!0;var p=l?null:this.editor.graph.background;
p==mxConstants.NONE&&(p=null);null==p&&(p=d);null==p&&!1==l&&(p="#ffffff");this.convertImages(this.editor.graph.getSvg(p,null,null,null,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),l=parseInt(c.getAttribute("height"));k=null!=k?k:1;null!=b&&(k=!f?b/g:Math.min(1,Math.min(3*b/(4*l),b/g)));e.setAttribute("width",Math.ceil(k*g));e.setAttribute("height",Math.ceil(k*l));g=
e.getContext("2d");g.scale(k,k);g.drawImage(d,0,0);a(e)});d.onerror=function(a){null!=e&&e(a)};try{m&&this.editor.addSvgShadow(c),this.convertMath(this.editor.graph,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,n)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,
a.baseUrl.length)!=a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var k=a.getElementsByTagName(c),l=0;l<k.length;l++)mxUtils.bind(this,function(c){var k=d.convert(c.getAttribute(g));if(null!=k&&"data:"!=k.substring(0,5)){var l=f[k];null==l?(e++,this.convertImageToDataUri(k,
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.convertMath=function(a,b,c,d){d()};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,f,g){g=null;null!=b&&(g=b.background,g==mxConstants.NONE&&(g=null));b=b.getSvg(g,null,null,null,null,f);null!=a&&b.setAttribute("content",encodeURIComponent(a));null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,
function(a){e((!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(a))}));else return(!d?'\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n':"")+mxUtils.getXml(b)};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,f,g,k,l,m,n,p){f=null!=f?f:!0;p=null!=p?p:this.editor.graph;
var r=l?null:p.background;r==mxConstants.NONE&&(r=null);null==r&&(r=d);null==r&&!1==l&&(r="#ffffff");this.convertImages(p.getSvg(r,null,null,null,null,null!=g?g:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),l=parseInt(c.getAttribute("height"));k=null!=k?k:1;null!=b&&(k=!f?b/g:Math.min(1,Math.min(3*b/(4*l),b/g)));e.setAttribute("width",Math.ceil(k*g));e.setAttribute("height",Math.ceil(k*
l));g=e.getContext("2d");g.scale(k,k);g.drawImage(d,0,0);a(e)});d.onerror=function(a){null!=e&&e(a)};try{m&&this.editor.addSvgShadow(c),this.convertMath(p,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))}catch(g){null!=e&&e(g)}}),c,n)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert;a.convert=function(c){null!=c&&(("http://"==c.substring(0,7)||"https://"==c.substring(0,8))&&c.substring(0,a.baseUrl.length)!=
a.baseUrl?c=PROXY_URL+"?url\x3d"+encodeURIComponent(c):"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)));return c};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var k=a.getElementsByTagName(c),l=0;l<k.length;l++)mxUtils.bind(this,function(c){var k=d.convert(c.getAttribute(g));if(null!=k&&"data:"!=k.substring(0,5)){var l=f[k];null==l?(e++,this.convertImageToDataUri(k,
function(d){null!=d&&(f[k]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,l)}})(k[l])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b()});else{var c=new Image;c.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=c.height;a.width=c.width;d.drawImage(c,0,0);b(a.toDataURL())};
c.onerror=function(){b()};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),k=this.editor.extractGraphModel(g.documentElement);if(null!=k){var l=new mxGraphModel;(new mxCodec(k.ownerDocument)).decode(k,l);var m=this.editor.graph,n=l.getChildCount(l.getRoot());m.model.getChildCount(m.model.getRoot());m.model.beginUpdate();try{a={};for(g=0;g<n;g++){var p=l.getChildAt(l.getRoot(),g);if(1==n&&!m.isCellLocked(m.getDefaultParent()))var r=
l.getChildren(p),f=f.concat(m.importCells(r,b,c,m.getDefaultParent(),null,a));else p=m.importCells([p],0,0,m.model.getRoot(),null,a)[0],r=m.model.getChildren(p),m.moveCells(r,b,c),f=f.concat(r)}if(d){m.isGridEnabled()&&(b=m.snap(b),c=m.snap(c));var s=m.getBoundingBoxFromGeometry(f,!0);null!=s&&m.moveCells(f,b-s.x,c-s.y)}}finally{m.model.endUpdate()}}}}catch(H){throw e||this.handleError(H,mxResources.get("invalidOrMissingFile")),H;}return f};EditorUi.prototype.insertTextAt=function(a,b,c,d,e,f){f=
@ -7371,7 +7377,7 @@ mxConstants.STYLE_FILLCOLOR,"#ffffff"),e=mxUtils.setStyle(e,mxConstants.STYLE_ST
a.gradient+"', GradientType\x3d0)":b.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":b.style.backgroundColor=a.fill,b.style.border="1px solid "+a.stroke):(b.style.backgroundColor="#ffffff",b.style.border="1px solid #000000");e.appendChild(b)}e.innerHTML="";for(var g=0;g<a.length;g++)0<g&&0==mxUtils.mod(g,4)&&mxUtils.br(e),c(a[g])}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,e=document.createElement("div");e.style.whiteSpace="normal";e.style.paddingLeft="24px";e.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(e);var f=["plain-gray","plain-blue","plain-green","plain-orange","plain-yellow","plain-red","plain-purple",null];null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var g=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},
{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{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"}]],k=document.createElement("div");k.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\x3d);";
stroke:"#996185",gradient:"#d5739d"}],[null,{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"}]],k=document.createElement("div");k.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\x3d);";
a.appendChild(k);mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,g.length);b(g[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\x3d\x3d);";
a.appendChild(l);mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,g.length);b(g[this.editorUi.currentScheme])}));c(k);c(l);b(g[this.editorUi.currentScheme]);return a};return l.apply(this,arguments)};null!=window.StyleFormatPanel&&(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,e=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=e&&null!=e.shape&&null!=e.shape.stencil?(b=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editShape").funct()})),
@ -7410,20 +7416,20 @@ e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=
arguments);var a=this.editor.graph,b=this.getCurrentFile(),c=null!=b&&b.isEditable()||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(c);this.actions.get("autosave").setEnabled(null!=b&&b.isEditable()&&b.isAutosaveOptional());this.actions.get("guides").setEnabled(c);this.actions.get("shadowVisible").setEnabled(c);this.actions.get("connectionArrows").setEnabled(c);this.actions.get("connectionPoints").setEnabled(c);this.actions.get("copyStyle").setEnabled(c&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(c&&
!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(c);this.actions.get("createRevision").setEnabled(c);this.actions.get("moveToFolder").setEnabled(null!=b);this.actions.get("makeCopy").setEnabled(null!=b&&!b.isRestricted());this.actions.get("editDiagram").setEnabled("1"==urlParams.embed||null!=b&&!b.isRestricted());this.actions.get("imgur").setEnabled(null!=b&&!b.isRestricted());this.actions.get("twitter").setEnabled(null!=
b&&!b.isRestricted());this.actions.get("facebook").setEnabled(null!=b&&!b.isRestricted());this.actions.get("github").setEnabled(null!=b&&!b.isRestricted());this.actions.get("publishLink").setEnabled(null!=b&&!b.isRestricted());this.menus.get("publish").setEnabled(null!=b&&!b.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(c&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=
null;Graph.prototype.pasteCounter=0;Graph.prototype.edgeMode="move"!=urlParams.edge;var p=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){p.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#dropShadow)"):this.view.getDrawPane().removeAttribute("filter"),
b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};var r=Graph.prototype.init;Graph.prototype.init=function(){function a(c){b=c;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)b=mxUtils.clone(c)}r.apply(this,arguments);var b=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){b=null});this.isMouseInsertPoint=function(){return null!=b};var c=this.getInsertPoint;
this.getInsertPoint=function(){return null!=b?this.getPointForEvent(b):c.apply(this,arguments)};var d=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a),b=null!=b?b.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==b.childLayout){var c=new mxStackLayout(this.graph,!1);c.setChildGeometry=function(a,b){b.height=Math.max(b.height,20);if(1<b.height/20){var c=b.height%20;b.height+=10<c?20-c:-c}this.graph.getModel().setGeometry(a,
b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];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.eeLogicGates=[STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries.eeResistors=[STENCIL_PATH+"/electrical/resistors.xml"];mxStencilRegistry.libraries.eeCapacitors=[STENCIL_PATH+"/electrical/capacitors.xml"];mxStencilRegistry.libraries.eeInductors=[STENCIL_PATH+"/electrical/inductors.xml"];mxStencilRegistry.libraries.eeSwitchesRelays=
[STENCIL_PATH+"/electrical/switchesRelays.xml",STENCIL_PATH+"/electrical/electro-mechanical.xml"];mxStencilRegistry.libraries.eeDiodes=[STENCIL_PATH+"/electrical/diodes.xml"];mxStencilRegistry.libraries.eeSources=[STENCIL_PATH+"/electrical/signal_sources.xml"];mxStencilRegistry.libraries.eeTransistors=[STENCIL_PATH+"/electrical/mosfets1.xml",STENCIL_PATH+"/electrical/mosfets2.xml",STENCIL_PATH+"/electrical/transistors.xml"];mxStencilRegistry.libraries.eeMisc=[STENCIL_PATH+"/electrical/electro-mechanical.xml",
STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries.eeAudio=[STENCIL_PATH+"/electrical/radio.xml"];mxStencilRegistry.libraries.eePlcLadder=[STENCIL_PATH+"/electrical/plc_ladder.xml"];mxStencilRegistry.libraries.eeAbstract=[STENCIL_PATH+"/electrical/abstract.xml",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries.eeOptical=[STENCIL_PATH+"/electrical/opto_electronics.xml"];mxStencilRegistry.libraries.eeVacuumTubes=[STENCIL_PATH+"/electrical/vacuum_tubes.xml"];
mxStencilRegistry.libraries.eeWaveforms=[STENCIL_PATH+"/electrical/waveforms.xml"];mxStencilRegistry.libraries.eeInstruments=[STENCIL_PATH+"/electrical/instruments.xml"];mxStencilRegistry.libraries["mscae/cloud"]=[STENCIL_PATH+"/mscae/cloud.xml"];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.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];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"];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.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.citrix=[STENCIL_PATH+"/citrix.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"];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 s=
mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,g,k,l,m){if(null!=c&&null==mxMarker.markers[c]){var n=this.getPackageForType(c);null!=n&&mxStencilRegistry.getStencil(n)}return s.apply(this,arguments)}})();var mxSettings={key:".drawio-config",settings:{language:"",libraries:Sidebar.prototype.defaultEntries,customLibraries:[],plugins:[],formatWidth:"240",currentEdgeStyle:Graph.prototype.defaultEdgeStyle,currentVertexStyle:{},createTarget:!1,pageFormat:mxGraph.prototype.pageFormat,search:!0,showStartScreen:!0,gridColor:mxGraphView.prototype.gridColor,autosave:!0,version:12,isNew:!0},getLanguage:function(){return this.settings.language},setLanguage:function(a){this.settings.language=a},getUi:function(){return this.settings.ui},
null;Graph.prototype.pasteCounter=0;Graph.prototype.edgeMode="move"!=urlParams.edge;var p=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){p.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";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")))};var r=Graph.prototype.init;Graph.prototype.init=function(){function a(c){b=c;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)b=mxUtils.clone(c)}r.apply(this,arguments);var b=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){b=
null});this.isMouseInsertPoint=function(){return null!=b};var c=this.getInsertPoint;this.getInsertPoint=function(){return null!=b?this.getPointForEvent(b):c.apply(this,arguments)};var d=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a),b=null!=b?b.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==b.childLayout){var c=new mxStackLayout(this.graph,!1);c.setChildGeometry=function(a,b){b.height=Math.max(b.height,20);
if(1<b.height/20){var c=b.height%20;b.height+=10<c?20-c:-c}this.graph.getModel().setGeometry(a,b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=
[SHAPES_PATH+"/er/mxER.js"];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.eeLogicGates=[STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries.eeResistors=[STENCIL_PATH+"/electrical/resistors.xml"];mxStencilRegistry.libraries.eeCapacitors=[STENCIL_PATH+"/electrical/capacitors.xml"];mxStencilRegistry.libraries.eeInductors=
[STENCIL_PATH+"/electrical/inductors.xml"];mxStencilRegistry.libraries.eeSwitchesRelays=[STENCIL_PATH+"/electrical/switchesRelays.xml",STENCIL_PATH+"/electrical/electro-mechanical.xml"];mxStencilRegistry.libraries.eeDiodes=[STENCIL_PATH+"/electrical/diodes.xml"];mxStencilRegistry.libraries.eeSources=[STENCIL_PATH+"/electrical/signal_sources.xml"];mxStencilRegistry.libraries.eeTransistors=[STENCIL_PATH+"/electrical/mosfets1.xml",STENCIL_PATH+"/electrical/mosfets2.xml",STENCIL_PATH+"/electrical/transistors.xml"];
mxStencilRegistry.libraries.eeMisc=[STENCIL_PATH+"/electrical/electro-mechanical.xml",STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries.eeAudio=[STENCIL_PATH+"/electrical/radio.xml"];mxStencilRegistry.libraries.eePlcLadder=[STENCIL_PATH+"/electrical/plc_ladder.xml"];mxStencilRegistry.libraries.eeAbstract=[STENCIL_PATH+"/electrical/abstract.xml",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries.eeOptical=[STENCIL_PATH+"/electrical/opto_electronics.xml"];
mxStencilRegistry.libraries.eeVacuumTubes=[STENCIL_PATH+"/electrical/vacuum_tubes.xml"];mxStencilRegistry.libraries.eeWaveforms=[STENCIL_PATH+"/electrical/waveforms.xml"];mxStencilRegistry.libraries.eeInstruments=[STENCIL_PATH+"/electrical/instruments.xml"];mxStencilRegistry.libraries["mscae/cloud"]=[STENCIL_PATH+"/mscae/cloud.xml"];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.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];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"];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.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.citrix=[STENCIL_PATH+"/citrix.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"];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 s=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,e,f,g,k,l,m){if(null!=c&&null==mxMarker.markers[c]){var n=this.getPackageForType(c);null!=n&&mxStencilRegistry.getStencil(n)}return s.apply(this,arguments)}})();var mxSettings={key:".drawio-config",settings:{language:"",libraries:Sidebar.prototype.defaultEntries,customLibraries:[],plugins:[],formatWidth:"240",currentEdgeStyle:Graph.prototype.defaultEdgeStyle,currentVertexStyle:{},createTarget:!1,pageFormat:mxGraph.prototype.pageFormat,search:!0,showStartScreen:!0,gridColor:mxGraphView.prototype.gridColor,autosave:!0,version:12,isNew:!0},getLanguage:function(){return this.settings.language},setLanguage:function(a){this.settings.language=a},getUi:function(){return this.settings.ui},
setUi:function(a){this.settings.ui=a},getShowStartScreen:function(){return this.settings.showStartScreen},setShowStartScreen:function(a){this.settings.showStartScreen=a},getGridColor:function(){return this.settings.gridColor},setGridColor:function(a){this.settings.gridColor=a},getAutosave:function(){return this.settings.autosave},setAutosave:function(a){this.settings.autosave=a},getLibraries:function(){return this.settings.libraries},setLibraries:function(a){this.settings.libraries=a},addCustomLibrary:function(a){mxSettings.load();
0>mxUtils.indexOf(this.settings.customLibraries,a)&&this.settings.customLibraries.push(a);mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,this.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return this.settings.customLibraries},getPlugins:function(){return this.settings.plugins},setPlugins:function(a){this.settings.plugins=a},getFormatWidth:function(){return parseInt(this.settings.formatWidth)},setFormatWidth:function(a){this.settings.formatWidth=
a},getCurrentEdgeStyle:function(){return this.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){this.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return this.settings.currentVertexStyle},setCurrentVertexStyle:function(a){this.settings.currentVertexStyle=a},isCreateTarget:function(){return this.settings.createTarget},setCreateTarget:function(a){this.settings.createTarget=a},getPageFormat:function(){return this.settings.pageFormat},setPageFormat:function(a){this.settings.pageFormat=
@ -7514,10 +7520,10 @@ null,this.offset=a.offset||0,this.expiresAt=m.Util.parseDate(a.expires)||Date.no
d,e;e=[];b=c=0;for(d=a.length;0<=d?d>c:c>d;b=0<=d?++c:--c)e.push(String.fromCharCode(a[b]));return e.join("")},m.Util.btoa=function(a){var b,c,d=Buffer,e,f,g;g=[];c=e=0;for(f=a.length;0<=f?f>e:e>f;c=0<=f?++e:--e)g.push(a.charCodeAt(c));return b=new d(g),b.toString("base64")}):!function(){var a,b;return b=function(a,b,c){var d,e;e=3-b;a<<=8*e;for(d=3;d>=e;)c.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(a>>6*d&63)),d-=1;for(d=b;3>d;)c.push("\x3d"),d+=1;return null},
a=function(a,b,c){var d;d=4-b;a<<=6*d;for(b=2;b>=d;)c.push(String.fromCharCode(a>>8*b&255)),b-=1;return null},m.Util.btoa=function(a){var c,d,e,f,g,k;f=[];e=g=d=c=0;for(k=a.length;0<=k?k>g:g>k;e=0<=k?++g:--g)c=c<<8|a.charCodeAt(e),d+=1,3===d&&(b(c,d,f),c=d=0);return 0<d&&b(c,d,f),f.join("")},m.Util.atob=function(b){var c,d,e,f,g,k,l;g=[];f=k=e=c=0;for(l=b.length;(0<=l?l>k:k>l)&&(d=b.charAt(f),"\x3d"!==d);f=0<=l?++k:--k)c=c<<6|"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(d),
e+=1,4===e&&(a(c,e,g),c=e=0);return 0<e&&a(c,e,g),g.join("")}}(),function(){var a,b,c,d,e,f,g,k,l;if(m.Util.hmac=function(b,d){return a(c(k(b),k(d),b.length,d.length))},m.Util.sha1=function(b){return a(d(k(b),b.length))},m.Util.sha256=function(b){return a(e(k(b),b.length))},m.Env.require)try{b=m.Env.require("crypto"),b.createHmac&&b.createHash&&(m.Util.hmac=function(a,c){var d;return d=b.createHmac("sha1",c),d.update(a),d.digest("base64")},m.Util.sha1=function(a){var c;return c=b.createHash("sha1"),
c.update(a),c.digest("base64")},m.Util.sha256=function(a){var c;return c=b.createHash("sha256"),c.update(a),c.digest("base64")})}catch(n){}return c=function(a,b,c,e){var f,g,k,l;return 16<b.length&&(b=d(b,e)),k=function(){var a,c;c=[];for(g=a=0;16>a;g=++a)c.push(909522486^b[g]);return c}(),l=function(){var a,c;c=[];for(g=a=0;16>a;g=++a)c.push(1549556828^b[g]);return c}(),f=d(k.concat(a),64+c),d(l.concat(f),84)},d=function(a,b){var c,d,e,f,g,k,l,m,n,p,q,t,u,r,s,v,z;a[b>>2]|=1<<31-((3&b)<<3);a[(b+8>>
6<<4)+15]=b<<3;s=Array(80);c=1732584193;e=4023233417;g=2562383102;l=271733878;n=3285377520;q=0;for(u=a.length;u>q;){d=c;f=e;k=g;m=l;p=n;for(t=z=0;80>z;t=++z)16>t?s[t]=0|a[q+t<<2>>2]:(r=(0|s[t-3<<2>>2])^(0|s[t-8<<2>>2])^(0|s[t-14<<2>>2])^(0|s[t-16<<2>>2]),s[t]=r<<1|r>>>31),v=((c<<5|c>>>27)+n|0)+s[t<<2>>2]|0,v=20>t?v+((e&g|~e&l)+1518500249|0)|0:40>t?v+((e^g^l)+1859775393|0)|0:60>t?v+((e&g|e&l|g&l)-1894007588)|0:v+((e^g^l)-899497514|0)|0,n=l,l=g,g=e<<30|e>>>2,e=c,c=v;c=d+c|0;e=f+e|0;g=k+g|0;l=m+l|0;
n=p+n|0;q=q+16|0}return[c,e,g,l,n]},e=function(a,b){var c,d,e,k,l,m,n,p,q,t,u,r,s,v,z,y,A,B,E,Y,aa,X,R,ga,ca,$,fa,ia,ba,ka;a[b>>2]|=1<<31-((3&b)<<3);a[(b+8>>6<<4)+15]=b<<3;ba=Array(80);c=f[0];e=f[1];l=f[2];p=f[3];t=f[4];r=f[5];v=f[6];Y=f[7];X=0;for(ga=a.length;ga>X;){d=c;k=e;m=l;q=p;u=t;s=r;z=v;aa=Y;for(R=ka=0;64>ka;R=++ka)16>R?ia=ba[R]=0|a[X+R<<2>>2]:(A=0|ba[R-15<<2>>2],y=(A<<25|A>>>7)^(A<<14|A>>>18)^A>>>3,E=0|ba[R-2<<2>>2],B=(E<<15|E>>>17)^(E<<13|E>>>19)^E>>>10,ia=ba[R]=(y+(0|ba[R-7<<2>>2])|0)+
(B+(0|ba[R-16<<2>>2])|0)|0),n=t&r^~t&v,ca=c&e^c&l^e&l,$=(c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22),fa=(t<<26|t>>>6)^(t<<21|t>>>11)^(t<<7|t>>>25),n=((Y+fa|0)+(n+ia|0)|0)+(0|g[R<<2>>2])|0,ca=$+ca|0,Y=v,v=r,r=t,t=p+n|0,p=l,l=e,e=c,c=n+ca|0;c=d+c|0;e=k+e|0;l=m+l|0;p=q+p|0;t=u+t|0;r=s+r|0;v=z+v|0;Y=aa+Y|0;X+=16}return[c,e,l,p,t,r,v,Y]},f=[],g=[],function(){var a,b,c,d,e,k,l;b=function(a){return 4294967296*(a-Math.floor(a))|0};e=2;l=[];for(c=k=0;64>k;c=++k){for(;;){d=!0;for(a=2;e>=a*a;){if(0===e%a){d=
c.update(a),c.digest("base64")},m.Util.sha256=function(a){var c;return c=b.createHash("sha256"),c.update(a),c.digest("base64")})}catch(n){}return c=function(a,b,c,e){var f,g,k,l;return 16<b.length&&(b=d(b,e)),k=function(){var a,c;c=[];for(g=a=0;16>a;g=++a)c.push(909522486^b[g]);return c}(),l=function(){var a,c;c=[];for(g=a=0;16>a;g=++a)c.push(1549556828^b[g]);return c}(),f=d(k.concat(a),64+c),d(l.concat(f),84)},d=function(a,b){var c,d,e,f,g,k,l,m,n,p,q,t,r,u,s,v,z;a[b>>2]|=1<<31-((3&b)<<3);a[(b+8>>
6<<4)+15]=b<<3;s=Array(80);c=1732584193;e=4023233417;g=2562383102;l=271733878;n=3285377520;q=0;for(r=a.length;r>q;){d=c;f=e;k=g;m=l;p=n;for(t=z=0;80>z;t=++z)16>t?s[t]=0|a[q+t<<2>>2]:(u=(0|s[t-3<<2>>2])^(0|s[t-8<<2>>2])^(0|s[t-14<<2>>2])^(0|s[t-16<<2>>2]),s[t]=u<<1|u>>>31),v=((c<<5|c>>>27)+n|0)+s[t<<2>>2]|0,v=20>t?v+((e&g|~e&l)+1518500249|0)|0:40>t?v+((e^g^l)+1859775393|0)|0:60>t?v+((e&g|e&l|g&l)-1894007588)|0:v+((e^g^l)-899497514|0)|0,n=l,l=g,g=e<<30|e>>>2,e=c,c=v;c=d+c|0;e=f+e|0;g=k+g|0;l=m+l|0;
n=p+n|0;q=q+16|0}return[c,e,g,l,n]},e=function(a,b){var c,d,e,k,l,m,n,p,q,t,r,u,s,v,z,y,A,B,E,Y,aa,X,R,ga,ca,$,fa,ia,ba,ka;a[b>>2]|=1<<31-((3&b)<<3);a[(b+8>>6<<4)+15]=b<<3;ba=Array(80);c=f[0];e=f[1];l=f[2];p=f[3];t=f[4];u=f[5];v=f[6];Y=f[7];X=0;for(ga=a.length;ga>X;){d=c;k=e;m=l;q=p;r=t;s=u;z=v;aa=Y;for(R=ka=0;64>ka;R=++ka)16>R?ia=ba[R]=0|a[X+R<<2>>2]:(A=0|ba[R-15<<2>>2],y=(A<<25|A>>>7)^(A<<14|A>>>18)^A>>>3,E=0|ba[R-2<<2>>2],B=(E<<15|E>>>17)^(E<<13|E>>>19)^E>>>10,ia=ba[R]=(y+(0|ba[R-7<<2>>2])|0)+
(B+(0|ba[R-16<<2>>2])|0)|0),n=t&u^~t&v,ca=c&e^c&l^e&l,$=(c<<30|c>>>2)^(c<<19|c>>>13)^(c<<10|c>>>22),fa=(t<<26|t>>>6)^(t<<21|t>>>11)^(t<<7|t>>>25),n=((Y+fa|0)+(n+ia|0)|0)+(0|g[R<<2>>2])|0,ca=$+ca|0,Y=v,v=u,u=t,t=p+n|0,p=l,l=e,e=c,c=n+ca|0;c=d+c|0;e=k+e|0;l=m+l|0;p=q+p|0;t=r+t|0;u=s+u|0;v=z+v|0;Y=aa+Y|0;X+=16}return[c,e,l,p,t,u,v,Y]},f=[],g=[],function(){var a,b,c,d,e,k,l;b=function(a){return 4294967296*(a-Math.floor(a))|0};e=2;l=[];for(c=k=0;64>k;c=++k){for(;;){d=!0;for(a=2;e>=a*a;){if(0===e%a){d=
!1;break}a+=1}if(d)break;e+=1}8>c&&(f[c]=b(Math.pow(e,0.5)));g[c]=b(Math.pow(e,1/3));l.push(e+=1)}return l}(),a=function(a){var b,c,d,e,f;e="";b=0;for(d=4*a.length;d>b;)c=b,f=(a[c>>2]>>(3-(3&c)<<3)&255)<<16,c+=1,f|=(a[c>>2]>>(3-(3&c)<<3)&255)<<8,c+=1,f|=a[c>>2]>>(3-(3&c)<<3)&255,e+=l[f>>18&63],e+=l[f>>12&63],b+=1,e+=b>=d?"\x3d":l[f>>6&63],b+=1,e+=b>=d?"\x3d":l[63&f],b+=1;return e},l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=function(a){var b,c,d,e;b=[];c=d=0;for(e=a.length;0<=
e?e>d:d>e;c=0<=e?++d:--d)b[c>>2]|=(a.charCodeAt(c)&255)<<(3-(3&c)<<3);return b}}(),m.Util.Oauth=function(){function a(b){this._loaded=this._appHash=this._error=this._tokenKid=this._tokenKey=this._token=this._authCode=this._stateParam=this._secret=this._id=null;this.setCredentials(b)}return a.prototype.setCredentials=function(a){if(a.key)this._id=a.key;else{if(!a.token)throw Error("No API key supplied");this._id=null}return this._secret=a.secret||null,this._appHash=null,this._error=null,this._loaded=
!0,this.reset(),a.token?(this._token=a.token,a.tokenKey&&(this._tokenKey=a.tokenKey,this._tokenKid=a.tokenKid)):a.oauthCode?this._authCode=a.oauthCode:a.oauthStateParam&&(this._stateParam=a.oauthStateParam),this},a.prototype.credentials=function(){var a;return a={},this._id&&(a.key=this._id),this._secret&&(a.secret=this._secret),null!==this._token?(a.token=this._token,this._tokenKey&&(a.tokenKey=this._tokenKey,a.tokenKid=this._tokenKid)):null!==this._authCode?a.oauthCode=this._authCode:null!==this._stateParam&&
@ -7579,11 +7585,11 @@ DriveRealtime.prototype.updateStatusInterval=2E4;DriveRealtime.prototype.diagram
DriveRealtime.prototype.ignorePageFormatChanged=!1;DriveRealtime.prototype.ignoreScaleChanged=!1;DriveRealtime.prototype.ignoreBackgroundColorChanged=!1;DriveRealtime.prototype.ignoreShadowVisibleChanged=!1;DriveRealtime.prototype.ignoreBackgroundImageChanged=!1;DriveRealtime.prototype.ignoreMathEnabledChanged=!1;DriveRealtime.prototype.getDiagramMap=function(){return null!=this.ui.currentPage?this.ui.currentPage.mapping.diagramMap:this.diagramMap};
DriveRealtime.prototype.getCurrentPage=function(){return null!=this.page?this.page:this.ui.currentPage};
DriveRealtime.prototype.start=function(){"1"==urlParams.reset&&(this.root.clear(),this.log("reset realtime"));var a=this.createPrefix();this.model.prefix=a+"-";this.ui.editor.resetGraph();this.diagrams=this.root.get(this.diagramsKey);a=!1;null==this.diagrams&&(this.diagrams=this.rtModel.createList(),this.root.set(this.diagramsKey,this.diagrams),a=!0,this.log("realtime model initialized"));var c=!1;if(""!=this.file.getData()){this.ui.fileNode=null;this.ui.pages=null;this.ui.setFileData(this.file.getData());
this.log("xml converted");if(this.root.has("cells")&&a)try{(new Image).src="log?severity\x3dCONFIG\x26msg\x3dconverted-oldrt\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(f){}if(null!=this.ui.pages)for(a=0;a<this.ui.pages.length;a++){var d=this.ui.pages[a],b=this.rtModel.createMap();this.diagrams.push(b);this.ui.updatePageRoot(d);d.mapping=new RealtimeMapping(this,b,d);this.file.isEditable()&&(""!=d.getName()?b.set("name",d.getName()):b.has("name")||b.set("name",
mxResources.get("pageWithNumber",[a+1])));d.setName(b.get("name")||mxResources.get("pageWithNumber",[a+1]));d.mapping.init()}else"1"!=urlParams.pages?(this.diagramMap=this.rtModel.createMap(),this.diagrams.push(this.diagramMap),this.page=new DiagramPage(document.createElement("diagram")),this.page.mapping=new RealtimeMapping(this,this.diagramMap,this.page),this.page.mapping.init()):(this.ui.fileNode=mxUtils.createXmlDocument().createElement("mxfile"),this.ui.pages=[],b=this.rtModel.createMap(),this.diagrams.push(b),
d=new DiagramPage(this.ui.fileNode.ownerDocument.createElement("diagram")),d.mapping=new RealtimeMapping(this,b,d),this.ui.currentPage=d,this.file.isEditable()&&!d.mapping.diagramMap.has("name")&&d.mapping.diagramMap.set("name",mxResources.get("pageWithNumber",[1])),d.setName(d.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[1])),this.ui.pages.push(d),d.mapping.init());c=!0}else if(2>this.diagrams.length&&"1"!=urlParams.pages)this.ui.fileNode=null,this.ui.pages=null,0==this.diagrams.length?
(this.diagramMap=this.rtModel.createMap(),this.diagrams.push(this.diagramMap)):this.diagramMap=this.diagrams.get(0),this.page=new DiagramPage(document.createElement("diagram")),this.page.mapping=new RealtimeMapping(this,this.diagramMap,this.page),this.page.mapping.init(),this.ui.editor.fireEvent(new mxEventObject("resetGraphView"));else{this.ui.fileNode=mxUtils.createXmlDocument().createElement("mxfile");this.ui.pages=[];0==this.diagrams.length&&this.diagrams.push(this.rtModel.createMap());Math.max(0,
Math.min(this.diagrams.length-1,urlParams.page||0));for(a=0;a<this.diagrams.length;a++)d=new DiagramPage(this.ui.fileNode.ownerDocument.createElement("diagram")),d.mapping=new RealtimeMapping(this,this.diagrams.get(a),d),this.file.isEditable()&&!d.mapping.diagramMap.has("name")&&d.mapping.diagramMap.set("name",mxResources.get("pageWithNumber",[a+1])),d.setName(d.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[a+1])),this.ui.pages.push(d);this.ui.currentPage=this.ui.pages[Math.max(0,
this.log("xml converted");if(this.root.has("cells")&&a)try{(new Image).src="https://log.draw.io/log?severity\x3dCONFIG\x26msg\x3dconverted-oldrt\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26ts\x3d"+(new Date).getTime()}catch(f){}if(null!=this.ui.pages)for(a=0;a<this.ui.pages.length;a++){var d=this.ui.pages[a],b=this.rtModel.createMap();this.diagrams.push(b);this.ui.updatePageRoot(d);d.mapping=new RealtimeMapping(this,b,d);this.file.isEditable()&&(""!=d.getName()?b.set("name",d.getName()):b.has("name")||
b.set("name",mxResources.get("pageWithNumber",[a+1])));d.setName(b.get("name")||mxResources.get("pageWithNumber",[a+1]));d.mapping.init()}else"1"!=urlParams.pages?(this.diagramMap=this.rtModel.createMap(),this.diagrams.push(this.diagramMap),this.page=new DiagramPage(document.createElement("diagram")),this.page.mapping=new RealtimeMapping(this,this.diagramMap,this.page),this.page.mapping.init()):(this.ui.fileNode=mxUtils.createXmlDocument().createElement("mxfile"),this.ui.pages=[],b=this.rtModel.createMap(),
this.diagrams.push(b),d=new DiagramPage(this.ui.fileNode.ownerDocument.createElement("diagram")),d.mapping=new RealtimeMapping(this,b,d),this.ui.currentPage=d,this.file.isEditable()&&!d.mapping.diagramMap.has("name")&&d.mapping.diagramMap.set("name",mxResources.get("pageWithNumber",[1])),d.setName(d.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[1])),this.ui.pages.push(d),d.mapping.init());c=!0}else if(2>this.diagrams.length&&"1"!=urlParams.pages)this.ui.fileNode=null,this.ui.pages=
null,0==this.diagrams.length?(this.diagramMap=this.rtModel.createMap(),this.diagrams.push(this.diagramMap)):this.diagramMap=this.diagrams.get(0),this.page=new DiagramPage(document.createElement("diagram")),this.page.mapping=new RealtimeMapping(this,this.diagramMap,this.page),this.page.mapping.init(),this.ui.editor.fireEvent(new mxEventObject("resetGraphView"));else{this.ui.fileNode=mxUtils.createXmlDocument().createElement("mxfile");this.ui.pages=[];0==this.diagrams.length&&this.diagrams.push(this.rtModel.createMap());
Math.max(0,Math.min(this.diagrams.length-1,urlParams.page||0));for(a=0;a<this.diagrams.length;a++)d=new DiagramPage(this.ui.fileNode.ownerDocument.createElement("diagram")),d.mapping=new RealtimeMapping(this,this.diagrams.get(a),d),this.file.isEditable()&&!d.mapping.diagramMap.has("name")&&d.mapping.diagramMap.set("name",mxResources.get("pageWithNumber",[a+1])),d.setName(d.mapping.diagramMap.get("name")||mxResources.get("pageWithNumber",[a+1])),this.ui.pages.push(d);this.ui.currentPage=this.ui.pages[Math.max(0,
Math.min(this.ui.pages.length-1,urlParams.page||0))];for(a=0;a<this.ui.pages.length;a++)this.ui.pages[a].mapping.init()}this.installReadOnlyListener();this.installUiChangeListeners();this.installGraphModelListener();this.installPageSelectListener();this.chatHistory=this.root.get("chatHistory");null==this.chatHistory&&this.initializeChat();this.installSelectionModelListener();this.installCollaboratorListener();this.updateCollaborators();this.doc.addEventListener(gapi.drive.realtime.EventType.DOCUMENT_SAVE_STATE_CHANGED,
mxUtils.bind(this,function(a){this.saving&&(!a.isPending&&!a.isSaving&&!c)&&(this.ui.isLegacyDriveDomain()&&"1"!=urlParams.ignoremime&&this.ui.drive.verifyMimeType(this.file.getId()),this.file.isAutosave()?this.triggerAutosave():this.ui.editor.setStatus(mxResources.get("allChangesSaved")),this.saving=!1,this.resetUpdateStatusThread(),this.realtimeHeartbeat=DriveRealtime.prototype.realtimeHeartbeat,null!=this.isAliveThread&&(window.clearTimeout(this.isAliveThread),this.isAliveThread=null))}));a=mxUtils.bind(this,
function(){this.resetUpdateStatusThread();this.ui.resetScrollbars();this.updateStatus();c=!1});c?(this.ui.editor.setStatus(mxResources.get("saving")+"..."),this.file.save(!1,a,a)):a();null==this.previousUndoListener&&(this.previousUndoListener=this.ui.editor.undoListener,this.ui.editor.undoListener=mxUtils.bind(this,function(a,b){this.ignoreChange||this.previousUndoListener.apply(this,arguments)}))};
@ -7638,8 +7644,8 @@ null);null!=this.foldingEnabledListener&&(this.ui.removeListener(this.foldingEna
(this.graph.selectionModel.removeListener(this.graphSelectionModelChangeListener),this.graphSelectionModelChangeListener=null);null!=this.disconnectListener&&(this.ui.drive.removeListener(this.disconnectListener),this.disconnectListener=null);null!=this.autosaveChangeListener&&(this.ui.editor.removeListener(this.autosaveChangeListener),this.autosaveChangeListener=null);null!=this.graphModelChangeListener&&(this.model.removeListener(this.graphModelChangeListener),this.graphModelChangeListener=null);
null!=this.viewStateListener&&(this.ui.editor.removeListener(this.viewStateListener),this.viewStateListener=null);null!=this.collaboratorsElement&&(this.collaboratorsElement.parentNode.removeChild(this.collaboratorsElement),this.collaboratorsElement=null);null!=this.updateStatusThread&&(window.clearInterval(this.updateStatusThread),this.updateStatusThread=null);this.ui.allowAnimation=!0;try{!a&&!this.doc.isClosed&&this.doc.close()}catch(c){}};function RealtimeMapping(a,c,f){this.driveRealtime=a;this.diagramMap=c;this.page=f;this.graphModel=new mxGraphModel;null!=f.root&&this.graphModel.setRoot(f.root);this.ui=this.driveRealtime.ui;this.root=this.driveRealtime.root;this.graph=this.driveRealtime.graph;this.rtModel=this.driveRealtime.rtModel}RealtimeMapping.prototype.driveRealtime=null;RealtimeMapping.prototype.diagramMap=null;RealtimeMapping.prototype.page=null;RealtimeMapping.prototype.graphModel=null;
RealtimeMapping.prototype.needsUpdate=!0;RealtimeMapping.prototype.selectionMap=null;
RealtimeMapping.prototype.init=function(){this.diagramMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){if(!this.driveRealtime.isLocalEvent(a)&&(a.property==this.driveRealtime.rootKey&&null!=a.newValue?(this.beginUpdate(),this.initGraph(),this.needsUpdate=!0):"name"==a.property&&null!=a.newValue?(this.driveRealtime.ignoreChange=!0,this.graph.model.execute(new RenamePage(this.ui,this.page,a.newValue)),this.driveRealtime.ignoreChange=!1):this.isActive()&&
null!=a.newValue&&("pageFormat"==a.property?this.realtimePageFormatChanged(a.newValue):"pageScale"==a.property?this.realtimePageScaleChanged(a.newValue):"backgroundColor"==a.property?this.realtimeBackgroundColorChanged(a.newValue):"shadowVisible"==a.property?this.realtimeShadowVisibleChanged(a.newValue):"foldingEnabled"==a.property?this.realtimeFoldingEnabledChanged(a.newValue):"backgroundImage"==a.property?this.realtimeBackgroundImageChanged(a.newValue):"mathEnabled"==a.property&&this.realtimeMathEnabledChanged(a.newValue)),
RealtimeMapping.prototype.init=function(){this.diagramMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){if(!this.driveRealtime.isLocalEvent(a)&&(a.property==this.driveRealtime.rootKey&&null!=a.newValue?(this.beginUpdate(),this.initGraph(),this.needsUpdate=!0):"name"==a.property&&null!=a.newValue?(this.driveRealtime.ignoreChange=!0,this.graph.model.execute(new RenamePage(this.ui,this.page,a.newValue)),this.driveRealtime.ignoreChange=!1):null!=a.newValue&&
("pageFormat"==a.property?this.realtimePageFormatChanged(a.newValue):"pageScale"==a.property?this.realtimePageScaleChanged(a.newValue):"backgroundColor"==a.property?this.realtimeBackgroundColorChanged(a.newValue):"shadowVisible"==a.property?this.realtimeShadowVisibleChanged(a.newValue):"foldingEnabled"==a.property?this.realtimeFoldingEnabledChanged(a.newValue):"backgroundImage"==a.property?this.realtimeBackgroundImageChanged(a.newValue):"mathEnabled"==a.property&&this.realtimeMathEnabledChanged(a.newValue)),
null!=a.newValue&&("pageFormat"==a.property||"pageScale"==a.property||"shadowVisible"==a.property||"backgroundColor"==a.property||"foldingEnabled"==a.property||"backgroundImage"==a.property||"mathEnabled"==a.property)))this.needsUpdate=!0}));this.diagramMap.has(this.driveRealtime.rootKey)?this.initGraph():this.initRealtime();this.page.root=this.graphModel.getRoot();this.selectionMap=this.diagramMap.get("select");null==this.selectionMap&&this.initializeSelection();this.driveRealtime.file.isEditable()&&
this.selectionMap.set(this.driveRealtime.userId,"");this.installRemoteSelectionListener()};RealtimeMapping.prototype.initializeSelection=function(){this.selectionMap=this.rtModel.createMap();this.driveRealtime.file.isEditable()&&this.diagramMap.set("select",this.selectionMap)};
RealtimeMapping.prototype.installRemoteSelectionListener=function(){this.selectionMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){if(!this.driveRealtime.isLocalEvent(a)&&null!=a.newValue&&(null==this.ui.currentPage||this.ui.currentPage==this.page))for(var c=a.newValue.split(","),f=0;f<c.length;f++)this.driveRealtime.highlight(this.driveRealtime.model.getCell(c[f]),a.sessionId)}))};
@ -7668,12 +7674,14 @@ RealtimeMapping.prototype.handleValueChanged=function(a,c){var f=a.cell;if(!this
d?e.remove(f):(f=d.children.indexOf(a),0<=f&&e.add(d.cell,a.cell,f)))}};
RealtimeMapping.prototype.handleValuesAdded=function(a,c){if(!this.driveRealtime.isLocalEvent(c))for(var f=this.beginUpdate(),d=0;d<c.values.length;d++){var b=c.values[d];if(null!=b.parent)if(b.parent!=a)a.children.removeValue(b);else{if(null==b.cell||null==b.cell.parent)this.createCell(b),this.restoreCell(b);for(var e=a.children.indexOf(b),g=a.children.lastIndexOf(b);e!=g;)a.children.remove(g),g=a.children.lastIndexOf(b);b.parent==a&&f.add(a.cell,b.cell,Math.min(e,c.index+d))}}};
RealtimeMapping.prototype.handleValuesRemoved=function(a,c){if(!this.driveRealtime.isLocalEvent(c))for(var f=this.beginUpdate(),d=0;d<c.values.length;d++){var b=c.values[d];if(null!=b.cell)if(null!=b.parent&&b.parent!=a&&b.cell.parent!=b.parent.cell){var e=b.parent.children.indexOf(b);f.add(b.parent.cell,b.cell,e)}else e=a.children.indexOf(b),0<=e&&f.add(a.cell,b.cell,e)}};
RealtimeMapping.prototype.realtimePageFormatChanged=function(a,c){if(null!=a){var f=a.split(",");1<f.length&&(c?this.graph.pageFormat=new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1])):(this.driveRealtime.ignorePageFormatChanged=!0,this.ui.setPageFormat(new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1]))),this.driveRealtime.ignorePageFormatChanged=!1))}};
RealtimeMapping.prototype.realtimePageScaleChanged=function(a,c){null!=a&&(c?this.graph.pageScale=parseFloat(a):(this.driveRealtime.ignorePageScaleChanged=!0,this.ui.setPageScale(parseFloat(a)),this.driveRealtime.ignorePageScaleChanged=!1))};RealtimeMapping.prototype.realtimeBackgroundColorChanged=function(a,c){c?this.graph.background=""==a?null:a:(this.driveRealtime.ignoreBackgroundColorChanged=!0,this.ui.setBackgroundColor(""==a?null:a),this.driveRealtime.ignoreBackgroundColorChanged=!1)};
RealtimeMapping.prototype.realtimeFoldingEnabledChanged=function(a,c){c?this.graph.foldingEnabled="1"==a:(this.driveRealtime.ignoreFoldingEnabledChanged=!0,this.ui.setFoldingEnabled("1"==a),this.driveRealtime.ignoreFoldingEnabledChanged=!1)};RealtimeMapping.prototype.realtimeShadowVisibleChanged=function(a,c){this.driveRealtime.ignoreShadowVisibleChanged=!0;this.ui.editor.graph.setShadowVisible("1"==a);this.driveRealtime.ignoreShadowVisibleChanged=!1};
RealtimeMapping.prototype.realtimeBackgroundImageChanged=function(a,c){var f=null!=a&&0<a.length?JSON.parse(a):null;c?this.graph.setBackgroundImage(null!=f?new mxImage(f.src,f.width,f.height):null):(this.driveRealtime.ignoreBackgroundImageChanged=!0,this.ui.setBackgroundImage(null!=f?new mxImage(f.src,f.width,f.height):null),this.driveRealtime.ignoreBackgroundImageChanged=!1)};
RealtimeMapping.prototype.realtimeMathEnabledChanged=function(a,c){c?this.graph.mathEnabled="1"==urlParams.math||"1"==a:(this.driveRealtime.ignoreMathEnabledChanged=!0,this.ui.setMathEnabled("1"==urlParams.math||"1"==a),this.driveRealtime.ignoreMathEnabledChanged=!1)};RealtimeMapping.prototype.removeAllRealtimeCellListeners=function(a){if(null!=a){a.removeAllEventListeners();a.children.removeAllEventListeners();for(var c=0;c<a.children.length;c++)this.removeAllRealtimeCellListeners(a.children.get(c))}};
RealtimeMapping.prototype.destroy=function(){this.diagramMap.removeAllEventListeners();this.selectionMap.removeAllEventListeners();this.removeAllRealtimeCellListeners(this.diagramMap.get(this.driveRealtime.rootKey))};DriveFile=function(a,c,f,d){DrawioFile.call(this,a,c);this.desc=f;null!=d&&(null!=d.getModel()&&null!=d.getModel().getRoot())&&(this.realtime=new DriveRealtime(this,d))};mxUtils.extend(DriveFile,DrawioFile);DriveFile.prototype.isRestricted=function(){return null!=this.desc.userPermission&&null!=this.desc.labels&&"reader"==this.desc.userPermission.role&&this.desc.labels.restricted};DriveFile.prototype.saveDelay=0;DriveFile.prototype.getMode=function(){return App.MODE_GOOGLE};
RealtimeMapping.prototype.realtimePageFormatChanged=function(a,c){if(null!=a){var f=a.split(",");1<f.length&&(this.isActive()?c?this.graph.pageFormat=new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1])):(this.driveRealtime.ignorePageFormatChanged=!0,this.ui.setPageFormat(new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1]))),this.driveRealtime.ignorePageFormatChanged=!1):null!=this.page.viewState&&(this.page.viewState.pageFormat=new mxRectangle(0,0,parseInt(f[0]),parseInt(f[1]))))}};
RealtimeMapping.prototype.realtimePageScaleChanged=function(a,c){null!=a&&(this.isActive()?c?this.graph.pageScale=parseFloat(a):(this.driveRealtime.ignorePageScaleChanged=!0,this.ui.setPageScale(parseFloat(a)),this.driveRealtime.ignorePageScaleChanged=!1):null!=this.page.viewState&&(this.page.viewState.pageScale=parseFloat(a)))};
RealtimeMapping.prototype.realtimeBackgroundColorChanged=function(a,c){this.isActive()?c?this.graph.background=""==a?null:a:(this.driveRealtime.ignoreBackgroundColorChanged=!0,this.ui.setBackgroundColor(""==a?null:a),this.driveRealtime.ignoreBackgroundColorChanged=!1):null!=this.page.viewState&&(this.page.viewState.background=""==a?null:a)};
RealtimeMapping.prototype.realtimeFoldingEnabledChanged=function(a,c){this.isActive()?c?this.graph.foldingEnabled="1"==a:(this.driveRealtime.ignoreFoldingEnabledChanged=!0,this.ui.setFoldingEnabled("1"==a),this.driveRealtime.ignoreFoldingEnabledChanged=!1):null!=this.page.viewState&&(this.page.viewState.foldingEnabled="1"==a)};
RealtimeMapping.prototype.realtimeShadowVisibleChanged=function(a,c){this.isActive()?(this.driveRealtime.ignoreShadowVisibleChanged=!0,this.ui.editor.graph.setShadowVisible("1"==a),this.driveRealtime.ignoreShadowVisibleChanged=!1):null!=this.page.viewState&&(this.page.viewState.shadowVisible="1"==a)};
RealtimeMapping.prototype.realtimeBackgroundImageChanged=function(a,c){var f=null!=a&&0<a.length?JSON.parse(a):null;this.isActive()?c?this.graph.setBackgroundImage(null!=f?new mxImage(f.src,f.width,f.height):null):(this.driveRealtime.ignoreBackgroundImageChanged=!0,this.ui.setBackgroundImage(null!=f?new mxImage(f.src,f.width,f.height):null),this.driveRealtime.ignoreBackgroundImageChanged=!1):null!=this.page.viewState&&(this.page.viewState.backgroundImage=null!=f?new mxImage(f.src,f.width,f.height):
null)};RealtimeMapping.prototype.realtimeMathEnabledChanged=function(a,c){this.isActive()?c?this.graph.mathEnabled="1"==urlParams.math||"1"==a:(this.driveRealtime.ignoreMathEnabledChanged=!0,this.ui.setMathEnabled("1"==urlParams.math||"1"==a),this.driveRealtime.ignoreMathEnabledChanged=!1):null!=this.page.viewState&&(this.page.viewState.mathEnabled="1"==urlParams.math||"1"==a)};
RealtimeMapping.prototype.removeAllRealtimeCellListeners=function(a){if(null!=a){a.removeAllEventListeners();a.children.removeAllEventListeners();for(var c=0;c<a.children.length;c++)this.removeAllRealtimeCellListeners(a.children.get(c))}};RealtimeMapping.prototype.destroy=function(){this.diagramMap.removeAllEventListeners();this.selectionMap.removeAllEventListeners();this.removeAllRealtimeCellListeners(this.diagramMap.get(this.driveRealtime.rootKey))};DriveFile=function(a,c,f,d){DrawioFile.call(this,a,c);this.desc=f;null!=d&&(null!=d.getModel()&&null!=d.getModel().getRoot())&&(this.realtime=new DriveRealtime(this,d))};mxUtils.extend(DriveFile,DrawioFile);DriveFile.prototype.isRestricted=function(){return null!=this.desc.userPermission&&null!=this.desc.labels&&"reader"==this.desc.userPermission.role&&this.desc.labels.restricted};DriveFile.prototype.saveDelay=0;DriveFile.prototype.getMode=function(){return App.MODE_GOOGLE};
DriveFile.prototype.isAutosaveOptional=function(){return!0};DriveFile.prototype.isAutosave=function(){return this.ui.editor.autosave||this.isAutosaveRevision()};DriveFile.prototype.isAutosaveNow=function(){if(null!=this.realtime&&null!=this.realtime.root){var a=parseInt(this.realtime.root.get("backupDate")),c=parseInt(this.realtime.root.get("modifiedDate"));return isNaN(a)||isNaN(c)||a<c}return!0};
DriveFile.prototype.autosaveCompleted=function(){null!=this.realtime&&null!=this.realtime.root&&this.realtime.root.set("backupDate",(new Date).getTime())};DriveFile.prototype.isRenamable=function(){return this.isEditable()&&DrawioFile.prototype.isEditable.apply(this,arguments)};DriveFile.prototype.isMovable=function(){return this.isEditable()};DriveFile.prototype.save=function(a,c,f,d){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(null,a,c,f,d)};
DriveFile.prototype.saveFile=function(a,c,f,d,b){if(this.isEditable()){if(!this.savingFile){this.savingFile=!0;var e=this.isModified,g=this.isModified();this.setModified(!1);this.ui.drive.saveFile(this,c,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;!1!=a?(c&&(this.lastAutosaveRevision=(new Date).getTime()),this.desc=a,this.contentChanged(),null!=f&&f(a)):(this.setModified(g||this.isModified()),null!=d&&d())}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;
@ -7780,18 +7788,18 @@ ChatWindow.prototype.handleResize=function(){var a=this.window.getElement(),c=th
ChatWindow.prototype.collaboratorListener=function(a){var c=null;if(!a.collaborator.isMe){if(a.type==gapi.drive.realtime.EventType.COLLABORATOR_JOINED)c='\x3cspan style\x3d"color : '+a.collaborator.color+';"\x3e\x26#x25B2\x3c/span\x3e\x3ci\x3e'+mxResources.get("chatJoined",[a.collaborator.displayName])+"\x3c/i\x3e";else if(a.type==gapi.drive.realtime.EventType.COLLABORATOR_LEFT)c='\x3cspan style\x3d"color : '+a.collaborator.color+';"\x3e\x26#x25BC\x3c/span\x3e\x3ci\x3e'+mxResources.get("chatLeft",
[a.collaborator.displayName])+"\x3c/i\x3e";else return;this.chatArea.innerHTML=this.chatArea.innerHTML+c+"\x3cbr\x3e";this.chatArea.scrollTop=this.chatArea.scrollHeight}};ChatWindow.prototype.configCollabInfo=function(){for(var a=this.doc.getCollaborators(),c=0;c<a.length;c++){var f=a[c];f.isMe&&(this.collabColor=f.color,this.displayName=f.displayName)}};ChatWindow.prototype.destroy=function(){this.window.destroy()};
ChatWindow.prototype.htmlEscape=function(a){return a.replace(/&/g,"\x26amp;").replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;").replace(/"/g,"\x26quot;").replace(/'/g,"\x26#039;")};App=function(a,c,f){EditorUi.call(this,a,c,null!=f?f:"1"==urlParams.lightbox);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII\x3d":
(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,b,c){var f=window.open(a);null==f||void 0===f?this.showDialog((new PopupDialog(this,a,b,c)).container,320,140,!0,!0):null!=b&&b()});this.updateUi();a=document.createElement("canvas");this.canvasSupported=!(!a.getContext||!a.getContext("2d"));window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.isOffline()||(EditDataDialog.placeholderHelpLink=
"https://support.draw.io/questions/9338941");this.addFileDropHandler([document]);if(null!=App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)App.DrawPlugins[a](this);window.Draw.loadPlugin=function(a){a(this)}}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.DROPBOX_APPKEY="libwls2fa9szdji";
App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js"};
(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,c,d){var f=window.open(a);null==f||void 0===f?this.showDialog((new PopupDialog(this,a,c,d)).container,320,140,!0,!0):null!=c&&c()});this.updateUi();a=document.createElement("canvas");this.canvasSupported=!(!a.getContext||!a.getContext("2d"));window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.isOffline()||(EditDataDialog.placeholderHelpLink=
"https://support.draw.io/questions/9338941");this.addFileDropHandler([document]);if(null!=App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(d){null!=window.console&&console.log("Plugin Error:",d,App.DrawPlugins[a])}window.Draw.loadPlugin=function(a){a(this)}}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_DEVICE="device";
App.MODE_BROWSER="browser";App.DROPBOX_APPKEY="libwls2fa9szdji";App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",tags:"/plugins/tags.js"};
App.getStoredMode=function(){var a=null;if("undefined"!=typeof Storage)for(var c=document.cookie.split(";"),f=0;f<c.length;f++){var d=mxUtils.trim(c[f]);if("MODE\x3d"==d.substring(0,5)){a=d.substring(5);break}}return a};
(function(){window.isSvgBrowser=window.isSvgBrowser||0>navigator.userAgent.indexOf("MSIE")||9<=document.documentMode;if(!mxClient.IS_CHROMEAPP&&("1"!=urlParams.offline&&("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||
null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&&"#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"==urlParams.chrome&&(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,2)?mxscript("https://www.dropbox.com/static/api/1/dropins.js",
null,"dropboxjs",App.DROPBOX_APPKEY):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(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("https://js.live.net/v5.0/wl.js"):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=
null),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")),"0"!=urlParams.plugins&&"1"!=urlParams.offline)){var a=mxSettings.getPlugins(),c=urlParams.p;if(null!=c||null!=a&&0<a.length)App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)};if(null!=c)for(var c=c.split(";"),f=0;f<c.length;f++){var d=App.pluginRegistry[c[f]];null!=d?mxscript(d):null!=window.console&&console.log("Unknown plugin:",c[f])}if(null!=a&&0<a.length&&"0"!=urlParams.plugins)if(1==
a.length&&("/"==a[0].charAt(0)||0==a[0].indexOf(window.location.protocol+"//"+window.location.host)))mxscript(a[0]);else if(mxUtils.confirm(mxResources.replacePlaceholders("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",[a.join("\n")]).replace(/\\n/g,"\n")))for(f=0;f<a.length;f++)try{mxscript(a[f])}catch(b){}}})();
App.main=function(a){var c=null;window.onerror=function(a,b,e,f,k){try{if(!(a==c||null!=a&&null!=b&&(-1!=a.indexOf("Script error")||-1!=a.indexOf("extension")))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var l=new Image,n=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";l.src="log?severity\x3d"+n+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26msg\x3dclientError:"+encodeURIComponent(a)+":url:"+
encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"\x26stack\x3d"+encodeURIComponent(k.stack):"")}}catch(m){}};"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");f.setAttribute("width","0");f.setAttribute("height","0");
f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=f;)"shapes"==f.nodeName&&
App.main=function(a){var c=null;window.onerror=function(a,b,e,f,k){try{if(!(a==c||null!=a&&null!=b&&(-1!=a.indexOf("Script error")||-1!=a.indexOf("extension")))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var l=new Image,n=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";l.src="https://log.draw.io/log?severity\x3d"+n+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26msg\x3dclientError:"+encodeURIComponent(a)+
":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(e)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=k&&null!=k.stack?"\x26stack\x3d"+encodeURIComponent(k.stack):"")}}catch(m){}};"atlas"==uiTheme&&mxClient.link("stylesheet","styles/atlas.css");if(null!=window.mxscript){"0"!=urlParams.chrome&&mxscript("js/jscolor/jscolor.js");if("1"==urlParams.offline){mxscript("js/shapes.min.js");var f=document.createElement("iframe");f.setAttribute("width","0");f.setAttribute("height",
"0");f.setAttribute("src","offline.html");document.body.appendChild(f);mxStencilRegistry.stencilSet={};mxStencilRegistry.getStencil=function(a){return mxStencilRegistry.stencils[a]};mxStencilRegistry.loadStencilSet=function(a,b,c){a=a.substring(a.indexOf("/")+1);a="mxgraph."+a.substring(0,a.length-4).replace(/\//g,".");a=mxStencilRegistry.stencilSet[a];null!=a&&mxStencilRegistry.parseStencilSet(a,b,!1)};for(f=mxUtils.load("stencils.xml").getXml().documentElement.firstChild;null!=f;)"shapes"==f.nodeName&&
null!=f.getAttribute("name")&&(mxStencilRegistry.stencilSet[f.getAttribute("name").toLowerCase()]=f,mxStencilRegistry.parseStencilSet(f)),f=f.nextSibling}"0"!=urlParams.picker&&(!mxClient.IS_QUIRKS&&8!=document.documentMode)&&mxscript(document.location.protocol+"//www.google.com/jsapi?autoload\x3d%7B%22modules%22%3A%5B%7B%22name%22%3A%22picker%22%2C%22version%22%3A%221%22%2C%22language%22%3A%22"+mxClient.language+"%22%7D%5D%7D");"function"===typeof window.DriveClient&&("undefined"===typeof gapi&&
("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode))&&mxscript("https://apis.google.com/js/api.js?onload\x3dDrawGapiClientCallback")}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);mxUtils.getAll("1"!=urlParams.dev?[f]:[f,STYLE_PATH+"/default.xml"],
function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=new App(new Editor("0"==urlParams.chrome));null!=window.mxscript&&("function"===typeof window.DropboxClient&&(null!=window.Dropbox&&"undefined"===typeof Dropbox.choose&&null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))&&
@ -7803,7 +7811,7 @@ App.prototype.chevronUpImage=!mxClient.IS_SVG?IMAGE_PATH+"/chevron-up.png":"data
App.prototype.chevronDownImage=!mxClient.IS_SVG?IMAGE_PATH+"/chevron-down.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUI1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NUM1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1OTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1QTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsCtve8AAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAALUlEQVR42mJgRgMMRAkwQEXBNAOcBSPhclB1cNVwfcxI+vEZykSpoSR6DiDAAF23ApT99bZ+AAAAAElFTkSuQmCC";
App.prototype.formatShowImage=!mxClient.IS_SVG?IMAGE_PATH+"/format-show.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REY1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5RTA1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlERDU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlERTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PlnMQ/8AAAAJUExURQAAAP///3FxcTfTiAsAAAACdFJOU/8A5bcwSgAAACFJREFUeNpiYEQDDEQJMMABTAAixcQ00ALoDiPRcwABBgB6DADly9Yx8wAAAABJRU5ErkJggg\x3d\x3d";
App.prototype.formatHideImage=!mxClient.IS_SVG?IMAGE_PATH+"/format-hide.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REI1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5REM1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlEOTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlEQTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqjT9SMAAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAAAB9JREFUeNpiYEQDDEQJMMABTAAmNdAC6A4j0XMAAQYAcbwA1Xvj1CgAAAAASUVORK5CYII\x3d";
App.prototype.fullscreenImage=!mxClient.IS_SVG?IMAGE_PATH+"/fullscreen.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAABEREQ3UJNbAAAAAXRSTlMAQObYZgAAABxJREFUCNdj+PkBhA4YgNB5AwZ+BiACMiAiEFkA9QQNgW8IGoYAAAAASUVORK5CYII\x3d";App.prototype.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d";
App.prototype.fullscreenImage=!mxClient.IS_SVG?IMAGE_PATH+"/fullscreen.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABpJREFUCNdjgAAbGxAy4AEh5gNwBBGByoIBAIueBd12TUjqAAAAAElFTkSuQmCC";App.prototype.plusImage=!mxClient.IS_SVG?IMAGE_PATH+"/plus.png":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII\x3d";
App.prototype.spinImage=!mxClient.IS_SVG?IMAGE_PATH+"/spin.gif":"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw\x3d\x3d";
App.prototype.emptyLibraryXml="\x3cmxlibrary\x3e[]\x3c/mxlibrary\x3e";App.prototype.mode=null;App.prototype.timeout=25E3;App.prototype.enableLogging=!0;App.prototype.formatEnabled="0"!=urlParams.format;App.prototype.formatWidth=600>screen.width?0:mxSettings.getFormatWidth();"1"!=urlParams.embed&&(App.prototype.menubarHeight=60);Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;
App.prototype.init=function(){EditorUi.prototype.init.apply(this,arguments);if(this.isLocalFileSave()){var a=this;ExportDialog.saveLocalFile=function(b,c,d){var e="text/xml";"svg"===d&&(e="image/svg+xml");a.saveLocalFile(b,c,e)};ExportDialog.saveRequest=function(b,c,d,e){a.saveRequest(b,c,d,e)}}this.defaultLibraryName=mxResources.get("untitledLibrary");this.descriptorChangedListener=mxUtils.bind(this,this.descriptorChanged);if("1"!=urlParams.embed){this.bg=this.createBackground();document.body.appendChild(this.bg);
@ -7835,11 +7843,11 @@ App.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable
App.prototype.getThumbnail=function(a,c){var f=!1;try{if(null==this.thumbImageCache&&(this.thumbImageCache={}),this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){c(a)}),a,this.thumbImageCache,"#ffffff",function(){c()}),f=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var d=this.editor.graph,b=document.createElement("canvas"),e=d.getGraphBounds(),g=a/e.width,g=Math.min(1,Math.min(3*a/(4*e.height),g)),k=Math.floor(e.x),l=Math.floor(e.y);b.setAttribute("width",Math.ceil(g*
(e.width+4)));b.setAttribute("height",Math.ceil(g*(e.height+4)));var n=b.getContext("2d");n.scale(g,g);n.translate(-k,-l);var m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";n.save();n.fillStyle=m;n.fillRect(k,l,Math.ceil(e.width+4),Math.ceil(e.height+4));n.restore();var p=new mxJsCanvas(b),r=new mxAsyncCanvas(this.thumbImageCache);p.images=this.thumbImageCache.images;var s=new mxImageExport;s.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(0.5,
0.5),a.shape.paint(b),b.translate(-0.5,-0.5),b.restore())};s.drawText=function(a,b){};s.drawState(d.getView().getState(d.model.root),r);r.finish(function(){s.drawState(d.getView().getState(d.model.root),p);c(b)});f=!0}}catch(q){}return f};App.prototype.getPublicUrl=function(a,c){c(null)};
App.prototype.createFileData=function(a,c,f,d,b,e,g,k,l){b=null!=b?b:!1;l=null!=l?l:!0;var n=null,m=null;null==f||f.getMode()==App.MODE_DEVICE||f.getMode()==App.MODE_BROWSER?n="_blank":m=n=d;if(null==a)return"";var p=a;if("mxfile"!=p.nodeName.toLowerCase()){var r=this.editor.graph.zapGremlins(mxUtils.getXml(a)),p=this.editor.graph.compress(r);if(this.editor.graph.decompress(p)!=r)return r;r=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(r,p);p=a.ownerDocument.createElement("mxfile");
p.appendChild(r)}p.setAttribute("userAgent",navigator.userAgent);p.setAttribute("version",EditorUi.VERSION);p.setAttribute("editor","www.draw.io");a=null!=f?f.getMode():this.mode;null!=a&&p.setAttribute("type",a);a=mxUtils.getXml(p);if(!e&&!b&&(g||null!=f&&/(\.html)$/i.test(f.getTitle())))a=this.getHtml2(p,c,f.getTitle(),n,m,l);else if(e||!b&&null!=f&&/(\.svg)$/i.test(f.getTitle())){if(null!=f&&(f.getMode()==App.MODE_DEVICE||f.getMode()==App.MODE_BROWSER))d=null;a=this.getEmbeddedSvg(a,c,d,null,k,
l,m)}return a};
App.prototype.createFileData=function(a,c,f,d,b,e,g,k,l){c=null!=c?c:this.editor.graph;b=null!=b?b:!1;l=null!=l?l:!0;var n=null,m=null;null==f||f.getMode()==App.MODE_DEVICE||f.getMode()==App.MODE_BROWSER?n="_blank":m=n=d;if(null==a)return"";var p=a;if("mxfile"!=p.nodeName.toLowerCase()){var r=c.zapGremlins(mxUtils.getXml(a)),p=c.compress(r);if(c.decompress(p)!=r)return r;r=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(r,p);p=a.ownerDocument.createElement("mxfile");p.appendChild(r)}p.setAttribute("userAgent",
navigator.userAgent);p.setAttribute("version",EditorUi.VERSION);p.setAttribute("editor","www.draw.io");a=null!=f?f.getMode():this.mode;null!=a&&p.setAttribute("type",a);a=mxUtils.getXml(p);if(!e&&!b&&(g||null!=f&&/(\.html)$/i.test(f.getTitle())))a=this.getHtml2(p,c,null!=f?f.getTitle():null,n,m,l);else if(e||!b&&null!=f&&/(\.svg)$/i.test(f.getTitle())){if(null!=f&&(f.getMode()==App.MODE_DEVICE||f.getMode()==App.MODE_BROWSER))d=null;a=this.getEmbeddedSvg(a,c,d,null,k,l,m)}return a};
App.prototype.getFileData=function(a,c,f,d,b,e){b=null!=b?b:!0;e=null!=e?e:!1;var g=this.editor.getGraphXml(b);if(b&&null!=this.fileNode&&null!=this.currentPage){var k=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(g)));mxUtils.setTextContent(this.currentPage.node,k);g=this.fileNode.cloneNode(!1);if(e)g.appendChild(this.currentPage.node);else for(e=0;e<this.pages.length;e++){var l=this.pages[e].mapping;this.currentPage!=this.pages[e]&&(null!=l&&l.needsUpdate)&&(k=(new mxCodec(mxUtils.createXmlDocument())).encode(l.graphModel),
l.writeRealtimeToNode(k),k=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(k))),mxUtils.setTextContent(this.pages[e].node,k),l.needsUpdate=!1);g.appendChild(this.pages[e].node)}}return this.createFileData(g,this.editor.graph,this.getCurrentFile(),window.location.href,a,c,f,d,b)};
l.writeRealtimeToNode(k),k=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(k))),mxUtils.setTextContent(this.pages[e].node,k),l.needsUpdate=!1);g.appendChild(this.pages[e].node)}}k=this.editor.graph;e=this.getCurrentFile();if(null!=this.pages&&this.currentPage!=this.pages[0]&&(c||!a&&null!=e&&/(\.svg)$/i.test(e.getTitle()))){var k=this.createTemporaryGraph(k.getStylesheet()),n=k.getGlobalVariable,m=this.pages[0];k.getGlobalVariable=function(a){return"page"==a?m.getName():"pagenumber"==
a?1:n.apply(this,arguments)};document.body.appendChild(k.container);k.model.setRoot(m.root)}a=this.createFileData(g,k,e,window.location.href,a,c,f,d,b);k!=this.editor.graph&&k.container.parentNode.removeChild(k.container);return a};
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};
App.prototype.setMode=function(a,c){this.mode=a;null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if("undefined"!=typeof Storage&&c){var f=new Date;f.setYear(f.getFullYear()+1);document.cookie="MODE\x3d"+a+"; expires\x3d"+f.toUTCString()}null!=this.appIcon&&(f=this.getCurrentFile(),a=null!=f?f.getMode():null,a==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):a==App.MODE_DROPBOX?
(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):a==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="default"))};
@ -7854,14 +7862,14 @@ mxResources.get("close"));a.innerHTML=mxResources.get("close");c.appendChild(a);
App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();var a=mxUtils.bind(this,function(a,b,c){this.loadUrl(PROXY_URL+"?url\x3d"+encodeURIComponent(a),mxUtils.bind(this,function(c){!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200==a.status&&"\x3cmxGraphModel"==a.responseText.substring(0,13))&&b(a.responseText)}),
a):(/(\.png)($|\?)/i.test(a)&&(c=this.extractGraphModelFromPng(c)),b(c))}),c,/(\.png)($|\?)/i.test(a))});"1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){a=this.getDiagramId();var b=this.getCurrentFile();(null==b||b.getHash()!=a)&&this.loadFile(a,!0)}));if((null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("loading")))try{var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,
mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["url"]))});a(decodeURIComponent(urlParams.url),mxUtils.bind(this,function(a){this.spinner.stop();if(null!=a&&0<a.length){var b=urlParams.title;if(null==b&&"1"!=urlParams.notitle){var b=decodeURIComponent(urlParams.url),c=b.lastIndexOf("/");0<=c&&(b=b.substring(c+1));0<(".png"==b.substring(b.length-4))&&(b=b.substring(0,b.length-4)+".xml")}a=new LocalFile(this,a,b||this.defaultFilename);this.fileLoaded(a);this.setMode(null)}}),
mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"),c)}))}catch(f){this.spinner.stop();try{(new Image).src="log?v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26msg\x3derrorLoadingFile:url:"+encodeURIComponent(window.location.href)+(null!=f&&null!=f.message?":err:"+encodeURIComponent(f.message):"")+(null!=f&&null!=f.stack?"\x26stack\x3d"+encodeURIComponent(f.stack):"")}catch(d){}this.handleError(f,mxResources.get("errorLoadingFile"),
c)}else if(null==this.getCurrentFile()){var b=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length)){var a=window.opener||window.parent;a!=window&&this.installMessageHandler(mxUtils.bind(this,function(b,c){if(c.source==a){"data:image/png;base64,"==b.substring(0,22)&&(b=this.extractGraphModelFromPng(b));var d=urlParams.title,d=null!=d?decodeURIComponent(d):this.defaultFilename;this.fileLoaded(new LocalFile(this,b,d));this.getCurrentFile().setModified(!this.editor.chromeless);
this.setMode(null)}}))}else if(null==this.dialog)if("1"==urlParams.demo){var b=Editor.useLocalStorage;this.createFile(this.defaultFilename,null,null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=b}else{b=!1;try{b=null!=window.opener&&null!=window.opener.openFile}catch(c){}if(b)this.spinner.spin(document.body,mxResources.get("loading"));else if(b=this.getDiagramId(),"0"==urlParams.splash&&(null==b||0==b.length)){var d=this.getDraft(),e=null!=d?d.data:this.getFileData(),b=Editor.useLocalStorage;
this.createFile(this.defaultFilename,e,null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=b;null!=d&&(b=this.getCurrentFile(),null!=b&&b.addUnsavedStatus())}else this.loadFile(this.getDiagramId())}});null!=this.drive&&this.defineCustomObjects();var e=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=e&&0<e.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,
mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create","title"]))}),g=mxUtils.bind(this,function(a){this.spinner.stop();"0"!=urlParams.splash&&(this.fileLoaded(new LocalFile(this,a,null)),this.editor.graph.setEnabled(!1),this.mode=urlParams.mode,a=urlParams.title,a=null!=a?decodeURIComponent(a):this.defaultFilename,a=new CreateDialog(this,a,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,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=c}else this.createFile(a,this.getFileData(!0),null,b)})),this.showDialog(a.container,380,270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()})),a.init())}),e=decodeURIComponent(e);if("http://"!=e.substring(0,7)&&"https://"!=e.substring(0,8))try{null!=window.opener&&null!=window.opener[e]?g(window.opener[e]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(k){this.handleError(k,
mxResources.get("errorLoadingFile"))}else a(e,function(a){g(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),c)}))}else{if((null==window.location.hash||1>=window.location.hash.length)&&(null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action)&&null!=this.stateArg.ids)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()):b()}}};
mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"),c)}))}catch(f){this.spinner.stop();try{(new Image).src="https://log.draw.io/log?v\x3d"+encodeURIComponent(EditorUi.VERSION)+"\x26msg\x3derrorLoadingFile:url:"+encodeURIComponent(window.location.href)+(null!=f&&null!=f.message?":err:"+encodeURIComponent(f.message):"")+(null!=f&&null!=f.stack?"\x26stack\x3d"+encodeURIComponent(f.stack):"")}catch(d){}this.handleError(f,
mxResources.get("errorLoadingFile"),c)}else if(null==this.getCurrentFile()){var b=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length)){var a=window.opener||window.parent;a!=window&&this.installMessageHandler(mxUtils.bind(this,function(b,c){if(c.source==a){"data:image/png;base64,"==b.substring(0,22)&&(b=this.extractGraphModelFromPng(b));var d=urlParams.title,d=null!=d?decodeURIComponent(d):this.defaultFilename;this.fileLoaded(new LocalFile(this,
b,d));this.getCurrentFile().setModified(!this.editor.chromeless);this.setMode(null)}}))}else if(null==this.dialog)if("1"==urlParams.demo){var b=Editor.useLocalStorage;this.createFile(this.defaultFilename,null,null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=b}else{b=!1;try{b=null!=window.opener&&null!=window.opener.openFile}catch(c){}if(b)this.spinner.spin(document.body,mxResources.get("loading"));else if(b=this.getDiagramId(),"0"==urlParams.splash&&(null==b||0==b.length)){var d=this.getDraft(),
e=null!=d?d.data:this.getFileData(),b=Editor.useLocalStorage;this.createFile(this.defaultFilename,e,null,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=b;null!=d&&(b=this.getCurrentFile(),null!=b&&b.addUnsavedStatus())}else this.loadFile(this.getDiagramId())}});null!=this.drive&&this.defineCustomObjects();var e=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=e&&0<e.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=
mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create","title"]))}),g=mxUtils.bind(this,function(a){this.spinner.stop();"0"!=urlParams.splash&&(this.fileLoaded(new LocalFile(this,a,null)),this.editor.graph.setEnabled(!1),this.mode=urlParams.mode,a=urlParams.title,a=null!=a?decodeURIComponent(a):this.defaultFilename,a=new CreateDialog(this,a,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,App.MODE_DEVICE);this.setMode(null);Editor.useLocalStorage=c}else this.createFile(a,this.getFileData(!0),null,b)})),this.showDialog(a.container,380,270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()})),a.init())}),e=decodeURIComponent(e);if("http://"!=e.substring(0,7)&&"https://"!=e.substring(0,8))try{null!=window.opener&&null!=window.opener[e]?g(window.opener[e]):this.handleError(null,
mxResources.get("errorLoadingFile"))}catch(k){this.handleError(k,mxResources.get("errorLoadingFile"))}else a(e,function(a){g(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),c)}))}else{if((null==window.location.hash||1>=window.location.hash.length)&&(null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action)&&null!=this.stateArg.ids)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()):b()}}};
App.prototype.showSplash=function(a){var c=mxUtils.bind(this,function(){var a=new SplashDialog(this);this.showDialog(a.container,340,mxClient.IS_CHROMEAPP?180:260,!0,!0,mxUtils.bind(this,function(a){a&&!mxClient.IS_CHROMEAPP&&(a=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,App.MODE_DEVICE),this.setMode(null),Editor.useLocalStorage=a)}));a.init()});this.editor.chromeless?this.handleError({message:mxResources.get("noFileSelected")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,
function(){this.showSplash()})):null==this.mode||a?(a=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();c()})),this.showDialog(a.container,isLocalStorage&&"1"==urlParams.browser?480:380,300,!0,!1),a.init()):null==urlParams.create&&c()};
App.prototype.addLanguageMenu=function(a){var c=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language"))c=document.createElement("div"),c.setAttribute("title",mxResources.get("language")),c.className="geIcon geSprite geSprite-globe",c.style.position="absolute",c.style.cursor="pointer",c.style.bottom="20px",c.style.right="20px",mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var d=new mxPopupMenu(this.menus.get("language").funct);
@ -7958,11 +7966,11 @@ g.length&&(d="https://www.draw.io/embed2.js?s\x3d"+g.join(";"))}null!=b&&(b=b.re
(null==b?null!=f?"\x3ctitle\x3e"+mxUtils.htmlEntities(f)+"\x3c/title\x3e\n":"":"\x3ctitle\x3eDraw.io Diagram\x3c/title\x3e\n")+(null!=b?'\x3cmeta http-equiv\x3d"refresh" content\x3d"0;URL\x3d\''+b+"'\"/\x3e\n":"")+'\x3cmeta charset\x3d"utf-8"/\x3e\n\x3c/head\x3e\n\x3cbody\x3e\n\x3cdiv class\x3d"mxgraph" style\x3d"max-width:100%;border:1px solid transparent;" data-mxgraph\x3d"'+mxUtils.htmlEntities(JSON.stringify(a))+'"\x3e\x3c/div\x3e\n'+(null==b?'\x3cscript type\x3d"text/javascript" src\x3d"'+d+
'"\x3e\x3c/script\x3e':'\x3ca style\x3d"position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href\x3d"'+b+'" target\x3d"_blank"\x3e\x3cimg border\x3d"0" src\x3d"https://www.draw.io/images/drawlogo128.png"/\x3e\x3c/a\x3e')+"\n\x3c/body\x3e\n\x3c/html\x3e\n"};
App.prototype.saveData=function(a,c,f,d){this.isLocalFileSave()?this.saveLocalFile(f,a,d):this.saveRequest(f,a,c,mxUtils.bind(this,function(a,d){var g="undefined"===typeof pako?"\x26xml\x3d"+encodeURIComponent(f):"\x26data\x3d"+encodeURIComponent(this.editor.graph.compress(f));return new mxXmlRequest(SAVE_URL,"format\x3d"+c+(null!=a?"\x26filename\x3d"+encodeURIComponent(a):"")+g)}))};
App.prototype.downloadFile=function(a,c,f,d){try{var b=this.getCurrentFile();d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=null!=b&&null!=b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(e)||/(\.html)$/i.test(e)||/(\.svg)$/i.test(e))e=e.substring(0,e.lastIndexOf("."));var g=e+"."+a;if("xml"==a){var k='\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n'+(c?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d));this.saveData(g,a,k,"text/xml")}else if("html"==
a)k=this.getHtml2(this.editor.getGraphXml(d),this.editor.graph,e,null,null,d),this.saveData(g,a,k,"text/html");else if(("svg"==a||"xmlsvg"==a)&&this.spinner.spin(document.body,mxResources.get("export"))){var l=null,n=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(l)}))});if("svg"==a){var m=this.editor.graph.background;
m==mxConstants.NONE&&(m=null);var p=this.editor.graph.getSvg(m,null,null,!1,null,d);f&&this.editor.addSvgShadow(p);this.convertImages(p,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();n('\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a))})))}else g=e+".svg",l=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();n(a)}),d)}else{var r=
this.editor.graph.getGraphBounds(),k=this.getFileData(!0,null,null,null,d,"xmlpng"!=a),s="";if(r.width*r.height<=MAX_AREA&&k.length<=MAX_REQUEST_SIZE){var q="0";if("xmlpng"==a&&(q="1",a="png",g=e+"."+a,null!=this.pages&&null!=this.currentPage))for(c=0;c<this.pages.length;c++)if(this.pages[c]==this.currentPage){s="\x26from\x3d"+c;break}this.saveRequest(k,g,a,function(b,c){return new mxXmlRequest(EXPORT_URL,"format\x3d"+a+s+"\x26base64\x3d"+c+"\x26embedXml\x3d"+q+"\x26xml\x3d"+encodeURIComponent(k)+
(null!=b?"\x26filename\x3d"+encodeURIComponent(b):""))})}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}}catch(t){this.handleError(t)}};App.prototype.formatFileSize=function(a){var c=-1;do a/=1024,c++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[c]};
App.prototype.downloadFile=function(a,c,f,d,b){try{var e=this.getCurrentFile();d=null!=d?d:this.editor.graph.isSelectionEmpty();var g=null!=e&&null!=e.getTitle()?e.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(g)||/(\.html)$/i.test(g)||/(\.svg)$/i.test(g))g=g.substring(0,g.lastIndexOf("."));var k=g+"."+a;if("xml"==a){var l='\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n'+(c?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,b));this.saveData(k,a,l,"text/xml")}else if("html"==
a)l=this.getHtml2(this.editor.getGraphXml(d),this.editor.graph,g,null,null,d),this.saveData(k,a,l,"text/html");else if(("svg"==a||"xmlsvg"==a)&&this.spinner.spin(document.body,mxResources.get("export"))){var n=null,m=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(n)}))});if("svg"==a){var p=this.editor.graph.background;
p==mxConstants.NONE&&(p=null);var r=this.editor.graph.getSvg(p,null,null,!1,null,d);f&&this.editor.addSvgShadow(r);this.convertImages(r,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();m('\x3c?xml version\x3d"1.0" encoding\x3d"UTF-8"?\x3e\n\x3c!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"\x3e\n'+mxUtils.getXml(a))})))}else k=g+".svg",n=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();m(a)}),d)}else{var s=
this.editor.graph.getGraphBounds(),l=this.getFileData(!0,null,null,null,d,"xmlpng"!=a),q="";if(s.width*s.height<=MAX_AREA&&l.length<=MAX_REQUEST_SIZE){var t="0";if("xmlpng"==a&&(t="1",a="png",k=g+"."+a,null!=this.pages&&null!=this.currentPage))for(c=0;c<this.pages.length;c++)if(this.pages[c]==this.currentPage){q="\x26from\x3d"+c;break}this.saveRequest(l,k,a,function(b,c){return new mxXmlRequest(EXPORT_URL,"format\x3d"+a+q+"\x26base64\x3d"+c+"\x26embedXml\x3d"+t+"\x26xml\x3d"+encodeURIComponent(l)+
(null!=b?"\x26filename\x3d"+encodeURIComponent(b):""))})}else this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"))}}catch(u){this.handleError(u)}};App.prototype.formatFileSize=function(a){var c=-1;do a/=1024,c++;while(1024<a);return Math.max(a,0.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[c]};
App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var c=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,c);this.fname.setAttribute("title",c+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash=
""))}};
App.prototype.handleError=function(a,c,f){var d=this.spinner.pause(),b=null!=a&&null!=a.error?a.error:a;if(null!=b||null!=c){a=mxResources.get("unknownError");var e=mxResources.get("ok"),g=null;c=null!=c?c:mxResources.get("error");if(null!=b)if("undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&b.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxResources.get("forbidden");else if(404==b.code||404==b.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&
@ -8021,11 +8029,11 @@ a.actions.addAction("feedback...",function(){var b=new FeedbackDialog(a);a.showD
mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);a.alert(mxResources.get("restartForChangeRequired"))}),c),(d==mxLanguage||""==d&&null==mxLanguage)&&b.addCheckmark(g,Editor.checkmarkImage));return g});d("");b.addSeparator(c);for(var e in mxLanguageMap)d(e)}))),"atlas"!=uiTheme){var p=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=p.apply(this,arguments);if(null!=
b){var c=this.get("language");null!=c&&(c=b.addMenu("",c.funct),c.setAttribute("title",mxResources.get("language")),c.style.width="16px",c.style.paddingTop="2px",c.style.paddingLeft="4px",c.innerHTML='\x3cdiv class\x3d"geIcon geSprite geSprite-globe"/\x3e',c.style.zIndex="1",c.style.position="absolute",c.style.top="2px",c.style.right="17px",c.style.display="block",mxClient.IS_VML||mxUtils.setOpacity(c,60),document.body.appendChild(c))}return b}}this.put("help",new Menu(mxUtils.bind(this,function(b,
c){if(!mxClient.IS_CHROMEAPP&&a.isOffline())this.addMenuItems(b,["about"]);else{var e=b.addItem("Search",null,null,c,null,null,!1),g=document.createElement("div");g.style.display="inline";g.innerHTML=':\x3cform style\x3d"display:inline;margin-left:8px;" id\x3d"rw_search_form"target\x3d"_blank" method\x3d"get" action\x3d"https://support.draw.io/dosearchsite.action"\x3e\x3cinput id\x3d"rw_search_query" type\x3d"text" name\x3d"queryString" size\x3d"25"\x3e\x3c/form\x3e';e.firstChild.nextSibling.appendChild(g);
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var k=g.getElementsByTagName("form")[0],l=g.getElementsByTagName("input")[0];null!=l&&null!=k&&(mxEvent.addListener(k,"submit",function(){a.enableLogging&&((new Image).src="log?severity\x3dCONFIG\x26msg\x3dhelpsearch:"+encodeURIComponent(l.value)+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION));window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,function(a){document.activeElement!=l&&l.focus();mxEvent.consume(a)},
function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)}),window.setTimeout(function(){l.focus()},0));this.addMenuItems(b,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(b,["feedback"]);this.addMenuItems(b,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox\x3dShow bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=d.getGraphBounds(),b=d.view.translate,e=d.view.scale;
d.insertVertex(c,null,"",a.x/e-b.x,a.y/e-b.y,a.width/e,a.height/e,"fillColor\x3dnone;strokeColor\x3dred;")})),this.addMenuItems(b,["-","showBoundingBox"],c),mxResources.parse("testXmlImageExport\x3dXML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=d.getGraphBounds(),c=d.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/c),Math.floor((1-
b.y)/c));e.scale(1/c);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(d.getView().getState(d.model.root),e);Math.ceil(1*b.width/c+2);Math.ceil(1*b.height/c+2);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(b,["testXmlImageExport"],
c),mxResources.parse("animation\x3dAnimation"),this.editorUi.actions.addAction("animation",mxUtils.bind(this,function(){null==this.animationWindow?(this.animationWindow=new AnimationWindow(this.editorUi,(document.body.offsetWidth-480)/2,120,640,480),this.animationWindow.window.setVisible(!0)):this.animationWindow.window.setVisible(!this.animationWindow.window.isVisible())})),this.addMenuItems(b,["animation"],c),mxResources.parse("testShowRtModel\x3dShow RT model"),mxResources.parse("testDebugRtModel\x3dDebug RT model"),
e.style.backgroundColor="whiteSmoke";e.style.cursor="default";var k=g.getElementsByTagName("form")[0],l=g.getElementsByTagName("input")[0];null!=l&&null!=k&&(mxEvent.addListener(k,"submit",function(){a.enableLogging&&((new Image).src="https://log.draw.io/log?severity\x3dCONFIG\x26msg\x3dhelpsearch:"+encodeURIComponent(l.value)+"\x26v\x3d"+encodeURIComponent(EditorUi.VERSION));window.setTimeout(function(){a.menubar.hideMenu()},0)}),mxEvent.addGestureListeners(e,function(a){document.activeElement!=
l&&l.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)}),window.setTimeout(function(){l.focus()},0));this.addMenuItems(b,["-","quickStart","userManual","keyboardShortcuts","-"]);mxClient.IS_CHROMEAPP||this.addMenuItems(b,["feedback"]);this.addMenuItems(b,["support","-","about"])}"1"==urlParams.test&&(mxResources.parse("showBoundingBox\x3dShow bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=d.getGraphBounds(),
b=d.view.translate,e=d.view.scale;d.insertVertex(c,null,"",a.x/e-b.x,a.y/e-b.y,a.width/e,a.height/e,"fillColor\x3dnone;strokeColor\x3dred;")})),this.addMenuItems(b,["-","showBoundingBox"],c),mxResources.parse("testXmlImageExport\x3dXML Image Export"),this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=d.getGraphBounds(),c=d.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-
b.x)/c),Math.floor((1-b.y)/c));e.scale(1/c);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l=e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(d.getView().getState(d.model.root),e);Math.ceil(1*b.width/c+2);Math.ceil(1*b.height/c+2);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(b,
["testXmlImageExport"],c),mxResources.parse("animation\x3dAnimation"),this.editorUi.actions.addAction("animation",mxUtils.bind(this,function(){null==this.animationWindow?(this.animationWindow=new AnimationWindow(this.editorUi,(document.body.offsetWidth-480)/2,120,640,480),this.animationWindow.window.setVisible(!0)):this.animationWindow.window.setVisible(!this.animationWindow.window.isVisible())})),this.addMenuItems(b,["animation"],c),mxResources.parse("testShowRtModel\x3dShow RT model"),mxResources.parse("testDebugRtModel\x3dDebug RT model"),
mxResources.parse("testDownloadRtModel\x3dDownload RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,
function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();null!=b&&(null!=b.realtime&&a.spinner.spin(document.body,mxResources.get("export")))&&(b=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+b.getHash().substring(1)+"/realtime",null,"GET"),b.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var b=gapi.auth.getToken().access_token;a.setRequestHeader("authorization",
"Bearer "+b)},b.send(function(b){a.spinner.stop();200==b.getStatus()&&a.saveLocalFile(b.getText(),"realtime.txt","text/plain")}))})),null!=this.editorUi.getCurrentFile()&&null!=this.editorUi.getCurrentFile().realtime&&this.addMenuItems(b,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],c),mxResources.parse("testShowConsole\x3dShow Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-
@ -8040,22 +8048,22 @@ function(){a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(
"...",null,mxUtils.bind(this,function(){this.editorUi.downloadFile("html")}),c);mxClient.IS_CHROMEAPP?b.addItem(mxResources.get("formatPdf")+"...",null,this.editorUi.actions.get("print").funct,c):!a.isOffline()&&(!mxClient.IS_IOS||!navigator.standalone)&&b.addItem(mxResources.get("formatPdf")+"...",null,mxUtils.bind(this,function(){var b=document.createElement("div");b.style.padding="6px";var c=document.createElement("input");c.style.marginRight="8px";c.setAttribute("type","checkbox");d.isSelectionEmpty()&&
c.setAttribute("disabled","disabled");b.appendChild(c);mxUtils.write(b,mxResources.get("selectionOnly"));mxUtils.br(b);var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.marginTop="16px";e.style.marginRight="8px";d.pageVisible||(e.setAttribute("checked","checked"),e.defaultChecked=!0);b.appendChild(e);mxUtils.write(b,mxResources.get("crop"));b=new CustomDialog(a,b,mxUtils.bind(this,function(){var a=d.pageVisible;d.pageVisible=!e.checked;this.editorUi.downloadFile("pdf",
null,null,!c.checked);d.pageVisible=a}),null,mxResources.get("export"));this.editorUi.showDialog(b.container,300,120,!0,!0)}),c);b.addSeparator(c);b.addItem(mxResources.get("formatXml")+"...",null,mxUtils.bind(this,function(){var b=null==a.pages||1>=a.pages.length,c=document.createElement("div");c.style.padding="6px";var e=document.createElement("input");e.style.marginRight="8px";e.setAttribute("type","checkbox");d.isSelectionEmpty()&&e.setAttribute("disabled","disabled");c.appendChild(e);mxUtils.write(c,
mxResources.get("selectionOnly"));var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";b&&(mxUtils.br(c),c.appendChild(g),mxUtils.write(c,mxResources.get("compressed")));c=new CustomDialog(a,c,mxUtils.bind(this,function(){a.downloadFile("xml",!g.checked,null,!e.checked)}),null,mxResources.get("export"));a.showDialog(c.container,300,b?120:80,!0,!0)}),c);a.isOffline()||(b.addSeparator(c),
this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(b,c){function l(b){if(b&&Graph.fileSupport&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",function(){null!=c.files&&a.importFiles(c.files,null,null,a.maxImageSize)});
c.click()}else{window.openNew=!1;window.openKey="import";var e=Editor.useLocalStorage;Editor.useLocalStorage=!b;window.openFile=new OpenFile(function(b){a.hideDialog(b)});window.openFile.setConsumer(function(b,c){d.setSelectionCells(a.importXml(b))});a.showDialog((new OpenDialog(a)).container,360,220,!0,!0,function(){window.openFile=null});var g=a.dialog,k=g.close;a.dialog.close=function(b){Editor.useLocalStorage=e;k.apply(g,arguments);b&&(null==a.getCurrentFile()&&"1"!=urlParams.embed)&&a.showSplash()}}}
function m(b){b.pickFile(function(c){if(a.spinner.spin(document.body,mxResources.get("loading")))if(b==a.dropbox){var d=/(\.png)$/i.test(c)?"image/png":"text/xml";a.loadUrl(c,function(a){n(a,d,c)},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},"image/png"==d)}else b.getFile(c,function(a){var b=/(\.png)$/i.test(a.getTitle())?"image/png":"text/xml";n(a.getData(),b,a.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},!0)},!0)}var n=
mxUtils.bind(this,function(b,c,e){"image/png"==c?a.loadImage(b,mxUtils.bind(this,function(g){a.resizeImage(g,b,mxUtils.bind(this,function(g,k,l){g=Math.min(1,Math.min(a.maxImageSize/k,a.maxImageSize/l));a.importFile(b,c,0,0,Math.round(k*g),Math.round(l*g),e,function(b){a.spinner.stop();d.setSelectionCells(b)})}),!0)})):a.importFile(b,c,0,0,0,0,e,function(b){a.spinner.stop();d.setSelectionCells(b)})});null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){m(a.drive)},c):e&&b.addItem(mxResources.get("googleDrive")+
" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){m(a.dropbox)},c):g&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){m(a.oneDrive)},c):k&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&
"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){l(!1)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){l(!0)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url\x3d"+
encodeURIComponent(b),function(a){n(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))})).isEnabled=b;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);
d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=
a&&(0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming")))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));
return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}})).isEnabled=b;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?
a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),
mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(a.getEditBlankXml(),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();(b.getMode()==App.MODE_GOOGLE||b.getMode()==App.MODE_ONEDRIVE)&&a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));
a.actions.addAction("imgur...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToImgur),function(a){window.open("https://imgur.com/"+a)})}));a.actions.addAction("facebook...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToImgur),function(a){window.open("https://www.facebook.com/sharer.php?p[url]\x3d"+encodeURIComponent("https://imgur.com/"+a)+"\x26p[images][0]\x3d"+encodeURIComponent(a+".png"))})}));a.actions.addAction("twitter...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,
a.uploadToImgur),function(a){window.open("https://twitter.com/intent/tweet?text\x3d"+encodeURIComponent("Check out the diagram I made with draw.io")+"\x26via\x3ddrawio\x26hashtags\x3dmadewithdrawio\x26url\x3d"+encodeURIComponent("https://imgur.com/"+a))})}));a.actions.addAction("github...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToGithub))}));this.put("publish",new Menu(mxUtils.bind(this,function(b,c){if(null==document.documentMode||10<=document.documentMode)"undefined"!==
typeof XMLHttpRequest&&this.addMenuItems(b,["github"],c),this.addMenuItems(b,["twitter"],c),this.addMenuItems(b,["facebook"],c),this.addMenuItems(b,["imgur"],c);!navigator.standalone&&!a.isOffline()&&this.addMenuItems(b,["publishLink"],c)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){window.open("http://www.draw.io/app")}));a.actions.put("chromeApp",new Action(mxResources.get("chromeApp")+"...",function(){window.open("https://chrome.google.com/webstore/detail/drawio-desktop/pebppomjfocnoigkeepgbmcifnnlndla")}));
mxResources.get("selectionOnly"));var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;g.style.marginRight="8px";g.style.marginTop="16px";mxUtils.br(c);c.appendChild(g);b?mxUtils.write(c,mxResources.get("compressed")):mxUtils.write(c,mxResources.get("allPages"));c=new CustomDialog(a,c,mxUtils.bind(this,function(){a.downloadFile("xml",b?!g.checked:null,null,!e.checked,!b?!g.checked:null)}),null,mxResources.get("export"));a.showDialog(c.container,
300,120,!0,!0)}),c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(b,c){function l(b){if(b&&Graph.fileSupport&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",function(){null!=c.files&&
a.importFiles(c.files,null,null,a.maxImageSize)});c.click()}else{window.openNew=!1;window.openKey="import";var e=Editor.useLocalStorage;Editor.useLocalStorage=!b;window.openFile=new OpenFile(function(b){a.hideDialog(b)});window.openFile.setConsumer(function(b,c){d.setSelectionCells(a.importXml(b))});a.showDialog((new OpenDialog(a)).container,360,220,!0,!0,function(){window.openFile=null});var g=a.dialog,k=g.close;a.dialog.close=function(b){Editor.useLocalStorage=e;k.apply(g,arguments);b&&(null==a.getCurrentFile()&&
"1"!=urlParams.embed)&&a.showSplash()}}}function m(b){b.pickFile(function(c){if(a.spinner.spin(document.body,mxResources.get("loading")))if(b==a.dropbox){var d=/(\.png)$/i.test(c)?"image/png":"text/xml";a.loadUrl(c,function(a){n(a,d,c)},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},"image/png"==d)}else b.getFile(c,function(a){var b=/(\.png)$/i.test(a.getTitle())?"image/png":"text/xml";n(a.getData(),b,a.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):
null)},!0)},!0)}var n=mxUtils.bind(this,function(b,c,e){"image/png"==c?a.loadImage(b,mxUtils.bind(this,function(g){a.resizeImage(g,b,mxUtils.bind(this,function(g,k,l){g=Math.min(1,Math.min(a.maxImageSize/k,a.maxImageSize/l));a.importFile(b,c,0,0,Math.round(k*g),Math.round(l*g),e,function(b){a.spinner.stop();d.setSelectionCells(b)})}),!0)})):a.importFile(b,c,0,0,0,0,e,function(b){a.spinner.stop();d.setSelectionCells(b)})});null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){m(a.drive)},
c):e&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){m(a.dropbox)},c):g&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){m(a.oneDrive)},c):k&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},
c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){l(!1)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){l(!0)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":
"text/xml";a.loadUrl(PROXY_URL+"?url\x3d"+encodeURIComponent(b),function(a){n(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))})).isEnabled=b;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=
uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),
mxUtils.bind(this,function(a){null!=a&&(0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming")))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;a.showError(mxResources.get("error"),mxResources.get("invalidName"),
mxResources.get("ok"));return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}})).isEnabled=b;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&
(d==App.MODE_GOOGLE?a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),
mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(a.getEditBlankXml(),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();(b.getMode()==App.MODE_GOOGLE||b.getMode()==App.MODE_ONEDRIVE)&&a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,
function(b){a.handleError(b)}))}))}));a.actions.addAction("imgur...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToImgur),function(a){window.open("https://imgur.com/"+a)})}));a.actions.addAction("facebook...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToImgur),function(a){window.open("https://www.facebook.com/sharer.php?p[url]\x3d"+encodeURIComponent("https://imgur.com/"+a)+"\x26p[images][0]\x3d"+encodeURIComponent(a+".png"))})}));a.actions.addAction("twitter...",
mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToImgur),function(a){window.open("https://twitter.com/intent/tweet?text\x3d"+encodeURIComponent("Check out the diagram I made with draw.io")+"\x26via\x3ddrawio\x26hashtags\x3dmadewithdrawio\x26url\x3d"+encodeURIComponent("https://imgur.com/"+a))})}));a.actions.addAction("github...",mxUtils.bind(this,function(){a.publishImage(mxUtils.bind(a,a.uploadToGithub))}));this.put("publish",new Menu(mxUtils.bind(this,function(b,c){if(null==document.documentMode||
10<=document.documentMode)"undefined"!==typeof XMLHttpRequest&&this.addMenuItems(b,["github"],c),this.addMenuItems(b,["twitter"],c),this.addMenuItems(b,["facebook"],c),this.addMenuItems(b,["imgur"],c);!navigator.standalone&&!a.isOffline()&&this.addMenuItems(b,["publishLink"],c)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){window.open("http://www.draw.io/app")}));a.actions.put("chromeApp",new Action(mxResources.get("chromeApp")+"...",function(){window.open("https://chrome.google.com/webstore/detail/drawio-desktop/pebppomjfocnoigkeepgbmcifnnlndla")}));
this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);!navigator.standalone&&!a.isOffline()&&this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));
this.put("arrange",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["toFront","toBack","-"],b);this.addSubmenu("direction",a,b);this.addMenuItems(a,["turn","-"],b);this.addSubmenu("align",a,b);this.addSubmenu("distribute",a,b);a.addSeparator(b);this.addSubmenu("navigation",a,b);this.addSubmenu("insert",a,b);this.addSubmenu("layout",a,b);this.addMenuItems(a,"- group ungroup removeFromGroup - editGeometry clearWaypoints autosize".split(" "),b)})));var r="horizontalFlow verticalFlow - horizontalTree verticalTree - organic circle - fromText".split(" "),
s=function(b,c,d,e){b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e){var b=new ParseDialog(a,d);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)};a.actions.addAction("insertText",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=d.getInsertPoint(),a=new mxCell("Text",new mxGeometry(a.x,a.y,40,20),"text;html\x3d1;resizable\x3d0;autosize\x3d1;align\x3dleft;verticalAlign\x3dtop;spacingTop\x3d-4;points\x3d[];");
@ -8094,9 +8102,9 @@ connect:this.connectionHandler.isEnabled()?"1":"0",scale:this.view.scale,scrollL
Graph.prototype.setViewState=function(a){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=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat=
a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.setTooltips(a.tooltips),this.setConnectable(a.connect),null!=a.translate&&(this.view.translate=a.translate),this.preferPageSize=this.pageBreaksVisible=this.pageVisible):(this.lastPasteXml=this.view.currentRoot=null,this.pasteCounter=0,this.mathEnabled=!1)};
EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var c=this.editor.extractGraphModel(a.node);if(null!=c){a.graphModelNode=c;a.viewState=this.editor.graph.createViewState(c);var f=new mxCodec(c.ownerDocument);a.root=f.decode(c).root}else a.root=this.editor.graph.model.createRoot()}return a};
EditorUi.prototype.selectPage=function(a){this.editor.graph.stopEditing();var c=this.editor.graph.model.createUndoableEdit();c.ignoreEdit=!0;a=new SelectPage(this,a);a.execute();c.add(a);c.notify();this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c))};EditorUi.prototype.selectNextPage=function(a){var c=this.currentPage;null!=c&&null!=this.pages&&(c=mxUtils.indexOf(this.pages,c),a&&c<this.pages.length-1?this.selectPage(this.pages[c+1]):!a&&0<c&&this.selectPage(this.pages[c-1]))};
EditorUi.prototype.insertPage=function(a,c){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();c=null!=c?c:this.pages.length;var f=new ChangePage(this,a,a,c);this.editor.graph.model.execute(f)}return a};EditorUi.prototype.createPage=function(a){var c=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));c.setName(null!=a?a:this.createPageName());return c};
EditorUi.prototype.createPageName=function(){for(var a={},c=0;c<this.pages.length;c++){var f=this.pages[c].getName();null!=f&&0<f.length&&(a[f]=f)}c=this.pages.length;f=null;do f=mxResources.get("pageWithNumber",[++c]);while(null!=a[f]);return f};
EditorUi.prototype.selectPage=function(a){this.editor.graph.stopEditing();var c=this.editor.graph.model.createUndoableEdit();c.ignoreEdit=!0;a=new SelectPage(this,a);a.execute();c.add(a);c.notify();this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c))};
EditorUi.prototype.selectNextPage=function(a){var c=this.currentPage;null!=c&&null!=this.pages&&(c=mxUtils.indexOf(this.pages,c),a?this.selectPage(this.pages[mxUtils.mod(c+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(c-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,c){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();c=null!=c?c:this.pages.length;var f=new ChangePage(this,a,a,c);this.editor.graph.model.execute(f)}return a};
EditorUi.prototype.createPage=function(a){var c=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));c.setName(null!=a?a:this.createPageName());return c};EditorUi.prototype.createPageName=function(){for(var a={},c=0;c<this.pages.length;c++){var f=this.pages[c].getName();null!=f&&0<f.length&&(a[f]=f)}c=this.pages.length;f=null;do f=mxResources.get("pageWithNumber",[++c]);while(null!=a[f]);return f};
EditorUi.prototype.removePage=function(a){var c=this.editor.graph;if(c.isEnabled()){c.model.beginUpdate();try{var f=this.currentPage;if(f==a)if(1<this.pages.length){var d=mxUtils.indexOf(this.pages,a);d==this.pages.length-1?d--:d++;f=this.pages[d]}else f=this.insertPage(),c.model.execute(new RenamePage(this,f,mxResources.get("pageWithNumber",[1])));c.model.execute(new ChangePage(this,a,f))}finally{c.model.endUpdate()}}return a};
EditorUi.prototype.duplicatePage=function(a,c){var f=this.editor.graph,d=null;f.isEnabled()&&(d=new DiagramPage(a.node.cloneNode(!1)),d.root=f.cloneCells([f.model.root])[0],d.setName(c),d=this.insertPage(d,mxUtils.indexOf(this.pages,a)+1));return d};
EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var c=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(c){null!=c&&0<c.length&&this.editor.graph.model.execute(new RenamePage(this,a,c))}),mxResources.get("rename"));this.showDialog(c.container,300,80,!0,!0);c.init()}return a};EditorUi.prototype.movePage=function(a,c){this.editor.graph.model.execute(new MovePage(this,a,c))};

File diff suppressed because one or more lines are too long

1032
war/js/atlas.min.js vendored

File diff suppressed because one or more lines are too long

View file

@ -73,7 +73,17 @@ App = function(editor, container, lightbox)
{
for (var i = 0; i < App.DrawPlugins.length; i++)
{
App.DrawPlugins[i](this);
try
{
App.DrawPlugins[i](this);
}
catch (e)
{
if (window.console != null)
{
console.log('Plugin Error:', e, App.DrawPlugins[i]);
}
}
}
window.Draw.loadPlugin = function(callback)
@ -137,7 +147,8 @@ App.pluginRegistry = {'4xAKTrabTpTzahoLthkwPNUn': '/plugins/explore.js',
'ex': '/plugins/explore.js', 'p1': '/plugins/p1.js', 'ac': '/plugins/connect.js',
'acj': '/plugins/connectJira.js', 'voice': '/plugins/voice.js',
'tips': '/plugins/tooltips.js', 'svgdata': '/plugins/svgdata.js',
'doors': '/plugins/doors.js', 'electron': 'plugins/electron.js'};
'doors': '/plugins/doors.js', 'electron': 'plugins/electron.js',
'tags': '/plugins/tags.js'};
/**
* Function: authorize
@ -380,7 +391,7 @@ App.main = function(callback)
var severity = (message.indexOf('NetworkError') >= 0 || message.indexOf('SecurityError') >= 0 ||
message.indexOf('NS_ERROR_FAILURE') >= 0 || message.indexOf('out of memory') >= 0) ?
'CONFIG' : 'SEVERE';
img.src = 'log?severity=' + severity + '&v=' + encodeURIComponent(EditorUi.VERSION) +
img.src = 'https://log.draw.io/log?severity=' + severity + '&v=' + encodeURIComponent(EditorUi.VERSION) +
'&msg=clientError:' + encodeURIComponent(message) + ':url:' + encodeURIComponent(window.location.href) +
':lnum:' + encodeURIComponent(linenumber) +
((colno != null) ? ':colno:' + encodeURIComponent(colno) : '') +
@ -610,7 +621,7 @@ App.prototype.formatHideImage = (!mxClient.IS_SVG) ? IMAGE_PATH + '/format-hide.
/**
*
*/
App.prototype.fullscreenImage = (!mxClient.IS_SVG) ? IMAGE_PATH + '/fullscreen.png' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMAQMAAABsu86kAAAABlBMVEUAAABEREQ3UJNbAAAAAXRSTlMAQObYZgAAABxJREFUCNdj+PkBhA4YgNB5AwZ+BiACMiAiEFkA9QQNgW8IGoYAAAAASUVORK5CYII=';
App.prototype.fullscreenImage = (!mxClient.IS_SVG) ? IMAGE_PATH + '/fullscreen.png' : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABpJREFUCNdjgAAbGxAy4AEh5gNwBBGByoIBAIueBd12TUjqAAAAAElFTkSuQmCC';
/**
*
@ -1593,6 +1604,7 @@ App.prototype.getPublicUrl = function(file, fn)
*/
App.prototype.createFileData = function(node, graph, file, url, forceXml, forceSvg, forceHtml, embeddedCallback, ignoreSelection)
{
graph = (graph != null) ? graph : this.editor.graph;
forceXml = (forceXml != null) ? forceXml : false;
ignoreSelection = (ignoreSelection != null) ? ignoreSelection : true;
@ -1621,12 +1633,12 @@ App.prototype.createFileData = function(node, graph, file, url, forceXml, forceS
if (fileNode.nodeName.toLowerCase() != 'mxfile')
{
// Removes control chars in input for correct roundtrip check
var text = this.editor.graph.zapGremlins(mxUtils.getXml(node));
var data = this.editor.graph.compress(text);
var text = graph.zapGremlins(mxUtils.getXml(node));
var data = graph.compress(text);
// Fallback to plain XML for invalid compression
// TODO: Remove this fallback with active pages
if (this.editor.graph.decompress(data) != text)
if (graph.decompress(data) != text)
{
return text;
}
@ -1656,7 +1668,7 @@ App.prototype.createFileData = function(node, graph, file, url, forceXml, forceS
// Writes the file as an embedded HTML file
if (!forceSvg && !forceXml && (forceHtml || (file != null && /(\.html)$/i.test(file.getTitle()))))
{
xml = this.getHtml2(fileNode, graph, file.getTitle(), editLink, redirect, ignoreSelection);
xml = this.getHtml2(fileNode, graph, (file != null) ? file.getTitle() : null, editLink, redirect, ignoreSelection);
}
// Maps the XML data to the content attribute in the SVG node
else if (forceSvg || (!forceXml && file != null && /(\.svg)$/i.test(file.getTitle())))
@ -1724,8 +1736,46 @@ App.prototype.getFileData = function(forceXml, forceSvg, forceHtml, embeddedCall
}
}
return this.createFileData(node, this.editor.graph, this.getCurrentFile(), window.location.href,
var graph = this.editor.graph;
var file = this.getCurrentFile();
// Exports SVG for first page while other page is visible by creating a graph
// LATER: Add caching for the graph or SVG while not on first page
if (this.pages != null && this.currentPage != this.pages[0] && (forceSvg ||
(!forceXml && file != null && /(\.svg)$/i.test(file.getTitle()))))
{
graph = this.createTemporaryGraph(graph.getStylesheet());
var graphGetGlobalVariable = graph.getGlobalVariable;
var page = this.pages[0];
graph.getGlobalVariable = function(name)
{
if (name == 'page')
{
return page.getName();
}
else if (name == 'pagenumber')
{
return 1;
}
return graphGetGlobalVariable.apply(this, arguments);
};
document.body.appendChild(graph.container);
graph.model.setRoot(page.root);
}
var result = this.createFileData(node, graph, file, window.location.href,
forceXml, forceSvg, forceHtml, embeddedCallback, ignoreSelection);
// Removes temporary graph from DOM
if (graph != this.editor.graph)
{
graph.container.parentNode.removeChild(graph.container);
}
return result;
};
/**
@ -2219,7 +2269,7 @@ App.prototype.start = function()
try
{
var img = new Image();
img.src = 'log?v=' + encodeURIComponent(EditorUi.VERSION) +
img.src = 'https://log.draw.io/log?v=' + encodeURIComponent(EditorUi.VERSION) +
'&msg=errorLoadingFile:url:' + encodeURIComponent(window.location.href) +
((e != null && e.message != null) ? ':err:' + encodeURIComponent(e.message) : '') +
((e != null && e.stack != null) ? '&stack=' + encodeURIComponent(e.stack) : '');
@ -4163,7 +4213,7 @@ App.prototype.fileLoaded = function(file)
// if (!this.isOffline())
// {
// var img = new Image();
// img.src = 'log?msg=storageMode:' + encodeURIComponent(file.getMode()) +
// img.src = 'https://log.draw.io/log?msg=storageMode:' + encodeURIComponent(file.getMode()) +
// '&v=' + encodeURIComponent(EditorUi.VERSION);
// }
// }
@ -5319,7 +5369,7 @@ App.prototype.saveData = function(filename, format, data, mime)
* @param {number} dx X-coordinate of the translation.
* @param {number} dy Y-coordinate of the translation.
*/
App.prototype.downloadFile = function(format, nonCompressed, addShadow, ignoreSelection)
App.prototype.downloadFile = function(format, nonCompressed, addShadow, ignoreSelection, currentPage)
{
try
{
@ -5339,7 +5389,7 @@ App.prototype.downloadFile = function(format, nonCompressed, addShadow, ignoreSe
{
var data = '<?xml version="1.0" encoding="UTF-8"?>\n' +
((nonCompressed) ? mxUtils.getXml(this.editor.getGraphXml(ignoreSelection)) :
this.getFileData(true, null, null, null, ignoreSelection));
this.getFileData(true, null, null, null, ignoreSelection, currentPage));
this.saveData(filename, format, data, 'text/xml');
}

View file

@ -857,15 +857,16 @@ var EmbedHtmlDialog = function(editorUi)
layersCheckBox.style.marginLeft = '10px';
var model = editorUi.editor.graph.getModel();
if (model.getChildCount(model.getRoot()) > 1)
if (editorUi.pages == null || editorUi.pages.length == 0 &&
(model.getChildCount(model.getRoot()) <= 1))
{
layersCheckBox.setAttribute('checked', 'checked');
layersCheckBox.defaultChecked = true;
layersCheckBox.setAttribute('disabled', 'disabled');
}
else
{
layersCheckBox.setAttribute('disabled', 'disabled');
layersCheckBox.setAttribute('checked', 'checked');
layersCheckBox.defaultChecked = true;
}
options.appendChild(layersCheckBox);
@ -876,7 +877,22 @@ var EmbedHtmlDialog = function(editorUi)
zoomCheckBox.style.marginLeft = '10px';
options.appendChild(zoomCheckBox);
mxUtils.write(options, mxResources.get('zoom'));
zoomCheckBox.setAttribute('checked', 'checked');
zoomCheckBox.defaultChecked = true;
var pagesCheckBox = document.createElement('input');
pagesCheckBox.setAttribute('type', 'checkbox');
pagesCheckBox.style.marginLeft = '10px';
if (editorUi.pages != null && editorUi.pages.length > 1)
{
pagesCheckBox.setAttribute('checked', 'checked');
pagesCheckBox.defaultChecked = true;
options.appendChild(pagesCheckBox);
}
mxUtils.write(options, mxResources.get('allPages'));
div.appendChild(options);
function update(force)
@ -942,6 +958,17 @@ var EmbedHtmlDialog = function(editorUi)
var tb = [];
if (pagesCheckBox.checked)
{
tb.push('pages');
data.resize = true;
if (editorUi.pages != null && editorUi.currentPage != null)
{
data.page = mxUtils.indexOf(editorUi.pages, editorUi.currentPage);
}
}
if (zoomCheckBox.checked)
{
tb.push('zoom');
@ -962,7 +989,7 @@ var EmbedHtmlDialog = function(editorUi)
data.toolbar = tb.join(' ');
}
if (editCheckBox.checked)
{
if (urlInput.value != '')
@ -981,7 +1008,7 @@ var EmbedHtmlDialog = function(editorUi)
}
else
{
data.xml = editorUi.getFileData(true);
data.xml = editorUi.getFileData(true, null, null, null, null, !pagesCheckBox.checked);
}
textarea.value = '<div class="mxgraph" style="' +
@ -1022,6 +1049,7 @@ var EmbedHtmlDialog = function(editorUi)
mxEvent.addListener(fitCheckBox, 'change', update);
mxEvent.addListener(lightboxCheckBox, 'change', update);
mxEvent.addListener(zoomCheckBox, 'change', update);
mxEvent.addListener(pagesCheckBox, 'change', update);
var buttons = document.createElement('div');
buttons.style.paddingTop = '20px';
@ -4571,7 +4599,7 @@ PrintDialog.prototype.create = function(editorUi)
}
else
{
scale = parseInt(zoomInput.value) / 100 * graph.pageScale;
scale = parseInt(zoomInput.value) / (100 * graph.pageScale);
if (isNaN(scale))
{

View file

@ -205,7 +205,7 @@ DriveRealtime.prototype.start = function()
var img = new Image();
// Timestamp is added to bypass client-side cache
img.src = 'log?severity=CONFIG&msg=converted-oldrt&v=' +
img.src = 'https://log.draw.io/log?severity=CONFIG&msg=converted-oldrt&v=' +
encodeURIComponent(EditorUi.VERSION) + '&ts=' + new Date().getTime();
}
catch (e)

View file

@ -177,7 +177,7 @@
var filter = (svgDoc.createElementNS != null) ?
svgDoc.createElementNS(mxConstants.NS_SVG, 'filter') : svgDoc.createElement('filter');
filter.setAttribute('id', 'dropShadow');
filter.setAttribute('id', this.graph.shadowId);
var blur = (svgDoc.createElementNS != null) ?
svgDoc.createElementNS(mxConstants.NS_SVG, 'feGaussianBlur') : svgDoc.createElement('feGaussianBlur');
@ -242,7 +242,7 @@
if (!createOnly)
{
(group || svgRoot.getElementsByTagName('g')[0]).setAttribute('filter', 'url(#dropShadow)');
(group || svgRoot.getElementsByTagName('g')[0]).setAttribute('filter', 'url(#' + this.graph.shadowId + ')');
if (!isNaN(parseInt(svgRoot.getAttribute('width'))))
{
@ -1766,7 +1766,7 @@
var img = new Image();
// Timestamp is added to bypass client-side cache
img.src = 'log?severity=CONFIG&msg=imgur-published:' + res.data.id + '&v=' +
img.src = 'https://log.draw.io/log?severity=CONFIG&msg=imgur-published:' + res.data.id + '&v=' +
encodeURIComponent(EditorUi.VERSION) + '&ts=' + new Date().getTime();
}
catch (e)
@ -2078,8 +2078,12 @@
// Sets or disables alternate text for foreignObjects. Disabling is needed
// because PhantomJS seems to ignore switch statements and paint all text.
var svgRoot = this.editor.graph.getSvg(bg, null, null, null, null, ignoreSelection);
svgRoot.setAttribute('content', encodeURIComponent(xml));
var svgRoot = graph.getSvg(bg, null, null, null, null, ignoreSelection);
if (xml != null)
{
svgRoot.setAttribute('content', encodeURIComponent(xml));
}
if (url != null)
{
@ -2115,11 +2119,13 @@
*
*/
EditorUi.prototype.exportToCanvas = function(callback, width, imageCache, background, error, limitHeight,
ignoreSelection, scale, transparentBackground, addShadow, converter)
ignoreSelection, scale, transparentBackground, addShadow, converter, graph)
{
limitHeight = (limitHeight != null) ? limitHeight : true;
ignoreSelection = (ignoreSelection != null) ? ignoreSelection : true;
var bg = (transparentBackground) ? null : this.editor.graph.background;
graph = (graph != null) ? graph : this.editor.graph;
var bg = (transparentBackground) ? null : graph.background;
if (bg == mxConstants.NONE)
{
@ -2137,7 +2143,7 @@
bg = '#ffffff';
}
this.convertImages(this.editor.graph.getSvg(bg, null, null, null, null, ignoreSelection), mxUtils.bind(this, function(svgRoot)
this.convertImages(graph.getSvg(bg, null, null, null, null, ignoreSelection), mxUtils.bind(this, function(svgRoot)
{
var img = new Image();
@ -2178,7 +2184,7 @@
this.editor.addSvgShadow(svgRoot);
}
this.convertMath(this.editor.graph, svgRoot, true, mxUtils.bind(this, function()
this.convertMath(graph, svgRoot, true, mxUtils.bind(this, function()
{
img.src = this.createSvgDataUri(mxUtils.getXml(svgRoot));
}));
@ -4418,7 +4424,11 @@
{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: '#e6d0de', stroke: '#996185', gradient: '#d5739d'}],
[null, {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'}]];
var left = document.createElement('div');
left.style.cssText = 'position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;' +
@ -5679,6 +5689,11 @@
*/
Graph.prototype.defaultPageVisible = urlParams['pv'] != '0';
/**
* Specifies if the page should be visible for new files. Default is true.
*/
Graph.prototype.shadowId = 'dropShadow';
/**
* Loads the stylesheet for this graph.
*/
@ -5691,7 +5706,7 @@
if (this.shadowVisible)
{
this.view.getDrawPane().setAttribute('filter', 'url(#dropShadow)');
this.view.getDrawPane().setAttribute('filter', 'url(#' + this.shadowId + ')');
}
else
{

View file

@ -71,7 +71,7 @@ GraphViewer = function(container, xmlNode, graphConfig)
}
// Adds page placeholders
var pagenumber = this.graphConfig.page || 0;
this.currentPage = parseInt(this.graphConfig.page) || 0;
if (xmlNode.nodeName == 'mxfile')
{
@ -79,18 +79,20 @@ GraphViewer = function(container, xmlNode, graphConfig)
if (diagrams.length > 0)
{
var diagram = diagrams[pagenumber];
var graphGetGlobalVariable = this.graph.getGlobalVariable;
var self = this;
this.graph.getGlobalVariable = function(name)
{
var diagram = diagrams[self.currentPage];
if (name == 'page')
{
return diagram.getAttribute('name') || 'Page-' + (pagenumber + 1);
return diagram.getAttribute('name') || 'Page-' + (self.currentPage + 1);
}
else if (name == 'pagenumber')
{
return pagenumber + 1;
return self.currentPage + 1;
}
return graphGetGlobalVariable.apply(this, arguments);
@ -100,7 +102,7 @@ GraphViewer = function(container, xmlNode, graphConfig)
// Passes current page via urlParams global variable
// to let the parser know which page we're using
urlParams['page'] = pagenumber;
urlParams['page'] = self.currentPage;
var render = mxUtils.bind(this, function()
{
@ -262,9 +264,12 @@ GraphViewer.prototype.getImageUrl = function(url)
*/
GraphViewer.prototype.updateGraphXml = function(xmlNode)
{
this.xmlDocument = xmlNode.ownerDocument;
this.xml = mxUtils.getXml(xmlNode);
this.xmlNode = xmlNode;
if (this.xmlNode == null)
{
this.xmlDocument = xmlNode.ownerDocument;
this.xml = mxUtils.getXml(xmlNode);
this.xmlNode = xmlNode;
}
if (this.graph != null)
{
@ -278,8 +283,8 @@ GraphViewer.prototype.updateGraphXml = function(xmlNode)
this.graph.container.style.width = '';
this.graph.container.style.height = '';
}
this.editor.setGraphXml(this.xmlNode);
this.editor.setGraphXml(xmlNode);
this.positionGraph();
this.graph.initialViewState = {
@ -763,15 +768,58 @@ GraphViewer.prototype.addToolbar = function()
var buttonCount = 0;
var tokens = this.toolbarItems;
var diagrams = [];
// Adds page placeholders
if (this.xmlNode.nodeName == 'mxfile')
{
diagrams = this.xmlNode.getElementsByTagName('diagram');
}
var layersDialog = null;
var layersDialogEntered = false;
var pageInfo = null;
for (var i = 0; i < tokens.length; i++)
{
var token = tokens[i];
if (token == 'zoom')
if (token == 'pages' && diagrams.length > 1)
{
pageInfo = container.ownerDocument.createElement('div');
pageInfo.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.write(pageInfo, (this.currentPage + 1) + ' / ' + diagrams.length);
mxUtils.setOpacity(pageInfo, 70);
var prevButton = addButton(mxUtils.bind(this, function()
{
this.currentPage = mxUtils.mod(this.currentPage - 1, diagrams.length);
pageInfo.innerHTML = '';
mxUtils.write(pageInfo, (this.currentPage + 1) + ' / ' + diagrams.length);
this.updateGraphXml(mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(
diagrams[this.currentPage]))).documentElement);
}), Editor.previousImage, mxResources.get('previousPage') || 'Previous Page');
prevButton.style.borderRightStyle = 'none';
prevButton.style.paddingLeft = '0px';
prevButton.style.paddingRight = '0px';
toolbar.appendChild(pageInfo);
var nextButton = addButton(mxUtils.bind(this, function()
{
this.currentPage = mxUtils.mod(this.currentPage + 1, diagrams.length);
pageInfo.innerHTML = '';
mxUtils.write(pageInfo, (this.currentPage + 1) + ' / ' + diagrams.length);
this.updateGraphXml(mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(
diagrams[this.currentPage]))).documentElement);
}), Editor.nextImage, mxResources.get('nextPage') || 'Next Page');
nextButton.style.paddingLeft = '0px';
nextButton.style.paddingRight = '0px';
}
else if (token == 'zoom')
{
if (this.zoomEnabled)
{
@ -785,7 +833,7 @@ GraphViewer.prototype.addToolbar = function()
this.graph.zoomIn();
}), Editor.zoomInImage, mxResources.get('zoomIn') || 'Zoom In');
var a = addButton(mxUtils.bind(this, function()
addButton(mxUtils.bind(this, function()
{
this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,
this.graph.initialViewState.translate.x,
@ -798,44 +846,47 @@ GraphViewer.prototype.addToolbar = function()
if (this.layersEnabled)
{
var model = this.graph.getModel();
var childCount = model.getChildCount(model.root);
if (childCount > 1)
var layersButton = addButton(mxUtils.bind(this, function(evt)
{
var layersButton = addButton(mxUtils.bind(this, function(evt)
if (layersDialog != null)
{
if (layersDialog != null)
layersDialog.parentNode.removeChild(layersDialog);
layersDialog = null;
}
else
{
layersDialog = this.graph.createLayersDialog();
mxEvent.addListener(layersDialog, 'mouseleave', function()
{
layersDialog.parentNode.removeChild(layersDialog);
layersDialog = null;
}
else
{
layersDialog = this.graph.createLayersDialog();
mxEvent.addListener(layersDialog, 'mouseleave', function()
{
layersDialog.parentNode.removeChild(layersDialog);
layersDialog = null;
});
var r = layersButton.getBoundingClientRect();
});
var r = layersButton.getBoundingClientRect();
layersDialog.style.width = '140px';
layersDialog.style.padding = '2px 0px 2px 0px';
layersDialog.style.border = '1px solid #d0d0d0';
layersDialog.style.backgroundColor = '#eee';
layersDialog.style.fontFamily = 'Helvetica Neue,Helvetica,Arial Unicode MS,Arial';
layersDialog.style.fontSize = '11px';
mxUtils.setOpacity(layersDialog, 80);
var origin = mxUtils.getDocumentScrollOrigin(document);
layersDialog.style.left = origin.x + r.left + 'px';
layersDialog.style.top = origin.y + r.bottom + 'px';
document.body.appendChild(layersDialog);
}
}), Editor.layersImage, mxResources.get('layers') || 'Layers');
}
layersDialog.style.width = '140px';
layersDialog.style.padding = '2px 0px 2px 0px';
layersDialog.style.border = '1px solid #d0d0d0';
layersDialog.style.backgroundColor = '#eee';
layersDialog.style.fontFamily = 'Helvetica Neue,Helvetica,Arial Unicode MS,Arial';
layersDialog.style.fontSize = '11px';
mxUtils.setOpacity(layersDialog, 80);
var origin = mxUtils.getDocumentScrollOrigin(document);
layersDialog.style.left = origin.x + r.left + 'px';
layersDialog.style.top = origin.y + r.bottom + 'px';
document.body.appendChild(layersDialog);
}
}), Editor.layersImage, mxResources.get('layers') || 'Layers');
model.addListener(mxEvent.CHANGE, function()
{
layersButton.style.display = (model.getChildCount(model.root) > 1) ? 'inline-block' : 'none';
});
layersButton.style.display = (model.getChildCount(model.root) > 1) ? 'inline-block' : 'none';
}
}
else if (token == 'lightbox')
@ -845,7 +896,7 @@ GraphViewer.prototype.addToolbar = function()
addButton(mxUtils.bind(this, function()
{
this.showLightbox();
}), Editor.maximizeImage, mxResources.get('show') || 'Show');
}), Editor.maximizeImage, (mxResources.get('show') || 'Show'));
}
}
else if (this.graphConfig['toolbar-buttons'] != null)
@ -1083,7 +1134,8 @@ GraphViewer.prototype.showLocalLightbox = function()
});
// LATER: Make possible to assign after instance was created
urlParams['page'] = this.graphConfig.page || 0;
urlParams['pages'] = '1';
urlParams['page'] = this.currentPage;
urlParams['nav'] = (this.graphConfig.nav != false) ? '1' : '0';
urlParams['layers'] = (this.layersEnabled) ? '1' : '0';
@ -1097,20 +1149,40 @@ GraphViewer.prototype.showLocalLightbox = function()
EditorUi.prototype.addBeforeUnloadListener = function() {};
EditorUi.prototype.addChromelessClickHandler = function() {};
// Workaround for lost reference with same ID (cannot override after instance is created)
Graph.prototype.shadowId = 'lightboxDropShadow';
var ui = new EditorUi(new Editor(true), document.createElement('div'), true);
// Workaround for lost reference with same ID
Graph.prototype.shadowId = 'dropShadow';
// Disables refresh
ui.refresh = function() {};
var param = (this.graphConfig.page != null) ? '&page=' + this.graphConfig.page : '';
ui.editor.editBlankUrl = this.editBlankUrl + param;
ui.editor.editBlankFallbackUrl = this.editBlankFallbackUrl + param;
// Click on backdrop closes lightbox
mxEvent.addListener(backdrop, 'click', function()
{
ui.destroy();
});
// Passes current page and local URLs to open in new window action
ui.editor.editBlankUrl = this.editBlankUrl;
ui.editor.editBlankFallbackUrl = this.editBlankFallbackUrl;
var editorGetEditBlankUrl = ui.editor.getEditBlankUrl;
ui.editor.getEditBlankUrl = function(params, fallback)
{
var param = '';
if (ui.pages != null && ui.currentPage != null)
{
param = '&page=' + mxUtils.indexOf(ui.pages, ui.currentPage);
}
return editorGetEditBlankUrl.apply(this, arguments) + param;
}
// Handles escape keystroke
var keydownHandler = mxUtils.bind(this, function(evt)
{
@ -1126,12 +1198,6 @@ GraphViewer.prototype.showLocalLightbox = function()
mxEvent.removeListener(document.documentElement, 'keydown', keydownHandler);
document.body.removeChild(backdrop);
document.body.removeChild(closeImg);
if (tabContainer != null)
{
document.body.removeChild(tabContainer);
}
document.body.style.overflow = 'auto';
GraphViewer.resizeSensorEnabled = true;
@ -1200,36 +1266,11 @@ GraphViewer.prototype.showLocalLightbox = function()
document.body.appendChild(lightbox);
document.body.appendChild(closeImg);
console.log('xml', this.xml);
ui.setFileData(this.xml);
tabContainer = (ui.pages != null && ui.pages.length > 1) ? ui.tabContainer : null;
if (tabContainer != null)
{
if (mxClient.IS_QUIRKS)
{
tabContainer.style.position = 'absolute';
tabContainer.style.right = 32 + 'px';
tabContainer.style.top = origin.y + 32 + 'px';
}
else
{
// FIXME: Fix page menu CSS with sprite
// TODO: Update layers button after page change
tabContainer.style.fontFamily = 'Helvetica Neue,Helvetica,Arial Unicode MS,Arial';
tabContainer.style.position = 'fixed';
tabContainer.style.marginLeft = '40px';
tabContainer.style.marginRight = '40px';
tabContainer.style.bottom = '30px';
mxUtils.setPrefixedStyle(tabContainer.style, 'border-radius', '4px');
}
tabContainer.style.zIndex = this.lightboxZIndex;
document.body.appendChild(tabContainer);
ui.updateTabContainer();
}
mxUtils.setPrefixedStyle(lightbox.style, 'transform', 'rotateY(0deg)');
ui.chromelessToolbar.style.bottom = ((tabContainer != null) ? 80 : 60) + 'px';
ui.chromelessToolbar.style.bottom = 60 + 'px';
ui.chromelessToolbar.style.zIndex = this.lightboxZIndex;
// Workaround for clipping in IE11-
@ -1247,8 +1288,7 @@ GraphViewer.prototype.showLocalLightbox = function()
lightbox.style.left = origin.x + 'px';
lightbox.style.top = origin.y + 'px';
lightbox.style.width = document.body.clientWidth - 80 + 'px';
lightbox.style.height = document.body.clientHeight -
((tabContainer != null) ? 20 : 80) + 'px';
lightbox.style.height = document.body.clientHeight - 80 + 'px';
lightbox.style.backgroundColor = 'white';
ui.chromelessToolbar.style.display = 'block';
@ -1257,10 +1297,6 @@ GraphViewer.prototype.showLocalLightbox = function()
ui.chromelessToolbar.style.top = origin.y +
document.body.clientHeight - 100 + 'px';
}
else if (tabContainer != null)
{
lightbox.style.marginBottom = '60px';
}
ui.lightboxFit();
ui.chromelessResize();

View file

@ -560,7 +560,7 @@
if (editorUi.enableLogging)
{
var img = new Image();
img.src = 'log?severity=CONFIG&msg=helpsearch:' + encodeURIComponent(input.value) + '&v=' + encodeURIComponent(EditorUi.VERSION);
img.src = 'https://log.draw.io/log?severity=CONFIG&msg=helpsearch:' + encodeURIComponent(input.value) + '&v=' + encodeURIComponent(EditorUi.VERSION);
}
// Workaround for blocked submit on iOS/IE11
@ -1074,19 +1074,24 @@
cb.defaultChecked = true;
cb.style.marginRight = '8px';
cb.style.marginTop = '16px';
mxUtils.br(content);
content.appendChild(cb);
if (noPages)
{
mxUtils.br(content);
content.appendChild(cb);
mxUtils.write(content, mxResources.get('compressed'));
}
else
{
mxUtils.write(content, mxResources.get('allPages'));
}
var dlg = new CustomDialog(editorUi, content, mxUtils.bind(this, function()
{
editorUi.downloadFile('xml', !cb.checked, null, !cb2.checked);
editorUi.downloadFile('xml', (noPages) ? !cb.checked : null, null, !cb2.checked,
(!noPages) ? !cb.checked : null);
}), null, mxResources.get('export'));
editorUi.showDialog(dlg.container, 300, (noPages) ? 120 : 80, true, true);
editorUi.showDialog(dlg.container, 300, 120, true, true);
}), parent);
if (!editorUi.isOffline())

View file

@ -531,13 +531,13 @@ EditorUi.prototype.selectNextPage = function(forward)
{
var tmp = mxUtils.indexOf(this.pages, next);
if (forward && tmp < this.pages.length - 1)
if (forward)
{
this.selectPage(this.pages[tmp + 1]);
this.selectPage(this.pages[mxUtils.mod(tmp + 1, this.pages.length)]);
}
else if (!forward && tmp > 0)
else if (!forward)
{
this.selectPage(this.pages[tmp - 1]);
this.selectPage(this.pages[mxUtils.mod(tmp - 1, this.pages.length)]);
}
}
};
@ -1065,6 +1065,7 @@ EditorUi.prototype.addTabListeners = function(page, tab)
mxEvent.addGestureListeners(tab, mxUtils.bind(this, function(evt)
{
// Do not consume event here to allow for drag and drop of tabs
menuWasVisible = this.currentMenu != null;
pageWasActive = page == this.currentPage;

View file

@ -77,7 +77,7 @@ RealtimeMapping.prototype.init = function()
this.graph.model.execute(new RenamePage(this.ui, this.page, evt.newValue));
this.driveRealtime.ignoreChange = false;
}
else if (this.isActive() && evt.newValue != null)
else if (evt.newValue != null)
{
if (evt.property == 'pageFormat')
{
@ -872,7 +872,14 @@ RealtimeMapping.prototype.realtimePageFormatChanged = function(value, quiet)
if (values.length > 1)
{
if (quiet)
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.pageFormat = new mxRectangle(0, 0, parseInt(values[0]), parseInt(values[1]));
}
}
else if (quiet)
{
this.graph.pageFormat = new mxRectangle(0, 0, parseInt(values[0]), parseInt(values[1]));
}
@ -893,7 +900,14 @@ RealtimeMapping.prototype.realtimePageScaleChanged = function(value, quiet)
{
if (value != null)
{
if (quiet)
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.pageScale = parseFloat(value);
}
}
else if (quiet)
{
this.graph.pageScale = parseFloat(value);
}
@ -911,7 +925,14 @@ RealtimeMapping.prototype.realtimePageScaleChanged = function(value, quiet)
*/
RealtimeMapping.prototype.realtimeBackgroundColorChanged = function(value, quiet)
{
if (quiet)
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.background = (value == '') ? null : value;
}
}
else if (quiet)
{
this.graph.background = (value == '') ? null : value;
}
@ -928,7 +949,14 @@ RealtimeMapping.prototype.realtimeBackgroundColorChanged = function(value, quiet
*/
RealtimeMapping.prototype.realtimeFoldingEnabledChanged = function(value, quiet)
{
if (quiet)
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.foldingEnabled = value == '1';
}
}
else if (quiet)
{
this.graph.foldingEnabled = value == '1';
}
@ -946,9 +974,19 @@ RealtimeMapping.prototype.realtimeFoldingEnabledChanged = function(value, quiet)
RealtimeMapping.prototype.realtimeShadowVisibleChanged = function(value, quiet)
{
// Does not need quiet mode as it's handled independently of refresh
this.driveRealtime.ignoreShadowVisibleChanged = true;
this.ui.editor.graph.setShadowVisible(value == '1');
this.driveRealtime.ignoreShadowVisibleChanged = false;
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.shadowVisible = value == '1';
}
}
else
{
this.driveRealtime.ignoreShadowVisibleChanged = true;
this.ui.editor.graph.setShadowVisible(value == '1');
this.driveRealtime.ignoreShadowVisibleChanged = false;
}
};
/**
@ -958,7 +996,14 @@ RealtimeMapping.prototype.realtimeBackgroundImageChanged = function(value, quiet
{
var data = (value != null && value.length > 0) ? JSON.parse(value) : null;
if (quiet)
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.backgroundImage = (data != null) ? new mxImage(data.src, data.width, data.height) : null;
}
}
else if (quiet)
{
this.graph.setBackgroundImage((data != null) ? new mxImage(data.src, data.width, data.height) : null);
}
@ -975,7 +1020,14 @@ RealtimeMapping.prototype.realtimeBackgroundImageChanged = function(value, quiet
*/
RealtimeMapping.prototype.realtimeMathEnabledChanged = function(value, quiet)
{
if (quiet)
if (!this.isActive())
{
if (this.page.viewState != null)
{
this.page.viewState.mathEnabled = urlParams['math'] == '1' || value == '1';
}
}
else if (quiet)
{
this.graph.mathEnabled = urlParams['math'] == '1' || value == '1';
}

View file

@ -983,7 +983,7 @@
if (this.editorUi.enableLogging && !this.editorUi.isOffline() && page == 0)
{
var img = new Image();
img.src = 'log?severity=CONFIG&msg=shapesearch:' + encodeURIComponent(searchTerms) + '&v=' + encodeURIComponent(EditorUi.VERSION);
img.src = 'https://log.draw.io/log?severity=CONFIG&msg=shapesearch:' + encodeURIComponent(searchTerms) + '&v=' + encodeURIComponent(EditorUi.VERSION);
}
success = mxUtils.bind(this, function(results, len, more, terms)

View file

@ -184,7 +184,7 @@ f)+"\n"+s+"}":"{"+u.join(",")+"}";f=s;return r}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,mxLanguage="en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||1E8;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.0.8.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.0.9",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -623,7 +623,7 @@ Actions.prototype.init = function()
this.editorUi.showDialog(dlg.container, 300, 80, true, true);
dlg.init();
}), null, null, 'Ctrl+0'));
this.addAction('pageScale', mxUtils.bind(this, function()
this.addAction('pageScale...', mxUtils.bind(this, function()
{
var dlg = new FilenameDialog(this.editorUi, parseInt(graph.pageScale * 100), mxResources.get('apply'), mxUtils.bind(this, function(newValue)
{

View file

@ -126,6 +126,16 @@ Editor.zoomFitImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAM
*/
Editor.layersImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII=';
/**
* Specifies the image URL to be used for the transparent background.
*/
Editor.previousImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC';
/**
* Specifies the image URL to be used for the transparent background.
*/
Editor.nextImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg==';
/**
* Specifies the image URL to be used for the transparent background.
*/
@ -156,6 +166,16 @@ Editor.closeLargeImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAg
*/
Editor.editLargeImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAgJsrThgAAABcSURBVBjThc6xDcAgDATAd8MQTEPW8TRUmYCGnzLRYyOlIV+dZFtvkICTFGqiJEzAG0/Uje9oL+e5Vu4F5yUYJxxqGKhQZ0eBvmgwYQLQaARKD1hbiPyDR0QOeAC31EyNe5X/kAAAAABJRU5ErkJggg==';
/**
* Specifies the image URL to be used for the transparent background.
*/
Editor.previousLargeImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFZJREFUOMvdkskRgDAMA4lDwg2B7b9XOlge/KKvdsa25KFb5XlRvxXC/DNBEv8IFNjBgGdDgXtFgTyhwDXiQAUHCvwa4Uv6mR6UR+1led2mVonvl+tML45qCQNQLIx7AAAAAElFTkSuQmCC';
/**
* Specifies the image URL to be used for the transparent background.
*/
Editor.nextLargeImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEUAAAD////////////////////////////////////////////////////////////////////////////YSWgTAAAAE3RSTlMA7fci493c0MW8uJ6CZks4MxQHEZL6ewAAAFRJREFUOMvd0skRgCAQBVEFwQ0V7fxzNQP6wI05v6pZ/kyj1b7FNgik2gQzzLcAwiUAigHOTwDHK4A1CmB5BJANJG1hQ9qafYcqFlZP3IFc9eVGrR+iIgkDQRUXIAAAAABJRU5ErkJggg==';
// Editor inherits from mxEventSource
mxUtils.extend(Editor, mxEventSource);
@ -243,6 +263,14 @@ Editor.prototype.setAutosave = function(value)
this.fireEvent(new mxEventObject('autosaveChanged'));
};
/**
*
*/
Editor.prototype.getEditBlankUrl = function(params, fallback)
{
return ((fallback) ? this.editBlankFallbackUrl : this.editBlankUrl) + params;
}
/**
*
*/
@ -264,13 +292,13 @@ Editor.prototype.editAsNew = function(xml, title)
});
mxEvent.addListener(window, 'message', receive);
wnd = window.open(this.editBlankUrl + p);
wnd = window.open(this.getEditBlankUrl(p, false));
}
else
{
// Data is pulled from global variable after tab loads
window.drawdata = xml;
window.open(this.editBlankFallbackUrl + p);
window.open(this.getEditBlankUrl(p, true));
}
};

View file

@ -208,13 +208,13 @@ EditorUi = function(editor, container, lightbox)
mxEvent.isMiddleMouseButton(me.getEvent())));
};
// Control-enter applies editing value
// FIXME: Fix for HTML editing
// Ctrl/Cmd+Enter applies editing value
var cellEditorIsStopEditingEvent = graph.cellEditor.isStopEditingEvent;
graph.cellEditor.isStopEditingEvent = function(evt)
{
return cellEditorIsStopEditingEvent.apply(this, arguments) ||
(evt.keyCode == 13 && mxEvent.isControlDown(evt));
(evt.keyCode == 13 && (mxEvent.isControlDown(evt) ||
(mxClient.IS_MAC && mxEvent.isMetaDown(evt))));
};
// Switches toolbar for text editing
@ -1474,6 +1474,62 @@ EditorUi.prototype.initCanvas = function()
return a;
});
var prevButton = addButton(mxUtils.bind(this, function(evt)
{
this.actions.get('previousPage').funct();
mxEvent.consume(evt);
}), Editor.previousLargeImage, mxResources.get('previousPage') || 'Previous Page');
var pageInfo = document.createElement('div');
pageInfo.style.display = 'inline-block';
pageInfo.style.verticalAlign = 'top';
pageInfo.style.fontFamily = 'Helvetica,Arial';
pageInfo.style.marginTop = '8px';
pageInfo.style.color = '#ffffff';
this.chromelessToolbar.appendChild(pageInfo);
var nextButton = addButton(mxUtils.bind(this, function(evt)
{
this.actions.get('nextPage').funct();
mxEvent.consume(evt);
}), Editor.nextLargeImage, mxResources.get('nextPage') || 'Next Page');
var updatePageInfo = mxUtils.bind(this, function()
{
if (this.pages != null && this.pages.length > 1 && this.currentPage != null)
{
pageInfo.innerHTML = '';
mxUtils.write(pageInfo, (mxUtils.indexOf(this.pages, this.currentPage) + 1) + ' / ' + this.pages.length);
}
});
prevButton.style.paddingLeft = '0px';
prevButton.style.paddingRight = '4px';
nextButton.style.paddingLeft = '4px';
nextButton.style.paddingRight = '0px';
var updatePageButtons = mxUtils.bind(this, function()
{
if (this.pages != null && this.pages.length > 1 && this.currentPage != null)
{
nextButton.style.display = '';
prevButton.style.display = '';
pageInfo.style.display = 'inline-block';
}
else
{
nextButton.style.display = 'none';
prevButton.style.display = 'none';
pageInfo.style.display = 'none';
}
updatePageInfo();
});
this.editor.addListener('resetGraphView', updatePageButtons);
this.editor.addListener('pageSelected', updatePageInfo);
addButton(mxUtils.bind(this, function(evt)
{
@ -1584,6 +1640,7 @@ EditorUi.prototype.initCanvas = function()
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';
@ -1922,6 +1979,29 @@ EditorUi.prototype.initCanvas = function()
}));
};
/**
* Creates a temporary graph instance for rendering off-screen content.
*/
EditorUi.prototype.createTemporaryGraph = function(stylesheet)
{
var graph = new Graph(document.createElement('div'), null, null, stylesheet);
graph.resetViewOnRootChange = false;
graph.setConnectable(false);
graph.gridEnabled = false;
graph.autoScroll = false;
graph.setTooltips(false);
graph.setEnabled(false);
// Container must be in the DOM for correct HTML rendering
graph.container.style.visibility = 'hidden';
graph.container.style.position = 'absolute';
graph.container.style.overflow = 'hidden';
graph.container.style.height = '1px';
graph.container.style.width = '1px';
return graph;
};
/**
*
*/

View file

@ -11,23 +11,10 @@ function Sidebar(editorUi, container)
this.palettes = new Object();
this.taglist = new Object();
this.showTooltips = true;
this.graph = new Graph(document.createElement('div'), null, null, this.editorUi.editor.graph.getStylesheet());
this.graph = editorUi.createTemporaryGraph(this.editorUi.editor.graph.getStylesheet());
this.graph.cellRenderer.antiAlias = false;
this.graph.resetViewOnRootChange = false;
this.graph.foldingEnabled = false;
this.graph.setConnectable(false);
this.graph.gridEnabled = false;
this.graph.autoScroll = false;
this.graph.setTooltips(false);
this.graph.setEnabled(false);
// Container must be in the DOM for correct HTML rendering
this.graph.container.style.visibility = 'hidden';
this.graph.container.style.position = 'absolute';
this.graph.container.style.overflow = 'hidden';
this.graph.container.style.height = '1px';
this.graph.container.style.width = '1px';
// Workaround for blank output in IE11-
if (!mxClient.IS_IE && !mxClient.IS_IE11)
{
@ -974,10 +961,10 @@ Sidebar.prototype.addMiscPalette = function(expand)
})),
this.createVertexTemplateEntry('shape=umlActor;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;html=1;', 30, 60, 'Actor', 'Actor', false, null, 'user person human stickman'),
// Entries for top searches
this.createVertexTemplateEntry('whiteSpace=wrap;html=1;', 80, 80, '', 'Square', null, null, 'square'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;', 80, 80, '', 'Circle', null, null, 'circle'),
this.createVertexTemplateEntry('shape=ext;double=1;whiteSpace=wrap;html=1;', 80, 80, '', 'Double Square', null, null, 'double square'),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;', 80, 80, '', 'Double Circle', null, null, 'double circle'),
this.createVertexTemplateEntry('whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Square', null, null, 'square'),
this.createVertexTemplateEntry('ellipse;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Circle', null, null, 'circle'),
this.createVertexTemplateEntry('shape=ext;double=1;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Double Square', null, null, 'double square'),
this.createVertexTemplateEntry('ellipse;shape=doubleEllipse;whiteSpace=wrap;html=1;aspect=fixed;', 80, 80, '', 'Double Circle', null, null, 'double circle'),
// End of entries for top searches
this.createVertexTemplateEntry('html=1;whiteSpace=wrap;comic=1;strokeWidth=2;fontFamily=Comic Sans MS;fontStyle=1;', 120, 60, 'RECTANGLE', 'Comic Rectangle', true, null, 'comic rectangle rect box text retro'),
this.createVertexTemplateEntry('rhombus;html=1;align=center;whiteSpace=wrap;comic=1;strokeWidth=2;fontFamily=Comic Sans MS;fontStyle=1;', 100, 100, 'DIAMOND', 'Comic Diamond', true, null, 'comic diamond rhombus if condition decision conditional question test retro'),
@ -987,10 +974,10 @@ Sidebar.prototype.addMiscPalette = function(expand)
this.createVertexTemplateEntry('html=1;whiteSpace=wrap;aspect=fixed;shape=isoCube;', 90, 100, '', 'Isometric Cube', true, null, 'cube box iso isometric'),
this.createEdgeTemplateEntry('edgeStyle=isometricEdgeStyle;endArrow=none;html=1;', 50, 100, '', 'Isometric Edge 1'),
this.createEdgeTemplateEntry('edgeStyle=isometricEdgeStyle;endArrow=none;html=1;elbow=vertical;', 50, 100, '', 'Isometric Edge 2'),
this.createVertexTemplateEntry('line;html=1;', 160, 10, '', 'Horizontal Line'),
this.createVertexTemplateEntry('line;direction=south;html=1;', 10, 160, '', 'Vertical Line'),
this.createVertexTemplateEntry('line;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 160, 10, '', 'Horizontal Backbone', false, null, 'network'),
this.createVertexTemplateEntry('line;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 10, 160, '', 'Vertical Backbone', false, null, 'network'),
this.createVertexTemplateEntry('line;strokeWidth=2;html=1;', 160, 10, '', 'Horizontal Line'),
this.createVertexTemplateEntry('line;strokeWidth=2;direction=south;html=1;', 10, 160, '', 'Vertical Line'),
this.createVertexTemplateEntry('line;strokeWidth=4;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 160, 10, '', 'Horizontal Backbone', false, null, 'network'),
this.createVertexTemplateEntry('line;strokeWidth=4;direction=south;html=1;perimeter=backbonePerimeter;points=[];outlineConnect=0;', 10, 160, '', 'Vertical Backbone', false, null, 'network'),
this.createVertexTemplateEntry('shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;', 20, 120, '', 'Curly Bracket'),
this.createVertexTemplateEntry('shape=image;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;imageAspect=1;aspect=fixed;image=' + this.gearImage, 52, 61, '', 'Image (Fixed Aspect)', false, null, 'fixed image icon symbol'),
this.createVertexTemplateEntry('shape=image;html=1;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;imageAspect=0;image=' + this.gearImage, 50, 60, '', 'Image (Variable Aspect)', false, null, 'strechted image icon symbol'),

View file

@ -184,7 +184,7 @@ f)+"\n"+s+"}":"{"+u.join(",")+"}";f=s;return r}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();var mxBasePath="https://www.draw.io/mxgraph/",mxLoadStylesheets=mxLoadResources=!1,mxLanguage="en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||1E8;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.0.8.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"5.7.0.9",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

663
war/js/viewer.min.js vendored

File diff suppressed because one or more lines are too long

103
war/plugins/tags.js Normal file
View file

@ -0,0 +1,103 @@
/**
* Explore plugin.
*/
Draw.loadPlugin(function(ui)
{
var div = document.createElement('div');
div.style.userSelect = 'none';
div.style.background = 'whiteSmoke';
div.style.border = '1px solid whiteSmoke';
div.style.padding = '10px';
div.style.height = '100%';
div.style.marginBottom = '10px';
div.style.overflow = 'auto';
var graph = ui.editor.graph;
var verbSelect = document.createElement('select');
verbSelect.style.width = '170px';
var showOption = document.createElement('option');
mxUtils.write(showOption, 'Show all but...');
showOption.setAttribute('value', 'show');
showOption.setAttribute('selected', 'selected');
verbSelect.appendChild(showOption);
var hideOption = document.createElement('option');
mxUtils.write(hideOption, 'Hide all but...');
hideOption.setAttribute('value', 'hide');
verbSelect.appendChild(hideOption);
div.appendChild(verbSelect);
var tagInput = document.createElement('input');
tagInput.setAttribute('type', 'text');
tagInput.style.marginTop = '4px';
tagInput.style.width = '170px';
mxUtils.br(div);
div.appendChild(tagInput);
var tagList = [];
var graphIsCellVisible = graph.isCellVisible;
graph.isCellVisible = function(cell)
{
if (graphIsCellVisible.apply(this, arguments))
{
if (!this.model.isVertex(cell) && !this.model.isEdge(cell))
{
return true;
}
else if (cell.value != null && typeof(cell.value) == 'object')
{
var tags = cell.value.getAttribute('tags');
if (tags != null)
{
var tmp = tags.split(' ');
for (var i = 0; i < tagList.length; i++)
{
if (mxUtils.indexOf(tmp, tagList[i]) >= 0)
{
return verbSelect.value != 'show';
}
}
}
}
return verbSelect.value == 'show'
}
return false;
};
mxUtils.br(div);
var resetBtn = mxUtils.button(mxResources.get('reset'), function()
{
tagInput.value = '';
tagList = [];
verbSelect.value = 'show';
graph.refresh();
});
resetBtn.style.marginTop = '4px';
resetBtn.style.padding = '4px';
div.appendChild(resetBtn);
var btn = mxUtils.button(mxResources.get('apply'), function()
{
tagList = tagInput.value.split(' ');
graph.refresh();
});
btn.style.marginTop = '4px';
btn.style.padding = '4px';
div.appendChild(btn);
var wnd = new mxWindow('Tags', div, 0, 0, 200, 120, true, true);
wnd.destroyOnClose = false;
wnd.setMaximizable(false);
wnd.setResizable(true);
wnd.setClosable(false);
wnd.setVisible(true);
});

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=‫متقدم‬
align=‫صُف‬
alignment=‫محاذاة‬
allChangesLost=‫سيتم فقد جميع التغييرات‬
allPages=All Pages
android=Android
angle=‫زاوية‬
areYouSure=‫هل أنت متأكد؟‬
@ -523,7 +524,7 @@ scrollbars=‫أشرطة التمرير‬
search=‫بحث‬
searchShapes=Search Shapes
selectAll=‫تحديد الكل‬
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=‫تحديد الحواف‬
selectFont=‫تحديد الخط‬
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=‫محاذاة إلى الأعلى‬
topLeft=Top Left
topRight=Top Right
transparent=‫شفاف‬
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=‫إعادة المحاولة‬
tryOpeningViaThisPage=Try opening via this page.
turn=‫تدوير‬

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Poravnaj
alignment=Poravnanje
allChangesLost=Sve promjene će biti izgubljene!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Skrolbarovi
search=Pretraga
searchShapes=Search Shapes
selectAll=Izaberi sve
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Izaberi grane
selectFont=Izaberi font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Gornje poravnanje
topLeft=Top Left
topRight=Top Right
transparent=Proziran
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Avançat
align=Alinea
alignment=Alineació
allChangesLost=Es perderan tots els canvis!
allPages=All Pages
android=Android
angle=Angle
areYouSure=N'esteu segurs?
@ -523,7 +524,7 @@ scrollbars=Barres de desplaçament
search=Buscador
searchShapes=Search Shapes
selectAll=Selecciona-ho tot
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Selecciona les vores
selectFont=Selecciona una font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Alinea a dalt
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Intenta-ho novament
tryOpeningViaThisPage=Try opening via this page.
turn=Gira

View file

@ -15,6 +15,7 @@ advanced=Pokročilé
align=Zarovnat
alignment=Zarovnání
allChangesLost=Všechny změny budou ztraceny!
allPages=All Pages
android=Android
angle=Úhel
areYouSure=Jste si jisti?
@ -523,7 +524,7 @@ scrollbars=Rolovací lišty
search=Hledat
searchShapes=Search Shapes
selectAll=Vybrat vše
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Vybrat hrany
selectFont=Vybrat písmo
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Zarovnání shora
topLeft=Top Left
topRight=Top Right
transparent=Průhledný
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Zkusit znovu
tryOpeningViaThisPage=Try opening via this page.
turn=Otočit

View file

@ -15,6 +15,7 @@ advanced=Avanceret
align=Juster
alignment=Justering
allChangesLost=Alle ændringer vil gå tabt!
allPages=All Pages
android=Android
angle=Vinkel
areYouSure=Er du sikker?
@ -523,7 +524,7 @@ scrollbars=Rullebjælker
search=Søg
searchShapes=Search Shapes
selectAll=Vælg Alt
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Vælg Kanter
selectFont=Vælg en skrifttype
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top
topLeft=Top Left
topRight=Top Right
transparent=Gennemsigtig
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Forsøg igen
tryOpeningViaThisPage=Try opening via this page.
turn=Drej

View file

@ -15,6 +15,7 @@ advanced=Erweitert
align=Ausrichten
alignment=Ausrichtung
allChangesLost=Alle Änderungen gehen verloren!
allPages=Alle Seiten
android=Android
angle=Winkel
areYouSure=Sind Sie sicher?

View file

@ -15,6 +15,7 @@ advanced=Προχωρημένο
align=Στοίχισε
alignment=Στοίχιση
allChangesLost=Όλες οι αλλαγές θα χαθούν!
allPages=All Pages
android=Android
angle=Γωνία
areYouSure=Είστε βέβαιοι;
@ -523,7 +524,7 @@ scrollbars=Μπάρες κύλισης
search=Αναζήτηση
searchShapes=Search Shapes
selectAll=Επιλογή Όλων
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Επιλογή άκρων
selectFont=Επιλογή γραμματοσειράς
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Στοίχιση στην Κορυφή
topLeft=Top Left
topRight=Top Right
transparent=Διαφανές
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Δοκιμάστε ξανά
tryOpeningViaThisPage=Try opening via this page.
turn=Στροφή

View file

@ -15,6 +15,7 @@ advanced=Avanzado
align=Alinear
alignment=Alineación
allChangesLost=¡Se perderán todos los cambios!
allPages=All Pages
android=Android
angle=Ángulo
areYouSure=¿Estás seguro?
@ -523,7 +524,7 @@ scrollbars=Barras de desplazamiento
search=Búsqueda
searchShapes=Search Shapes
selectAll=Seleccionar todo
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Seleccionar bordes
selectFont=Seleccionar una fuente
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Alinear arriba
topLeft=Top Left
topRight=Top Right
transparent=Transparente
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Reintentar
tryOpeningViaThisPage=Try opening via this page.
turn=Girar

View file

@ -15,6 +15,7 @@ advanced=Detailne
align=Joonda
alignment=Joondamine
allChangesLost=Kõik muudatused kaovad!
allPages=All Pages
android=Android
angle=Nurk
areYouSure=Oled kindel?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=‫پیشرفته‬
align=‫تراز‬
alignment=‫هم‌ترازی‬
allChangesLost=‫تمامی تغییرات از دست خواهند رفت!
allPages=All Pages
android=‫اندروید‬
angle=‫زاویه‬
areYouSure=‫آیا مطمئن هستید؟‬
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=‫دوباره سعی نمایید‬
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Edistynyt
align=Kohdista
alignment=Kohdistus
allChangesLost=Kaikki muutokset menetään!
allPages=All Pages
android=Android
angle=Kulma
areYouSure=Oletko varma?

View file

@ -15,6 +15,7 @@ advanced=Mas una
align=Ihanay
alignment=Paghahanay
allChangesLost=Lahat ng pagbabago ay mawawala
allPages=All Pages
android=Android
angle=Anggulo
areYouSure=Sigurado ka ba?
@ -523,7 +524,7 @@ scrollbars=Iskrolbars
search=Hanap
searchShapes=Search Shapes
selectAll=Piliin lahat
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Piliin ang mga kanto
selectFont=Pumili ng pont
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Ihanay ang taas
topLeft=Top Left
topRight=Top Right
transparent=Kita ng tagusan
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Subukan muli
tryOpeningViaThisPage=Try opening via this page.
turn=Iikot

View file

@ -15,6 +15,7 @@ advanced=Avancé
align=Aligner
alignment=Alignement
allChangesLost=Toutes les modifications seront perdues!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Êtes-vous sûr?
@ -523,7 +524,7 @@ scrollbars=Barres de défilement
search=Chercher
searchShapes=Search Shapes
selectAll=Tout sélectionner
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Selectionner les bordures
selectFont=Sélectionner une police
selectNone=Tout désélectionner

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=‫מתקדם‬
align=‫ישר‬
alignment=‫יישור
allChangesLost=‫כל השינויים יאבדו!
allPages=All Pages
android=Android
angle=‫זווית‬
areYouSure=‫האם אתה בטוח?
@ -523,7 +524,7 @@ scrollbars=‫סרגלי גלילה‬
search=‫חפש‬
searchShapes=Search Shapes
selectAll=‫בחר הכל‬
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=‫בחר קצוות‬
selectFont=‫בחר גופן‬
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=‫יישור למעלה‬
topLeft=Top Left
topRight=Top Right
transparent=‫שקוף‬
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=‫נסה שוב‬
tryOpeningViaThisPage=Try opening via this page.
turn=‫הפוך‬

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Haladó
align=Igazít
alignment=Igazítás
allChangesLost=Elvesz minden változtatás!
allPages=All Pages
android=Android
angle=Szög
areYouSure=Biztos benne?
@ -523,7 +524,7 @@ scrollbars=Gördítősávok
search=Keresés
searchShapes=Search Shapes
selectAll=Mindent kijelöl
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Éleket kijelöl
selectFont=Betűkészlet választás
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Felső igazítás
topLeft=Top Left
topRight=Top Right
transparent=Átlátszó
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Újra próbál
tryOpeningViaThisPage=Try opening via this page.
turn=Fordít

View file

@ -15,6 +15,7 @@ advanced=advanced
align=align
alignment=alignment
allChangesLost=allChangesLost
allPages=allPages
android=android
angle=angle
areYouSure=areYouSure

View file

@ -15,6 +15,7 @@ advanced=Tingkat lanjutan
align=Rata
alignment=Perataan
allChangesLost=Semua perubahan akan hilang!
allPages=All Pages
android=Android
angle=Sudut
areYouSure=Apakah kamu yakin?
@ -523,7 +524,7 @@ scrollbars=Baris Gulung
search=Cari
searchShapes=Search Shapes
selectAll=Pilih Semua
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Pilih Tepi
selectFont=Pilih font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Rata Atas
topLeft=Top Left
topRight=Top Right
transparent=Transparan
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Coba lagi
tryOpeningViaThisPage=Try opening via this page.
turn=Mengubah

View file

@ -15,6 +15,7 @@ advanced=Avanzate
align=Allinea
alignment=Allineamento
allChangesLost=Tutte le modifiche saranno perse!
allPages=All Pages
android=Android
angle=Angolo
areYouSure=Sei sicuro?
@ -523,7 +524,7 @@ scrollbars=Barre di scorrimento
search=Cerca
searchShapes=Search Shapes
selectAll=Seleziona tutto
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Seleziona bordi
selectFont=Scegli un font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Allinea in alto
topLeft=Top Left
topRight=Top Right
transparent=Trasparente
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Prova di nuovo
tryOpeningViaThisPage=Try opening via this page.
turn=Ruota

View file

@ -15,6 +15,7 @@ advanced=アドバンスド
align=整列
alignment=文字配置
allChangesLost=すべての変更が失われます!
allPages=All Pages
android=アンドロイド
angle=角度
areYouSure=ほんとにいいですか?
@ -523,7 +524,7 @@ scrollbars=スクロールバー
search=検索
searchShapes=Search Shapes
selectAll=全ての選択
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=エッジを選択
selectFont=フォントの選択
selectNone=選択解除
@ -582,7 +583,7 @@ topAlign=上端揃え
topLeft=上端左
topRight=上端右
transparent=透明
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=もう一度お試しください
tryOpeningViaThisPage=Try opening via this page.
turn=回転

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=고급
align=정렬
alignment=정렬
allChangesLost=모든 변경내용이 손실됩니다!
allPages=All Pages
android=Android
angle=각
areYouSure=계속 진행하시겠습니까?
@ -523,7 +524,7 @@ scrollbars=스크롤바
search=검색
searchShapes=Search Shapes
selectAll=모두 선택
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=선 선택
selectFont=글꼴 선택
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=위로 정렬
topLeft=Top Left
topRight=Top Right
transparent=투명
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=다시 시도하십시오
tryOpeningViaThisPage=Try opening via this page.
turn=회전

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Lanjutan
align=Menjajar
alignment=Penjajaran
allChangesLost=Semua perubahan akan hilang!
allPages=All Pages
android=Android
angle=Sudut
areYouSure=Pastikah anda?
@ -523,7 +524,7 @@ scrollbars=Baris gulung
search=Cari
searchShapes=Search Shapes
selectAll=Pilih semua
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Pilih tepi
selectFont=Pilih satu font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Jajaran atas
topLeft=Top Left
topRight=Top Right
transparent=Lutsinar
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Cuba lagi
tryOpeningViaThisPage=Try opening via this page.
turn=Pusing

View file

@ -15,6 +15,7 @@ advanced=Geavanceerd
align=In lijn brengen
alignment=Uitlijnen
allChangesLost=Alle veranderingen zullen verloren gaan!
allPages=All Pages
android=Android
angle=Hoek
areYouSure=Zeker weten?
@ -523,7 +524,7 @@ scrollbars=Schuifbalken
search=Zoeken
searchShapes=Search Shapes
selectAll=Alles Selecteren
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Selecteer Randen
selectFont=Selecteer Lettertype
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Boven uitlijnen
topLeft=Top Left
topRight=Top Right
transparent=Transparant
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Opnieuw proberen
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Avansert
align=Juster
alignment=Justering
allChangesLost=Alle endringer vil gå tapt
allPages=All Pages
android=Android
angle=Vinkel
areYouSure=Er du sikker?
@ -523,7 +524,7 @@ scrollbars=Rullefelt
search=Søk
searchShapes=Search Shapes
selectAll=Velg alt
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Velg kanter
selectFont=Velg en skrifttype
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Toppjustering
topLeft=Top Left
topRight=Top Right
transparent=Gjennomsiktig
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Prøv på nytt
tryOpeningViaThisPage=Try opening via this page.
turn=Vend

View file

@ -15,6 +15,7 @@ advanced=Zaawansowane
align=Wyrównaj
alignment=Wyrównywanie
allChangesLost=Wszystkie zmiany zostaną utracone!
allPages=All Pages
android=Android
angle=Kąt
areYouSure=Czy jesteś pewny?
@ -523,7 +524,7 @@ scrollbars=Paski przewijania
search=Szukaj
searchShapes=Szukaj kształtów
selectAll=Zaznacz wszystko
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Zaznacz brzegi
selectFont=Wybierz czcionkę
selectNone=Odznacz wszystko
@ -582,7 +583,7 @@ topAlign=Wyrównaj do góry
topLeft=Lewy górny
topRight=Prawy górny
transparent=Przezroczysty
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Spróbuj ponownie
tryOpeningViaThisPage=Spróbuj otworzyć poprzez tę stronę.
turn=Obróć

View file

@ -15,6 +15,7 @@ advanced=Avançado
align=Alinhar 
alignment=Alinhamento
allChangesLost=Todas as modificações serão perdidas! 
allPages=All Pages
android=Android
angle=Ângulo
areYouSure=Tem certeza?
@ -523,7 +524,7 @@ scrollbars=Barras de rolagem
search=Buscar
searchShapes=Search Shapes
selectAll=Selecionar tudo 
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Selecione bordas 
selectFont=Selecione uma fonte 
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Alinhar ao topo
topLeft=Top Left
topRight=Top Right
transparent=Transparente
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Tentar novamente
tryOpeningViaThisPage=Try opening via this page.
turn=Virar

View file

@ -15,6 +15,7 @@ advanced=Avançado
align=Alinhar 
alignment=Alinhamento
allChangesLost=Todas as alterações serão perdidas! 
allPages=All Pages
android=Android
angle=Ângulo
areYouSure=Tem a certeza?
@ -523,7 +524,7 @@ scrollbars=Barras de rolagem
search=Pesquisar
searchShapes=Search Shapes
selectAll=Selecionar tudo 
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Selecionar margens
selectFont=Selecionar uma fonte 
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Alinhar ao topo
topLeft=Top Left
topRight=Top Right
transparent=Transparente
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Tentar novamente
tryOpeningViaThisPage=Try opening via this page.
turn=Virar

View file

@ -15,6 +15,7 @@ advanced=Avansat
align=Aliniază
alignment=Aliniere
allChangesLost=Toate modificările vor fi pierdute!
allPages=All Pages
android=Android
angle=Unghi
areYouSure=Eşti sigur?
@ -523,7 +524,7 @@ scrollbars=Bare de rulare
search=Căutare
searchShapes=Search Shapes
selectAll=Selectează totul
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Selectează marginile
selectFont=Selectează fontul
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Aliniere lsus
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Încearcă din nou
tryOpeningViaThisPage=Try opening via this page.
turn=Încearcă

View file

@ -15,6 +15,7 @@ advanced=Расширенные
align=Выровнять
alignment=Выравнивание
allChangesLost=Все изменения будут потеряны!
allPages=All Pages
android=Android
angle=Угол
areYouSure=Вы уверены?

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Napredan
align=Poravnaj
alignment=Poravnanje
allChangesLost=Sve promene će biti izgubljene!
allPages=All Pages
android=Android
angle=Ugao
areYouSure=Da li ste sigurni?
@ -523,7 +524,7 @@ scrollbars=Skrol trake
search=Pretraga
searchShapes=Search Shapes
selectAll=Izaberi sve
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Izaberi grane
selectFont=Izaberi font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Gornje poravnanje
topLeft=Top Left
topRight=Top Right
transparent=Proziran
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Pokušajte ponovo
tryOpeningViaThisPage=Try opening via this page.
turn=Okreni

View file

@ -15,6 +15,7 @@ advanced=Avancerat
align=Justera
alignment=Justering
allChangesLost=Alla ändringar kommer gå förlorade!
allPages=All Pages
android=Android
angle=Vinkel
areYouSure=Är du säker?
@ -523,7 +524,7 @@ scrollbars=Rullningslister
search=Sök
searchShapes=Search Shapes
selectAll=Markera allt
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Markera kanter
selectFont=Välj typsnitt
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Justera upptill
topLeft=Top Left
topRight=Top Right
transparent=Genomskinlig
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Försök igen
tryOpeningViaThisPage=Try opening via this page.
turn=Vänd

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=Advanced
align=Align
alignment=Alignment
allChangesLost=All changes will be lost!
allPages=All Pages
android=Android
angle=Angle
areYouSure=Are you sure?
@ -523,7 +524,7 @@ scrollbars=Scrollbars
search=Search
searchShapes=Search Shapes
selectAll=Select All
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Select Edges
selectFont=Select Font
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Top Align
topLeft=Top Left
topRight=Top Right
transparent=Transparent
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Try again
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=การตั้งค่าขั้นสูง
align=จัดเรียงแนวเดียวกัน
alignment=การจัดเรียงแนวเดียวกัน
allChangesLost=การเปลี่ยนแปลงทั้งหมดจะสูญหาย
allPages=All Pages
android=Android
angle=มุม
areYouSure=คุณแน่ใจหรือไม่
@ -523,7 +524,7 @@ scrollbars=แถบเลื่อน
search=ค้นหา
searchShapes=Search Shapes
selectAll=เลือกทั้งหมด
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=เลือกขอบ
selectFont=เลือกตัวอักษร
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=จัดเรียงแนวบนสุด
topLeft=Top Left
topRight=Top Right
transparent=ความโปร่งแสง
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=ลองอีกครั้ง
tryOpeningViaThisPage=Try opening via this page.
turn=หมุน

View file

@ -15,6 +15,7 @@ advanced=Gelişmiş
align=Hizala
alignment=Hizalama
allChangesLost=Tüm değişiklikler kaybolacaktır!
allPages=All Pages
android=Android
angle=Açı
areYouSure=Emin misiniz?
@ -523,7 +524,7 @@ scrollbars=Kaydırma çubuğu
search=Ara
searchShapes=Search Shapes
selectAll=Tümünü seç
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Kenarları seç
selectFont=Bir yazı tipi seç
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Üst hizala
topLeft=Top Left
topRight=Top Right
transparent=Saydam
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Tekrar deneyin
tryOpeningViaThisPage=Try opening via this page.
turn=Döndür

View file

@ -15,6 +15,7 @@ advanced=Розширені
align=Вирівняти
alignment=Вирівнювання
allChangesLost=Всі зміни будуть втрачені!
allPages=All Pages
android=Android
angle=Кут
areYouSure=Ви впевнені?
@ -523,7 +524,7 @@ scrollbars=Смуга прокрутки
search=Пошук
searchShapes=Search Shapes
selectAll=Вибрати все
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Вибрати краї
selectFont=Вибрати шрифт
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=По верхньому краю
topLeft=Top Left
topRight=Top Right
transparent=Прозорий
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Спробуйте ще раз
tryOpeningViaThisPage=Try opening via this page.
turn=Повернути

View file

@ -15,6 +15,7 @@ advanced=Nâng cao
align=Căn lề
alignment=Sự căn lề
allChangesLost=Tất cả thay đổi sẽ mất!
allPages=All Pages
android=Android
angle=Góc
areYouSure=Bạn chắc chắn?
@ -523,7 +524,7 @@ scrollbars=Thanh cuộn
search=Tìm kiếm
searchShapes=Search Shapes
selectAll=Chọn tất cả
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=Chọn cạnh
selectFont=Chọn phông
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=Căn lề trên cùng
topLeft=Top Left
topRight=Top Right
transparent=Độ trong suốt
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=Thử lại
tryOpeningViaThisPage=Try opening via this page.
turn=Quay

View file

@ -15,6 +15,7 @@ advanced=進階
align=對齊
alignment=對齊
allChangesLost=所有的修改將不會被儲存!
allPages=All Pages
android=Android
angle=角度
areYouSure=是否確定?
@ -523,7 +524,7 @@ scrollbars=頁面捲動
search=搜尋
searchShapes=搜尋圖形
selectAll=全選
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=選擇邊
selectFont=選擇字型
selectNone=全不選
@ -582,7 +583,7 @@ topAlign=向上對齊
topLeft=左上
topRight=右上
transparent=透明
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=再試一次
tryOpeningViaThisPage=Try opening via this page.
turn=Turn

View file

@ -15,6 +15,7 @@ advanced=高级
align=对齐
alignment=对齐
allChangesLost=所有修改都不会被保存!
allPages=All Pages
android=Android
angle=角度
areYouSure=你确定吗?
@ -523,7 +524,7 @@ scrollbars=滚动条
search=搜索
searchShapes=Search Shapes
selectAll=选择全部
selectionOnly=Selection only
selectionOnly=Selection Only
selectEdges=选择连接
selectFont=选择一种字体
selectNone=Select None
@ -582,7 +583,7 @@ topAlign=上对齐
topLeft=Top Left
topRight=Top Right
transparent=透明
transparentBackground=Transparent background
transparentBackground=Transparent Background
tryAgain=重试
tryOpeningViaThisPage=Try opening via this page.
turn=改变方向