PageSourceSearch

https://untwttr.ai/_next/static/chunks/e28b0120.45cba360e340b069.js

js untwttr.ai collected 2026-10-05 15:56:53 UTC 423,541 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9489],{19668:function(t,n,r){function i(t,n){(null==n||n>t.length)&&(n=t.length);for(var r=0,i=Array(n);r<n;r++)i[r]=t[r];return i}function a(t,n){if(!(t instanceof n))throw TypeError("Cannot call a class as a function")}function o(t,n,r){return n&&function(t,n){for(var r=0;r<n.length;r++){var i=n[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,h(i.key),i)}}(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,n){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=f(t))||n){r&&(t=r);var i=0,a=function(){};return{s:a,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:a}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==r.return||r.return()}finally{if(l)throw o}}}}function l(t,n,r){return(n=h(n))in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function u(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var i,a,o,s,l=[],u=!0,c=!1;try{if(o=(r=r.call(t)).next,0===n){if(Object(r)!==r)return;u=!1}else for(;!(u=(i=o.call(r)).done)&&(l.push(i.value),l.length!==n);u=!0);}catch(t){c=!0,a=t}finally{try{if(!u&&null!=r.return&&(s=r.return(),Object(s)!==s))return}finally{if(c)throw a}}return l}}(t,n)||f(t,n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||f(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t){var n=function(t,n){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var i=r.call(t,n);if("object"!=typeof i)return i;throw TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof n?n:n+""}function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,n){if(t){if("string"==typeof t)return i(t,n);var r=({}).toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,n):void 0}}r.d(n,{Z:function(){return ug}});var p=window,g=p?p.navigator:null;p&&p.document;var v,y,m,b,x,w,E,k,T,C,P,S,B,D,_,A,M,R,I,N,L,z,O,V,F,j,X,q,Y=d(""),W=d({}),U=d(function(){}),H="undefined"==typeof HTMLElement?"undefined":d(HTMLElement),K=function(t){return t&&t.instanceString&&Z(t.instanceString)?t.instanceString():null},G=function(t){return null!=t&&d(t)==Y},Z=function(t){return null!=t&&d(t)===U},$=function(t){return!et(t)&&(Array.isArray?Array.isArray(t):null!=t&&t instanceof Array)},Q=function(t){return null!=t&&d(t)===W&&!$(t)&&t.constructor===Object},J=function(t){return null!=t&&d(t)===d(1)&&!isNaN(t)},ee=function(t){return"undefined"===H?void 0:null!=t&&t instanceof HTMLElement},et=function(t){return en(t)||er(t)},en=function(t){return"collection"===K(t)&&t._private.single},er=function(t){return"collection"===K(t)&&!t._private.single},ei=function(t){return"core"===K(t)},ea=function(t){return"stylesheet"===K(t)},eo=function(t){return null==t||!(""!==t&&!t.match(/^\s+$/))},es=function(t){return null!=t&&d(t)===W&&Z(t.then)},el=function(t,n){n||(n=function(){if(1==arguments.length)return arguments[0];if(0==arguments.length)return"undefined";for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);return t.join("$")});var r=function(){var i,a=arguments,o=n.apply(this,a),s=r.cache;return(i=s[o])||(i=s[o]=t.apply(this,a)),i};return r.cache={},r},eu=el(function(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}),ec=el(function(t){return t.replace(/(-\w)/g,function(t){return t[1].toUpperCase()})}),eh=el(function(t,n){return t+n[0].toUpperCase()+n.substring(1)},function(t,n){return t+"$"+n}),ed=function(t){return eo(t)?t:t.charAt(0).toUpperCase()+t.substring(1)},ef="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",ep="rgb[a]?\\(("+ef+"[%]?)\\s*,\\s*("+ef+"[%]?)\\s*,\\s*("+ef+"[%]?)(?:\\s*,\\s*("+ef+"))?\\)",eg="rgb[a]?\\((?:"+ef+"[%]?)\\s*,\\s*(?:"+ef+"[%]?)\\s*,\\s*(?:"+ef+"[%]?)(?:\\s*,\\s*(?:"+ef+"))?\\)",ev="hsl[a]?\\(("+ef+")\\s*,\\s*("+ef+"[%])\\s*,\\s*("+ef+"[%])(?:\\s*,\\s*("+ef+"))?\\)",ey="hsl[a]?\\((?:"+ef+")\\s*,\\s*(?:"+ef+"[%])\\s*,\\s*(?:"+ef+"[%])(?:\\s*,\\s*(?:"+ef+"))?\\)",em=function(t,n){return t<n?-1:t>n?1:0},eb=null!=Object.assign?Object.assign.bind(Object):function(t){for(var n=arguments,r=1;r<n.length;r++){var i=n[r];if(null!=i)for(var a=Object.keys(i),o=0;o<a.length;o++){var s=a[o];t[s]=i[s]}}return t},ex=function(t){return($(t)?t:null)||ew[t.toLowerCase()]||function(t){if((4===t.length||7===t.length)&&"#"===t[0]){var n,r,i;return 4===t.length?(n=parseInt(t[1]+t[1],16),r=parseInt(t[2]+t[2],16),i=parseInt(t[3]+t[3],16)):(n=parseInt(t[1]+t[2],16),r=parseInt(t[3]+t[4],16),i=parseInt(t[5]+t[6],16)),[n,r,i]}}(t)||function(t){var n,r=RegExp("^"+ep+"$").exec(t);if(r){n=[];for(var i=[],a=1;a<=3;a++){var o=r[a];if("%"===o[o.length-1]&&(i[a]=!0),o=parseFloat(o),i[a]&&(o=o/100*255),o<0||o>255)return;n.push(Math.floor(o))}var s=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(s&&!l)return;var u=r[4];if(void 0!==u){if((u=parseFloat(u))<0||u>1)return;n.push(u)}}return n}(t)||function(t){function n(t,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(n-t)*r:r<.5?n:r<2/3?t+(n-t)*(2/3-r)*6:t}var r,i,a,o,s,l,u,c,h=RegExp("^"+ev+"$").exec(t);if(h){if((i=parseInt(h[1]))<0?i=(360- -1*i%360)%360:i>360&&(i%=360),i/=360,(a=parseFloat(h[2]))<0||a>100||(a/=100,(o=parseFloat(h[3]))<0||o>100)||(o/=100,void 0!==(s=h[4])&&((s=parseFloat(s))<0||s>1)))return;if(0===a)l=u=c=Math.round(255*o);else{var d=o<.5?o*(1+a):o+a-o*a,f=2*o-d;l=Math.round(255*n(f,d,i+1/3)),u=Math.round(255*n(f,d,i)),c=Math.round(255*n(f,d,i-1/3))}r=[l,u,c,s]}return r}(t)},ew={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],ol
1ive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},eE=function(t){for(var n=t.map,r=t.keys,i=r.length,a=0;a<i;a++){var o=r[a];if(Q(o))throw Error("Tried to set map with object key");a<r.length-1?(null==n[o]&&(n[o]={}),n=n[o]):n[o]=t.value}},ek=function(t){for(var n=t.map,r=t.keys,i=r.length,a=0;a<i;a++){var o=r[a];if(Q(o))throw Error("Tried to get map with object key");if(null==(n=n[o]))break}return n},eT="undefined"!=typeof globalThis?globalThis:window;function eC(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function eP(){return y?v:(y=1,v=function(t){var n=typeof t;return null!=t&&("object"==n||"function"==n)})}function eS(){if(w)return x;w=1;var t=b?m:(b=1,m="object"==typeof eT&&eT&&eT.Object===Object&&eT),n="object"==typeof self&&self&&self.Object===Object&&self;return x=t||n||Function("return this")()}function eB(){return D?B:(D=1,B=eS().Symbol)}function eD(){if(N)return I;N=1;var t=eB(),n=function(){if(A)return _;A=1;var t=eB(),n=Object.prototype,r=n.hasOwnProperty,i=n.toString,a=t?t.toStringTag:void 0;return _=function(t){var n=r.call(t,a),o=t[a];try{t[a]=void 0;var s=!0}catch(t){}var l=i.call(t);return s&&(n?t[a]=o:delete t[a]),l}}(),r=function(){if(R)return M;R=1;var t=Object.prototype.toString;return M=function(n){return t.call(n)}}(),i=t?t.toStringTag:void 0;return I=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":i&&i in Object(t)?n(t):r(t)}}function e_(){if(V)return O;V=1;var t=eD(),n=z?L:(z=1,L=function(t){return null!=t&&"object"==typeof t});return O=function(r){return"symbol"==typeof r||n(r)&&"[object Symbol]"==t(r)}}var eA=eC(function(){if(q)return X;q=1;var t=eP(),n=function(){if(k)return E;k=1;var t=eS();return E=function(){return t.Date.now()}}(),r=function(){if(j)return F;j=1;var t=function(){if(S)return P;S=1;var t=function(){if(C)return T;C=1;var t=/\s/;return T=function(n){for(var r=n.length;r--&&t.test(n.charAt(r)););return r}}(),n=/^\s+/;return P=function(r){return r?r.slice(0,t(r)+1).replace(n,""):r}}(),n=eP(),r=e_(),i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt;return F=function(l){if("number"==typeof l)return l;if(r(l))return NaN;if(n(l)){var u="function"==typeof l.valueOf?l.valueOf():l;l=n(u)?u+"":u}if("string"!=typeof l)return 0===l?l:+l;l=t(l);var c=a.test(l);return c||o.test(l)?s(l.slice(2),c?2:8):i.test(l)?NaN:+l}}(),i=Math.max,a=Math.min;return X=function(o,s,l){var u,c,h,d,f,p,g=0,v=!1,y=!1,m=!0;if("function"!=typeof o)throw TypeError("Expected a function");function b(t){var n=u,r=c;return u=c=void 0,g=t,d=o.apply(r,n)}function x(t){var n=t-p;return void 0===p||n>=s||n<0||y&&t-g>=h}function w(){var t,r=n();if(x(r))return E(r);f=setTimeout(w,(t=s-(r-p),y?a(t,h-(r-g)):t))}function E(t){return f=void 0,m&&u?b(t):(u=c=void 0,d)}function k(){var t,r=n(),i=x(r);if(u=arguments,c=this,p=r,i){if(void 0===f)return g=t=p,f=setTimeout(w,s),v?b(t):d;if(y)return clearTimeout(f),f=setTimeout(w,s),b(p)}return void 0===f&&(f=setTimeout(w,s)),d}return s=r(s)||0,t(l)&&(v=!!l.leading,h=(y="maxWait"in l)?i(r(l.maxWait)||0,s):h,m="trailing"in l?!!l.trailing:m),k.cancel=function(){void 0!==f&&clearTimeout(f),g=0,u=p=c=f=void 0},k.flush=function(){return void 0===f?d:E(n())},k}}()),eM=p?p.performance:null,eR=eM&&eM.now?function(){return eM.now()}:function(){return Date.now()},eI=function(){if(p){if(p.requestAnimationFrame)return function(t){p.requestAnimationFrame(t)};if(p.mozRequestAnimationFrame)return function(t){p.mozRequestAnimationFrame(t)};if(p.webkitRequestAnimationFrame)return function(t){p.webkitRequestAnimationFrame(t)};if(p.msRequestAnimationFrame)return function(t){p.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(eR())},1e3/60)}}(),eN=function(t){return eI(t)},eL=function(t){for(var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;!(n=t.next()).done;)r=65599*r+n.value|0;return r},ez=function(t){return 65599*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261)+t|0}
vendor: 4,077 bytes, line 1
1,eO=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(n<<5)+n+t|0},eV=function(t){return 2097152*t[0]+t[1]},eF=function(t,n){return[ez(t[0],n[0]),eO(t[1],n[1])]},ej=function(t,n){var r={value:0,done:!1},i=0,a=t.length;return eL({next:function(){return i<a?r.value=t[i++]:r.done=!0,r}},n)},eX=function(t,n){var r={value:0,done:!1},i=0,a=t.length;return eL({next:function(){return i<a?r.value=t.charCodeAt(i++):r.done=!0,r}},n)},eq=function(){return eY(arguments)},eY=function(t){for(var n,r=0;r<t.length;r++){var i=t[r];n=0===r?eX(i):eX(i,n)}return n},eW=!0,eU=null!=console.warn,eH=null!=console.trace,eK=Number.MAX_SAFE_INTEGER||9007199254740991,eG=function(){return!0},eZ=function(){return!1},e$=function(){return 0},eQ=function(){},eJ=function(t){throw Error(t)},e0=function(t){if(void 0===t)return eW;eW=!!t},e1=function(t){e0()&&(eU?console.warn(t):(console.log(t),eH&&console.trace()))},e2=function(t){return null==t?t:$(t)?t.slice():Q(t)?eb({},t):t},e5=function(t,n){for(n=t="";t++<36;n+=51*t&52?(15^t?8^Math.random()*(20^t?16:4):4).toString(16):"-");return n},e3={},e4=function(){return e3},e9=function(t){var n=Object.keys(t);return function(r){for(var i={},a=0;a<n.length;a++){var o=n[a],s=null==r?void 0:r[o];i[o]=void 0===s?t[o]:s}return i}},e6=function(t,n,r){for(var i=t.length-1;i>=0;i--)t[i]===n&&t.splice(i,1)},e8=function(t){t.splice(0,t.length)},e7=function(t,n,r){return r&&(n=eh(r,n)),t[n]},te=function(t,n,r,i){r&&(n=eh(r,n)),t[n]=i},tt="undefined"!=typeof Map?Map:o(function t(){a(this,t),this._obj={}},[{key:"set",value:function(t,n){return this._obj[t]=n,this}},{key:"delete",value:function(t){return this._obj[t]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(t){return void 0!==this._obj[t]}},{key:"get",value:function(t){return this._obj[t]}}]),tn=o(function t(n){if(a(this,t),this._obj=Object.create(null),this.size=0,null!=n){var r;r=null!=n.instanceString&&n.instanceString()===this.instanceString()?n.toArray():n;for(var i=0;i<r.length;i++)this.add(r[i])}},[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(t){var n=this._obj;1!==n[t]&&(n[t]=1,this.size++)}},{key:"delete",value:function(t){var n=this._obj;1===n[t]&&(n[t]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(t){return 1===this._obj[t]}},{key:"toArray",value:function(){var t=this;return Object.keys(this._obj).filter(function(n){return t.has(n)})}},{key:"forEach",value:function(t,n){return this.toArray().forEach(t,n)}}]),tr="undefined"!==("undefined"==typeof Set?"undefined":d(Set))?Set:tn,ti=function(t,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0!==t&&void 0!==n&&ei(t)){var i=n.group;if(null==i&&(i=n.data&&null!=n.data.source&&null!=n.data.target?"edges":"nodes"),"nodes"===i||"edges"===i){this.length=1,this[0]=this;var a=this._private={cy:t,single:!0,data:n.data||{},position:n.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!n.selected,selectable:void 0===n.selectable||!!n.selectable,locked:!!n.locked,grabbed:!1,grabbable:void 0===n.grabbable||!!n.grabbable,pannable:void 0===n.pannable?"edges"===i:!!n.pannable,active:!1,classes:new tr,animation:{current:[],queue:[]},rscratch:{},scratch:n.scratch||{},edges:[],children:[],parent:n.parent&&n.parent.isNode()?n.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==a.position.x&&(a.position.x=0),null==a.position.y&&(a.position.y=0),n.renderedPosition){var o=n.renderedPosition,s=t.pan(),l=t.zoom();a.position={x:(o.x-s.x)/l,y:(o.y-s.y)/l}}var u=[];$(n.classes)?u=n.classes:G(n.classes)&&(u=n.classes.split(/\s+/));for(var c=0,h=u.length;c<h;c++){var d=u[c];d&&""!==d&&a.classes.add(d)}
1this.createEmitter(),(void 0===r||r)&&this.restore();var f=n.style||n.css;f&&(e1("Setting a `style` bypass at element creation should be done only when absolutely necessary.  Try to use the stylesheet instead."),this.style(f))}else eJ("An element must be of type `nodes` or `edges`; you specified `"+i+"`")}else eJ("An element must have a core reference and parameters set")},ta=function(t){return t={bfs:t.bfs||!t.dfs,dfs:t.dfs||!t.bfs},function(n,r,i){Q(n)&&!et(n)&&(n=(o=n).roots||o.root,r=o.visit,i=o.directed),i=2!=arguments.length||Z(r)?i:r,r=Z(r)?r:function(){};for(var a,o,s,l=this._private.cy,u=n=G(n)?this.filter(n):n,c=[],h=[],d={},f={},p={},g=0,v=this.byGroup(),y=v.nodes,m=v.edges,b=0;b<u.length;b++){var x=u[b],w=x.id();x.isNode()&&(c.unshift(x),t.bfs&&(p[w]=!0,h.push(x)),f[w]=0)}for(;0!==c.length&&(0===(a=function(){var n=t.bfs?c.shift():c.pop(),a=n.id();if(t.dfs){if(p[a])return 0;p[a]=!0,h.push(n)}var o,l=f[a],u=d[a],v=null!=u?u.source():null,b=null!=u?u.target():null,x=null==u?void 0:n.same(v)?b[0]:v[0];if(!0===(o=r(n,u,x,g++,l)))return s=n,1;if(!1===o)return 1;for(var w=n.connectedEdges().filter(function(t){return(!i||t.source().same(n))&&m.has(t)}),E=0;E<w.length;E++){var k=w[E],T=k.connectedNodes().filter(function(t){return!t.same(n)&&y.has(t)}),C=T.id();0===T.length||p[C]||(T=T[0],c.push(T),t.bfs&&(p[C]=!0,h.push(T)),d[C]=k,f[C]=f[a]+1)}}())||1!==a););for(var E=l.collection(),k=0;k<h.length;k++){var T=h[k],C=d[T.id()];null!=C&&E.push(C),E.push(T)}return{path:l.collection(E),found:l.collection(s)}}},to={breadthFirstSearch:ta({bfs:!0}),depthFirstSearch:ta({dfs:!0})};to.bfs=to.breadthFirstSearch,to.dfs=to.depthFirstSearch;var ts,tl,tu,tc={exports:{}}
vendor: 6,722 bytes, line 1
1,th=tc.exports,td=eC(tu?tl:(tu=1,ts||(ts=1,(function(){var t,n,r,i,a,o,s,l,u,c,h,d,f,p,g;r=Math.floor,c=Math.min,n=function(t,n){return t<n?-1:t>n?1:0},u=function(t,i,a,o,s){var l;if(null==a&&(a=0),null==s&&(s=n),a<0)throw Error("lo must be non-negative");for(null==o&&(o=t.length);a<o;)0>s(i,t[l=r((a+o)/2)])?o=l:a=l+1;return[].splice.apply(t,[a,a-a].concat(i)),i},o=function(t,r,i){return null==i&&(i=n),t.push(r),p(t,0,t.length-1,i)},a=function(t,r){var i,a;return null==r&&(r=n),i=t.pop(),t.length?(a=t[0],t[0]=i,g(t,0,r)):a=i,a},l=function(t,r,i){var a;return null==i&&(i=n),a=t[0],t[0]=r,g(t,0,i),a},s=function(t,r,i){var a;return null==i&&(i=n),t.length&&0>i(t[0],r)&&(r=(a=[t[0],r])[0],t[0]=a[1],g(t,0,i)),r},i=function(t,i){var a,o,s,l,u,c;for(null==i&&(i=n),u=[],o=0,s=(l=(function(){c=[];for(var n=0,i=r(t.length/2);0<=i?n<i:n>i;0<=i?n++:n--)c.push(n);return c}).apply(this).reverse()).length;o<s;o++)a=l[o],u.push(g(t,a,i));return u},f=function(t,r,i){var a;if(null==i&&(i=n),-1!==(a=t.indexOf(r)))return p(t,0,a,i),g(t,a,i)},h=function(t,r,a){var o,l,u,c;if(null==a&&(a=n),!(o=t.slice(0,r)).length)return o;for(i(o,a),l=0,u=(c=t.slice(r)).length;l<u;l++)s(o,c[l],a);return o.sort(a).reverse()},d=function(t,r,o){var s,l,h,d,f,p,g,v,y;if(null==o&&(o=n),10*r<=t.length){if(!(h=t.slice(0,r).sort(o)).length)return h;for(l=h[h.length-1],d=0,p=(g=t.slice(r)).length;d<p;d++)0>o(s=g[d],l)&&(u(h,s,0,null,o),h.pop(),l=h[h.length-1]);return h}for(i(t,o),y=[],f=0,v=c(r,t.length);0<=v?f<v:f>v;0<=v?++f:--f)y.push(a(t,o));return y},p=function(t,r,i,a){var o,s,l;for(null==a&&(a=n),o=t[i];i>r&&0>a(o,s=t[l=i-1>>1]);)t[i]=s,i=l;return t[i]=o},g=function(t,r,i){var a,o,s,l,u;for(null==i&&(i=n),o=t.length,u=r,s=t[r],a=2*r+1;a<o;)(l=a+1)<o&&!(0>i(t[a],t[l]))&&(a=l),t[r]=t[a],a=2*(r=a)+1;return t[r]=s,p(t,u,r,i)},t=function(){function t(t){this.cmp=null!=t?t:n,this.nodes=[]}return t.push=o,t.pop=a,t.replace=l,t.pushpop=s,t.heapify=i,t.updateItem=f,t.nlargest=h,t.nsmallest=d,t.prototype.push=function(t){return o(this.nodes,t,this.cmp)},t.prototype.pop=function(){return a(this.nodes,this.cmp)},t.prototype.peek=function(){return this.nodes[0]},t.prototype.contains=function(t){return -1!==this.nodes.indexOf(t)},t.prototype.replace=function(t){return l(this.nodes,t,this.cmp)},t.prototype.pushpop=function(t){return s(this.nodes,t,this.cmp)},t.prototype.heapify=function(){return i(this.nodes,this.cmp)},t.prototype.updateItem=function(t){return f(this.nodes,t,this.cmp)},t.prototype.clear=function(){return this.nodes=[]},t.prototype.empty=function(){return 0===this.nodes.length},t.prototype.size=function(){return this.nodes.length},t.prototype.clone=function(){var n;return(n=new t).nodes=this.nodes.slice(0),n},t.prototype.toArray=function(){return this.nodes.slice(0)},t.prototype.insert=t.prototype.push,t.prototype.top=t.prototype.peek,t.prototype.front=t.prototype.peek,t.prototype.has=t.prototype.contains,t.prototype.copy=t.prototype.clone,t}(),tc.exports=t}).call(th)),tl=tc.exports)),tf=e9({root:null,weight:function(t){return 1},directed:!1}),tp=e9({root:null,goal:null,weight:function(t){return 1},heuristic:function(t){return 0},directed:!1}),tg=e9({weight:function(t){return 1},directed:!1}),tv=e9({weight:function(t){return 1},directed:!1,root:null}),ty=Math.sqrt(2),tm=function(t,n,r){0===r.length&&eJ("Karger-Stein must be run on a connected (sub)graph");for(var i=r[t],a=i[1],o=i[2],s=n[a],l=n[o],u=r.length-1;u>=0;u--){var c=r[u],h=c[1],d=c[2];(n[h]===s&&n[d]===l||n[h]===l&&n[d]===s)&&r.splice(u,1)}for(var f=0;f<r.length;f++){var p=r[f];p[1]===l?(r[f]=p.slice(),r[f][1]=s):p[2]===l&&(r[f]=p.slice(),r[f][2]=s)}for(var g=0;g<n.length;g++)n[g]===l&&(n[g]=s);return r},tb=function(t,n,r,i){for(;r>i;)n=tm(Math.floor(Math.random()*n.length),t,n),r--;return n},tx=function(t,n,r){return{x:t.x*n+r.x,y:t.y*n+r.y}},tw=function(t,n,r){return{x:(t.x-r.x)/n,y:(t.y-r.y)/n}},tE=function(t){return{x:t[0],y:t[1]}},tk=function(t,n){return Math.atan2(n,t)-Math.PI/2},tT=Math.log2||function(t){return Math.log(t)/Math.log(2)},tC=function(t){return t>0?1:t<0?-1:0},tP=function(t,n){return Math.sqrt(tS(t,n))},tS=function(t,n){var r=n.x-t.x,i=n.y-t.y;return r*r+i*i},tB=function(t){for(var n=t.length,r=0,i=0;i<n;i++)r+=t[i];for(var a=0;a<n;a++)t[a]=t[a]/r;return t},tD=function(t,n,r,i){return(1-i)*(1-i)*t+2*(1-i)*i*n+i*i*r},t_=function(t,n,r,i){return{x:tD(t.x,n.x,r.x,i),y:tD(t.y,n.y,r.y,i)}},tA=function(t,n,r){return Math.max(t,Math.min(r,n))},tM=function(t){if(null==t)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(null!=t.x1&&null!=t.y1){if(null!=t.x2&&null!=t.y2&&t.x2>=t.x1&&t.y2>=t.y1)return{x1:t.x1,y1:t.y1,x2:t.x2,y2:t.y2,w:t.x2-t.x1,h:t.y2-t.y1};if(null!=t.w&&null!=t.h&&t.w>=0&&t.h>=0)return{x1:t.x1,y1:t.y1,x2:t.x1+t.w,y2:t.y1+t.h,w:t.w,h:t.h}}},tR=function(t,n){t.x1=Math.min(t.x1,n.x1),t.x2=Math.max(t.x2,n.x2),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,n.y1),t.y2=Math.max(t.y2,n.y2),t.h=t.y2-t.y1},tI=function(t,n,r){t.x1=Math.min(t.x1,n),t.x2=Math.max(t.x2,n),t.w=t.x2-t.x1,t.y1=Math.min(t.y1,r),t.y2=Math.max(t.y2,r),t.h=t.y2-t.y1},tN=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.x1-=n,t.x2+=n,t.y1-=n,t.y2+=n,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},tL=function(t){var n,r,i,a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)n=r=i=a=o[0];else if(2===o.length)n=i=o[0],a=r=o[1];else if(4===o.length){var s=u(o,4);n=s[0],r=s[1],i=s[2],a=s[3]}return t.x1-=a,t.x2+=r,t.y1-=n,t.y2+=i,t.w=t.x2-t.x1,t.h=t.y2-t.y1,t},tz=function(t,n){t.x1=n.x1,t.y1=n.y1,t.x2=n.x2,t.y2=n.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1},tO=function(t,n){return!(t.x1>n.x2)&&!(n.x1>t.x2)&&!(t.x2<n.x1)&&!(n.x2<t.x1)&&!(t.y2<n.y1)&&!(n.y2<t.y1)&&!(t.y1>n.y2)&&!(n.y1>t.y2)},tV=function(t,n,r){return t.x1<=n&&n<=t.x2&&t.y1<=r&&r<=t.y2},tF=function(t,n,r,i,a,o,s){var l,u,c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"auto",h="auto"===c?t3(a,o):c,d=a/2,f=o/2,p=(h=Math.min(h,d,f))!==d,g=h!==f;if(p){var v=i-f-s;if((l=tQ(t,n,r,i,r-d+h-s,v,r+d-h+s,v,!1)).length>0)return l}if(g){var y=r+d+s;if((l=tQ(t,n,r,i,y,i-f+h-s,y,i+f-h+s,!1)).length>0)return l}if(p){var m=i+f+s;if((l=tQ(t,n,r,i,r-d+h-s,m,r+d-h+s,m,!1)).length>0)return l}if(g){var b=r-d-s;if((l=tQ(t,n,r,i,b,i-f+h-s,b,i+f-h+s,!1)).length>0)return l}var x=r-d+h,w=i-f+h;if((u=tZ(t,n,r,i,x,w,h+s)).length>0&&u[0]<=x&&u[1]<=w)return[u[0],u[1]];var E=r+d-h,k=i-f+h;if((u=tZ(t,n,r,i,E,k,h+s)).length>0&&u[0]>=E&&u[1]<=k)return[u[0],u[1]];var T=r+d-h,C=i+f-h;if((u=tZ(t,n,r,i,T,C,h+s)).length>0&&u[0]>=T&&u[1]>=C)return[u[0],u[1]];var P=r-d+h,S=i+f-h;return(u=tZ(t,n,r,i,P,S,h+s)).length>0&&u[0]<=P&&u[1]>=S?[u[0],u[1]]:[]},tj=function(t,n,r,i,a,o,s){var l=Math.min(r,a),u=Math.max(r,a),c=Math.min(i,o),h=Math.max(i,o);
1return l-s<=t&&t<=u+s&&c-s<=n&&n<=h+s},tX=function(t,n,r,i,a,o,s,l,u){var c=Math.min(r,s,a)-u,h=Math.max(r,s,a)+u,d=Math.min(i,l,o)-u,f=Math.max(i,l,o)+u;return!(t<c||t>h||n<d||n>f)},tq=function(t,n,r,i,a,o,s,l){var u=[];d=1*r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s+i*i-4*i*o+2*i*l+4*o*o-4*o*l+l*l,f=9*r*a-3*r*r-3*r*s-6*a*a+3*a*s+9*i*o-3*i*i-3*i*l-6*o*o+3*o*l,p=3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t+3*i*i-6*i*o+i*l-i*n+2*o*o+2*o*n-l*n,0===d&&(d=1e-5),m=-27*(g=(1*r*a-r*r+r*t-a*t+i*o-i*i+i*n-o*n)/d)+(f/=d)*(9*(p/=d)-f*f*2),v=(y=(3*p-f*f)/9)*y*y+(m/=54)*m,u[1]=0,E=f/3,v>0?(x=(x=m+Math.sqrt(v))<0?-Math.pow(-x,1/3):Math.pow(x,1/3),w=(w=m-Math.sqrt(v))<0?-Math.pow(-w,1/3):Math.pow(w,1/3),u[0]=-E+x+w,E+=(x+w)/2,u[4]=u[2]=-E,E=Math.sqrt(3)*(-w+x)/2,u[3]=E,u[5]=-E):(u[5]=u[3]=0,0===v?(k=m<0?-Math.pow(-m,1/3):Math.pow(m,1/3),u[0]=2*k-E,u[4]=u[2]=-(k+E)):(b=Math.acos(m/Math.sqrt(b=(y=-y)*y*y)),k=2*Math.sqrt(y),u[0]=-E+k*Math.cos(b/3),u[2]=-E+k*Math.cos((b+2*Math.PI)/3),u[4]=-E+k*Math.cos((b+4*Math.PI)/3)));for(var c=[],h=0;h<6;h+=2)1e-7>Math.abs(u[h+1])&&u[h]>=0&&u[h]<=1&&c.push(u[h]);c.push(1),c.push(0);for(var d,f,p,g,v,y,m,b,x,w,E,k,T,C=-1,P=0;P<c.length;P++)T=Math.pow(Math.pow(1-c[P],2)*r+2*(1-c[P])*c[P]*a+c[P]*c[P]*s-t,2)+Math.pow(Math.pow(1-c[P],2)*i+2*(1-c[P])*c[P]*o+c[P]*c[P]*l-n,2),C>=0?T<C&&(C=T):C=T;return C},tY=function(t,n,r,i,a,o){var s=[t-r,n-i],l=[a-r,o-i],u=l[0]*l[0]+l[1]*l[1],c=s[0]*s[0]+s[1]*s[1],h=s[0]*l[0]+s[1]*l[1],d=h*h/u;return h<0?c:d>u?(t-a)*(t-a)+(n-o)*(n-o):c-d},tW=function(t,n,r){for(var i,a,o,s,l=0,u=0;u<r.length/2;u++)if(i=r[2*u],a=r[2*u+1],u+1<r.length/2?(o=r[2*(u+1)],s=r[2*(u+1)+1]):(o=r[2*(u+1-r.length/2)],s=r[2*(u+1-r.length/2)+1]),i==t&&o==t);else{if(!(i>=t&&t>=o||i<=t&&t<=o))continue;(t-i)/(o-i)*(s-a)+a>n&&l++}return l%2!=0},tU=function(t,n,r,i,a,o,s,l,u){var c,h=Array(r.length);null!=l[0]?(c=Math.atan(l[1]/l[0]),l[0]<0?c+=Math.PI/2:c=-c-Math.PI/2):c=l;for(var d=Math.cos(-c),f=Math.sin(-c),p=0;p<h.length/2;p++)h[2*p]=o/2*(r[2*p]*d-r[2*p+1]*f),h[2*p+1]=s/2*(r[2*p+1]*d+r[2*p]*f),h[2*p]+=i,h[2*p+1]+=a;return tW(t,n,u>0?tH(tK(h,-u)):h)},tH=function(t){for(var n,r,i,a,o,s,l,u,c=Array(t.length/2),h=0;h<t.length/4;h++){n=t[4*h],r=t[4*h+1],i=t[4*h+2],a=t[4*h+3],h<t.length/4-1?(o=t[4*(h+1)],s=t[4*(h+1)+1],l=t[4*(h+1)+2],u=t[4*(h+1)+3]):(o=t[0],s=t[1],l=t[2],u=t[3]);var d=tQ(n,r,i,a,o,s,l,u,!0);c[2*h]=d[0],c[2*h+1]=d[1]}return c},tK=function(t,n){for(var r,i,a,o,s=Array(2*t.length),l=0;l<t.length/2;l++){r=t[2*l],i=t[2*l+1],l<t.length/2-1?(a=t[2*(l+1)],o=t[2*(l+1)+1]):(a=t[0],o=t[1]);var u=o-i,c=-(a-r),h=Math.sqrt(u*u+c*c),d=u/h,f=c/h;s[4*l]=r+d*n,s[4*l+1]=i+f*n,s[4*l+2]=a+d*n,s[4*l+3]=o+f*n}return s},tG=function(t,n,r,i,a,o,s){return t-=a,n-=o,(t/=r/2+s)*t+(n/=i/2+s)*n<=1},tZ=function(t,n,r,i,a,o,s){var l=[r-t,i-n],u=[t-a,n-o],c=l[0]*l[0]+l[1]*l[1],h=2*(u[0]*l[0]+u[1]*l[1]),d=h*h-4*c*(u[0]*u[0]+u[1]*u[1]-s*s);if(d<0)return[];var f=(-h+Math.sqrt(d))/(2*c),p=(-h-Math.sqrt(d))/(2*c),g=Math.min(f,p),v=Math.max(f,p),y=[];if(g>=0&&g<=1&&y.push(g),v>=0&&v<=1&&y.push(v),0===y.length)return[];var m=y[0]*l[0]+t,b=y[0]*l[1]+n;return y.length>1?y[0]==y[1]?[m,b]:[m,b,y[1]*l[0]+t,y[1]*l[1]+n]:[m,b]},t$=function(t,n,r){return n<=t&&t<=r||r<=t&&t<=n?t:t<=n&&n<=r||r<=n&&n<=t?n:r},tQ=function(t,n,r,i,a,o,s,l,u){var c=t-a,h=r-t,d=s-a,f=n-o,p=i-n,g=l-o,v=d*f-g*c,y=h*f-p*c,m=g*h-d*p;if(0!==m){var b=v/m,x=y/m;return -.001<=b&&b<=1.001&&-.001<=x&&x<=1.001||u?[t+b*h,n+b*p]:[]}return 0===v||0===y?t$(t,r,s)===s?[s,l]:t$(t,r,a)===a?[a,o]:t$(a,s,r)===r?[r,i]:[]:[]},tJ=function(t,n,r,i,a,o,s,l){var u,c,h,d,f,p,g=[],v=Array(r.length),y=!0;if(null==o&&(y=!1),y){for(var m=0;m<v.length/2;m++)v[2*m]=r[2*m]*o+i,v[2*m+1]=r[2*m+1]*s+a;c=l>0?tH(tK(v,-l)):v}else c=r;for(var b=0;b<c.length/2;b++)h=c[2*b],d=c[2*b+1],b<c.length/2-1?(f=c[2*(b+1)],p=c[2*(b+1)+1]):(f=c[0],p=c[1]),0!==(u=tQ(t,n,i,a,h,d,f,p)).length&&g.push(u[0],u[1]);return g},t0=function(t,n,r){var i=[t[0]-n[0],t[1]-n[1]],a=Math.sqrt(i[0]*i[0]+i[1]*i[1]),o=(a-r)/a;return o<0&&(o=1e-5),[n[0]+o*i[0],n[1]+o*i[1]]},t1=function(t,n){return t2(t5(t,n))},t2=function(t){for(var n,r,i=t.length/2,a=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u<i;u++)n=t[2*u],r=t[2*u+1],a=Math.min(a,n),s=Math.max(s,n),o=Math.min(o,r),l=Math.max(l,r);for(var c=2/(s-a),h=2/(l-o),d=0;d<i;d++)n=t[2*d]=t[2*d]*c,r=t[2*d+1]=t[2*d+1]*h,a=Math.min(a,n),s=Math.max(s,n),o=Math.min(o,r),l=Math.max(l,r);if(o<-1)for(var f=0;f<i;f++)r=t[2*f+1]=t[2*f+1]+(-1-o);return t},t5=function(t,n){var r=1/t*2*Math.PI,i=t%2==0?Math.PI/2+r/2:Math.PI/2;i+=n;for(var a,o=Array(2*t),s=0;s<t;s++)a=s*r+i,o[2*s]=Math.cos(a),o[2*s+1]=Math.sin(-a);return o},t3=function(t,n){return Math.min(t/4,n/4,8)},t4=function(t,n){return Math.min(t/10,n/10,8)},t9=function(t,n){return{heightOffset:Math.min(15,.05*n),widthOffset:Math.min(100,.25*t),ctrlPtOffsetPct:.05}},t6=e9({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(t){return 1}}),t8=e9({root:null,weight:function(t){return 1},directed:!1,alpha:0}),t7={degreeCentralityNormalized:function(t){t=t8(t);var n=this.cy(),r=this.nodes(),i=r.length;if(t.directed){for(var a={},o={},s=0,l=0,u=0;u<i;u++){var c=r[u],h=c.id();t.root=c;var d=this.degreeCentrality(t);s<d.indegree&&(s=d.indegree),l<d.outdegree&&(l=d.outdegree),a[h]=d.indegree,o[h]=d.outdegree}return{indegree:function(t){return 0==s?0:(G(t)&&(t=n.filter(t)),a[t.id()]/s)},outdegree:function(t){return 0===l?0:(G(t)&&(t=n.filter(t)),o[t.id()]/l)}}}for(var f={},p=0,g=0;g<i;g++){var v=r[g];t.root=v;var y=this.degreeCentrality(t);p<y.degree&&(p=y.degree),f[v.id()]=y.degree}return{degree:function(t){return 0===p?0:(G(t)&&(t=n.filter(t)),f[t.id()]/p)}}},degreeCentrality:function(t){t=t8(t);var n=this.cy(),r=this,i=t,a=i.root,o=i.weight,s=i.directed,l=i.alpha;
1if(a=n.collection(a)[0],s){for(var u=a.connectedEdges(),c=u.filter(function(t){return t.target().same(a)&&r.has(t)}),h=u.filter(function(t){return t.source().same(a)&&r.has(t)}),d=c.length,f=h.length,p=0,g=0,v=0;v<c.length;v++)p+=o(c[v]);for(var y=0;y<h.length;y++)g+=o(h[y]);return{indegree:Math.pow(d,1-l)*Math.pow(p,l),outdegree:Math.pow(f,1-l)*Math.pow(g,l)}}for(var m=a.connectedEdges().intersection(r),b=m.length,x=0,w=0;w<m.length;w++)x+=o(m[w]);return{degree:Math.pow(b,1-l)*Math.pow(x,l)}}};t7.dc=t7.degreeCentrality,t7.dcn=t7.degreeCentralityNormalised=t7.degreeCentralityNormalized;var ne=e9({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),nt={closenessCentralityNormalized:function(t){for(var n=ne(t),r=n.harmonic,i=n.weight,a=n.directed,o=this.cy(),s={},l=0,u=this.nodes(),c=this.floydWarshall({weight:i,directed:a}),h=0;h<u.length;h++){for(var d=0,f=u[h],p=0;p<u.length;p++)if(h!==p){var g=c.distance(f,u[p]);d+=r?1/g:g}r||(d=1/d),l<d&&(l=d),s[f.id()]=d}return{closeness:function(t){return 0==l?0:s[t=G(t)?o.filter(t)[0].id():t.id()]/l}}},closenessCentrality:function(t){var n=ne(t),r=n.root,i=n.weight,a=n.directed,o=n.harmonic;r=this.filter(r)[0];for(var s=this.dijkstra({root:r,weight:i,directed:a}),l=0,u=this.nodes(),c=0;c<u.length;c++){var h=u[c];if(!h.same(r)){var d=s.distanceTo(h);l+=o?1/d:d}}return o?l:1/l}};nt.cc=nt.closenessCentrality,nt.ccn=nt.closenessCentralityNormalised=nt.closenessCentralityNormalized;var nn=e9({weight:null,directed:!1}),nr={betweennessCentrality:function(t){for(var n=nn(t),r=n.directed,i=n.weight,a=null!=i,o=this.cy(),s=this.nodes(),l={},u={},c=0,h=function(t,n){u[t]=n,n>c&&(c=n)},d=function(t){return u[t]},f=0;f<s.length;f++){var p=s[f],g=p.id();l[g]=r?p.outgoers().nodes():p.openNeighborhood().nodes(),h(g,0)}for(var v=0;v<s.length;v++)!function(){for(var t=s[v].id(),n=[],r={},u={},c={},f=new td(function(t,n){return c[t]-c[n]}),p=0;p<s.length;p++){var g=s[p].id();r[g]=[],u[g]=0,c[g]=1/0}for(u[t]=1,c[t]=0,f.push(t);!f.empty();){var y=f.pop();if(n.push(y),a)for(var m=0;m<l[y].length;m++){var b=l[y][m],x=o.getElementById(y),w=i(x.edgesTo(b).length>0?x.edgesTo(b)[0]:b.edgesTo(x)[0]);c[b=b.id()]>c[y]+w&&(c[b]=c[y]+w,0>f.nodes.indexOf(b)?f.push(b):f.updateItem(b),u[b]=0,r[b]=[]),c[b]==c[y]+w&&(u[b]=u[b]+u[y],r[b].push(y))}else for(var E=0;E<l[y].length;E++){var k=l[y][E].id();c[k]==1/0&&(f.push(k),c[k]=c[y]+1),c[k]==c[y]+1&&(u[k]=u[k]+u[y],r[k].push(y))}}for(var T={},C=0;C<s.length;C++)T[s[C].id()]=0;for(;n.length>0;){for(var P=n.pop(),S=0;S<r[P].length;S++){var B=r[P][S];T[B]=T[B]+u[B]/u[P]*(1+T[P])}P!=s[v].id()&&h(P,d(P)+T[P])}}();var y={betweenness:function(t){return d(o.collection(t).id())},betweennessNormalized:function(t){return 0==c?0:d(o.collection(t).id())/c}};return y.betweennessNormalised=y.betweennessNormalized,y}};nr.bc=nr.betweennessCentrality;var ni=e9({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(t){return 1}]}),na=function(t,n){for(var r=0,i=0;i<n.length;i++)r+=n[i](t);return r},no=function(t,n){for(var r,i=0;i<n;i++){r=0;for(var a=0;a<n;a++)r+=t[a*n+i];for(var o=0;o<n;o++)t[o*n+i]=t[o*n+i]/r}},ns=function(t,n,r){for(var i=Array(r*r),a=0;a<r;a++){for(var o=0;o<r;o++)i[a*r+o]=0;for(var s=0;s<r;s++)for(var l=0;l<r;l++)i[a*r+l]+=t[a*r+s]*n[s*r+l]}return i},nl=function(t,n,r){for(var i=t.slice(0),a=1;a<r;a++)t=ns(t,i,n);return t},nu=function(t,n,r){for(var i=Array(n*n),a=0;a<n*n;a++)i[a]=Math.pow(t[a],r);return no(i,n),i},nc=function(t,n,r,i){for(var a=0;a<r;a++)if(Math.round(t[a]*Math.pow(10,i))/Math.pow(10,i)!=Math.round(n[a]*Math.pow(10,i))/Math.pow(10,i))return!1;return!0},nh=function(t,n){for(var r=0;r<t.length;r++)if(!n[r]||t[r].id()!==n[r].id())return!1;return!0},nd=function(t){for(var n=this.nodes(),r=this.edges(),i=this.cy(),a=ni(t),o={},s=0;s<n.length;s++)o[n[s].id()]=s;for(var l,u=n.length,c=u*u,h=Array(c),d=0;d<c;d++)h[d]=0;for(var f=0;f<r.length;f++){var p=r[f],g=o[p.source().id()],v=o[p.target().id()],y=na(p,a.attributes);h[g*u+v]+=y,h[v*u+g]+=y}!function(t,n,r){for(var i=0;i<n;i++)t[i*n+i]=r}(h,u,a.multFactor),no(h,u);for(var m=!0,b=0;m&&b<a.maxIterations;)m=!1,nc(h=nu(l=nl(h,u,a.expandFactor),u,a.inflateFactor),l,c,4)||(m=!0),b++;return function(t){for(var n=0;n<t.length;n++)for(var r=0;r<t.length;r++)n!=r&&nh(t[n],t[r])&&t.splice(r,1);return t}(function(t,n,r,i){for(var a=[],o=0;o<n;o++){for(var s=[],l=0;l<n;l++)Math.round(1e3*t[o*n+l])/1e3>0&&s.push(r[l]);0!==s.length&&a.push(i.collection(s))}return a}(h,u,n,i))},nf=function(t){return t},np=function(t,n){return Math.abs(n-t)},ng=function(t,n,r){return t+np(n,r)},nv=function(t,n,r){return t+Math.pow(r-n,2)},ny=function(t){return Math.sqrt(t)},nm=function(t,n,r){return Math.max(t,np(n,r))},nb=function(t,n,r,i,a){for(var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:nf,s=i,l=0;l<t;l++)s=a(s,n(l),r(l));return o(s)},nx={euclidean:function(t,n,r){return t>=2?nb(t,n,r,0,nv,ny):nb(t,n,r,0,ng)},squaredEuclidean:function(t,n,r){return nb(t,n,r,0,nv)},manhattan:function(t,n,r){return nb(t,n,r,0,ng)},max:function(t,n,r){return nb(t,n,r,-1/0,nm)}};function nw(t,n,r,i,a,o){var s;return s=Z(t)?t:nx[t]||nx.euclidean,0===n&&Z(t)?s(a,o):s(n,r,i,a,o)}nx["squared-euclidean"]=nx.squaredEuclidean,nx.squaredeuclidean=nx.squaredEuclidean;var nE=e9({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),nk=function(t){return nE(t)},nT=function(t,n,r,i,a){var o="kMedoids"!==a?function(t){return r[t]}:function(t){return i[t](r)};return nw(t,i.length,o,function(t){return i[t](n)},r,n)},nC=function(t,n,r){for(var i=r.length,a=Array(i),o=Array(i),s=Array(n),l=null,u=0;u<i;u++)a[u]=t.min(r[u]).value,o[u]=t.max(r[u]).value;for(var c=0;c<n;c++){l=[];for(var h=0;h<i;h++)l[h]=Math.random()*(o[h]-a[h])+a[h];s[c]=l}return s},nP=function(t,n,r,i,a){for(var o=1/0,s=0,l=0;l<n.length;l++){var u=nT(r,t,n[l],i,a);u<o&&(o=u,s=l)}return s},nS=function(t,n,r){for(var i=[],a=null,o=0;o<n.length;o++)r[(a=n[o]).id()]===t&&i.push(a);return i},nB=function(t,n,r){for(var i=0;i<t.length;i++)for(var a=0;a<t[i].length;a++)if(Math.abs(t[i][a]-n[i][a])>r)return!1;return!0},nD=function(t,n,r){for(var i=0;i<r;i++)if(t===n[i])return!0;return!1},n_=function(t,n){var r=Array(n);if(t.length<50)for(var i=0;i<n;i++){for(var a=t[Math.floor(Math.random()*t.length)];nD(a,r,i);)a=t[Math.floor(Math.random()*t.length)];r[i]=a}else for(var o=0;o<n;o++)r[o]=t[Math.floor(Math.random()*t.length)];return r},nA=function(t,n,r){for(var i=0,a=0;a<n.length;a++)i+=nT("manhattan",n[a],t,r,"kMedoids");return i},nM=function(t,n,r,i,a){for(var o,s,l=0;l<n.length;l++)for(var u=0;u<t.length;u++)i[l][u]=Math.pow(r[l][u],a.m);for(var c=0;c<t.length;c++)for(var h=0;h<a.attributes.length;h++){o=0,s=0;for(var d=0;d<n.length;d++)o+=i[d][c]*a.attributes[h](n[d]),s+=i[d][c];t[c][h]=o/s}},nR=function(t,n,r,i,a){for(var o=0;o<t.length;
1o++)n[o]=t[o].slice();for(var s,l=2/(a.m-1),u=0;u<r.length;u++)for(var c=0;c<i.length;c++){s=0;for(var h=0;h<r.length;h++)s+=Math.pow(nT(a.distance,i[c],r[u],a.attributes,"cmeans")/nT(a.distance,i[c],r[h],a.attributes,"cmeans"),l);t[c][u]=1/s}},nI=function(t){var n,r,i,a,o=this.cy(),s=this.nodes(),l=nk(t);i=Array(s.length);for(var u=0;u<s.length;u++)i[u]=Array(l.k);r=Array(s.length);for(var c=0;c<s.length;c++)r[c]=Array(l.k);for(var h=0;h<s.length;h++){for(var d=0,f=0;f<l.k;f++)r[h][f]=Math.random(),d+=r[h][f];for(var p=0;p<l.k;p++)r[h][p]=r[h][p]/d}n=Array(l.k);for(var g=0;g<l.k;g++)n[g]=Array(l.attributes.length);a=Array(s.length);for(var v=0;v<s.length;v++)a[v]=Array(l.k);for(var y=!0,m=0;y&&m<l.maxIterations;)y=!1,nM(n,s,r,a,l),nR(r,i,n,s,l),nB(r,i,l.sensitivityThreshold)||(y=!0),m++;return{clusters:function(t,n,r,i){for(var a,o,s=Array(r.k),l=0;l<s.length;l++)s[l]=[];for(var u=0;u<n.length;u++){a=-1/0,o=-1;for(var c=0;c<n[0].length;c++)n[u][c]>a&&(a=n[u][c],o=c);s[o].push(t[u])}for(var h=0;h<s.length;h++)s[h]=i.collection(s[h]);return s}(s,r,l,o),degreeOfMembership:r}},nN=e9({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),nL={single:"min",complete:"max"},nz=function(t,n,r,i,a){for(var o,s=0,l=1/0,u=a.attributes,c=function(t,n){return nw(a.distance,u.length,function(n){return u[n](t)},function(t){return u[t](n)},t,n)},h=0;h<t.length;h++){var d=t[h].key,f=r[d][i[d]];f<l&&(s=d,l=f)}if("threshold"===a.mode&&l>=a.threshold||"dendrogram"===a.mode&&1===t.length)return!1;var p,g=n[s],v=n[i[s]];p="dendrogram"===a.mode?{left:g,right:v,key:g.key}:{value:g.value.concat(v.value),key:g.key},t[g.index]=p,t.splice(v.index,1),n[g.key]=p;for(var y=0;y<t.length;y++){var m=t[y];g.key===m.key?o=1/0:"min"===a.linkage?(o=r[g.key][m.key],r[g.key][m.key]>r[v.key][m.key]&&(o=r[v.key][m.key])):"max"===a.linkage?(o=r[g.key][m.key],r[g.key][m.key]<r[v.key][m.key]&&(o=r[v.key][m.key])):o="mean"===a.linkage?(r[g.key][m.key]*g.size+r[v.key][m.key]*v.size)/(g.size+v.size):"dendrogram"===a.mode?c(m.value,g.value):c(m.value[0],g.value[0]),r[g.key][m.key]=r[m.key][g.key]=o}for(var b=0;b<t.length;b++){var x=t[b].key;
1if(i[x]===g.key||i[x]===v.key){for(var w=x,E=0;E<t.length;E++){var k=t[E].key;r[x][k]<r[x][w]&&(w=k)}i[x]=w}t[b].index=b}return g.key=v.key=g.index=v.index=null,!0},nO=function(t,n,r){t&&(t.value?n.push(t.value):(t.left&&nO(t.left,n),t.right&&nO(t.right,n)))},nV=function(t,n){if(!t)return"";if(t.left&&t.right){var r=nV(t.left,n),i=nV(t.right,n),a=n.add({group:"nodes",data:{id:r+","+i}});return n.add({group:"edges",data:{source:r,target:a.id()}}),n.add({group:"edges",data:{source:i,target:a.id()}}),a.id()}return t.value?t.value.id():void 0},nF=function(t,n,r){if(!t)return[];var i=[],a=[],o=[];return 0===n?(t.left&&nO(t.left,i),t.right&&nO(t.right,a),o=i.concat(a),[r.collection(o)]):1===n?t.value?[r.collection(t.value)]:(t.left&&nO(t.left,i),t.right&&nO(t.right,a),[r.collection(i),r.collection(a)]):t.value?[r.collection(t.value)]:(t.left&&(i=nF(t.left,n-1,r)),t.right&&(a=nF(t.right,n-1,r)),i.concat(a))},nj=function(t){for(var n,r,i=this.cy(),a=this.nodes(),o=(null!=(r=nL[(n=nN(t)).linkage])&&(n.linkage=r),n),s=o.attributes,l=function(t,n){return nw(o.distance,s.length,function(n){return s[n](t)},function(t){return s[t](n)},t,n)},u=[],c=[],h=[],d=[],f=0;f<a.length;f++){var p={value:"dendrogram"===o.mode?a[f]:[a[f]],key:f,index:f};u[f]=p,d[f]=p,c[f]=[],h[f]=0}for(var g=0;g<u.length;g++)for(var v=0;v<=g;v++){var y=void 0;y="dendrogram"===o.mode?g===v?1/0:l(u[g].value,u[v].value):g===v?1/0:l(u[g].value[0],u[v].value[0]),c[g][v]=y,c[v][g]=y,y<c[g][h[g]]&&(h[g]=v)}for(var m,b=nz(u,d,c,h,o);b;)b=nz(u,d,c,h,o);return"dendrogram"===o.mode?(m=nF(u[0],o.dendrogramDepth,i),o.addDendrogram&&nV(u[0],i)):(m=Array(u.length),u.forEach(function(t,n){t.key=t.index=null,m[n]=i.collection(t.value)})),m},nX=e9({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),nq=function(t,n,r,i){var a=function(t,n){return i[n](t)};return-nw(t,i.length,function(t){return a(n,t)},function(t){return a(r,t)},n,r)},nY=function(t,n,r){for(var i=[],a=0;a<t;a++){for(var o=-1,s=-1/0,l=0;l<r.length;l++){var u=r[l];n[a*t+u]>s&&(o=u,s=n[a*t+u])}o>0&&i.push(o)}for(var c=0;c<r.length;c++)i[r[c]]=r[c];return i},nW=function(t){for(var n,r,i,a,o,s,l,u,c,h=this.cy(),d=this.nodes(),f=(n=t.damping,r=t.preference,.5<=n&&n<1||eJ("Damping must range on [0.5, 1).  Got: ".concat(n)),(i=["median","mean","min","max"]).some(function(t){return t===r})||J(r)||eJ("Preference must be one of [".concat(i.map(function(t){return"'".concat(t,"'")}).join(", "),"] or a number.  Got: ").concat(r)),nX(t)),p={},g=0;g<d.length;g++)p[d[g].id()]=g;s=Array(o=(a=d.length)*a);for(var v=0;v<o;v++)s[v]=-1/0;for(var y=0;y<a;y++)for(var m=0;m<a;m++)y!==m&&(s[y*a+m]=nq(f.distance,d[y],d[m],f.attributes));l="median"===(P=f.preference)?function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?(r<t.length&&t.splice(r,t.length-r),n>0&&t.splice(0,n)):t=t.slice(n,r);for(var o=0,s=t.length-1;s>=0;s--){var l=t[s];a?isFinite(l)||(t[s]=-1/0,o++):t.splice(s,1)}i&&t.sort(function(t,n){return t-n});var u=t.length,c=Math.floor(u/2);return u%2!=0?t[c+1+o]:(t[c-1+o]+t[c+o])/2}(s):"mean"===P?function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=0,a=0,o=n;o<r;o++){var s=t[o];isFinite(s)&&(i+=s,a++)}return i/a}(s):"min"===P?function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=1/0,a=n;a<r;a++){var o=t[a];isFinite(o)&&(i=Math.min(o,i))}return i}(s):"max"===P?function(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length,i=-1/0,a=n;a<r;a++){var o=t[a];isFinite(o)&&(i=Math.max(o,i))}return i}(s):P;for(var b=0;b<a;b++)s[b*a+b]=l;u=Array(o);for(var x=0;x<o;x++)u[x]=0;c=Array(o);for(var w=0;w<o;w++)c[w]=0;for(var E=Array(a),k=Array(a),T=Array(a),C=0;C<a;C++)E[C]=0,k[C]=0,T[C]=0;for(var P,S,B=Array(a*f.minIterations),D=0;D<B.length;D++)B[D]=0;for(S=0;S<f.maxIterations;S++){for(var _=0;_<a;_++){for(var A=-1/0,M=-1/0,R=-1,I=0,N=0;N<a;
1N++)E[N]=u[_*a+N],(I=c[_*a+N]+s[_*a+N])>=A?(M=A,A=I,R=N):I>M&&(M=I);for(var L=0;L<a;L++)u[_*a+L]=(1-f.damping)*(s[_*a+L]-A)+f.damping*E[L];u[_*a+R]=(1-f.damping)*(s[_*a+R]-M)+f.damping*E[R]}for(var z=0;z<a;z++){for(var O=0,V=0;V<a;V++)E[V]=c[V*a+z],k[V]=Math.max(0,u[V*a+z]),O+=k[V];O-=k[z],k[z]=u[z*a+z],O+=k[z];for(var F=0;F<a;F++)c[F*a+z]=(1-f.damping)*Math.min(0,O-k[F])+f.damping*E[F];c[z*a+z]=(1-f.damping)*(O-k[z])+f.damping*E[z]}for(var j=0,X=0;X<a;X++){var q=c[X*a+X]+u[X*a+X]>0?1:0;B[S%f.minIterations*a+X]=q,j+=q}if(j>0&&(S>=f.minIterations-1||S==f.maxIterations-1)){for(var Y=0,W=0;W<a;W++){T[W]=0;for(var U=0;U<f.minIterations;U++)T[W]+=B[U*a+W];0!==T[W]&&T[W]!==f.minIterations||Y++}if(Y===a)break}}for(var H=function(t,n,r){for(var i=[],a=0;a<t;a++)n[a*t+a]+r[a*t+a]>0&&i.push(a);return i}(a,u,c),K=function(t,n,r){for(var i=nY(t,n,r),a=0;a<r.length;a++){for(var o=[],s=0;s<i.length;s++)i[s]===r[a]&&o.push(s);for(var l=-1,u=-1/0,c=0;c<o.length;c++){for(var h=0,d=0;d<o.length;d++)h+=n[o[d]*t+o[c]];h>u&&(l=c,u=h)}r[a]=o[l]}return nY(t,n,r)}(a,s,H),G={},Z=0;Z<H.length;Z++)G[H[Z]]=[];for(var $=0;$<d.length;$++){var Q=K[p[d[$].id()]];null!=Q&&G[Q].push(d[$])}for(var ee=Array(H.length),et=0;et<H.length;et++)ee[et]=h.collection(G[H[et]]);return ee},nU=e9({root:void 0,directed:!1}),nH=function(){var t=this,n={},r=0,i=0,a=[],o=[],s={},l=function(u,c,h){u===h&&(i+=1),n[c]={id:r,low:r++,cutVertex:!1};var d,f,p,g,v=t.getElementById(c).connectedEdges().intersection(t);0===v.size()?a.push(t.spawn(t.getElementById(c))):v.forEach(function(r){d=r.source().id(),f=r.target().id(),(p=d===c?f:d)!==h&&(s[g=r.id()]||(s[g]=!0,o.push({x:c,y:p,edge:r})),p in n?n[c].low=Math.min(n[c].low,n[p].id):(l(u,p,c),n[c].low=Math.min(n[c].low,n[p].low),n[c].id<=n[p].low&&(n[c].cutVertex=!0,function(r,i){for(var s=o.length-1,l=[],u=t.spawn();o[s].x!=r||o[s].y!=i;)l.push(o.pop().edge),s--;l.push(o.pop().edge),l.forEach(function(r){var i=r.connectedNodes().intersection(t);u.merge(r),i.forEach(function(r){var i=r.id(),a=r.connectedEdges().intersection(t);u.merge(r),n[i].cutVertex?u.merge(a.filter(function(t){return t.isLoop()})):u.merge(a)})}),a.push(u)}(c,p))))})};t.forEach(function(t){if(t.isNode()){var r=t.id();r in n||(i=0,l(r,r),n[r].cutVertex=i>1)}});var u=Object.keys(n).filter(function(t){return n[t].cutVertex}).map(function(n){return t.getElementById(n)});return{cut:t.spawn(u),components:a}},nK=function(){var t=this,n={},r=0,i=[],a=[],o=t.spawn(t),s=function(l){if(a.push(l),n[l]={index:r,low:r++,explored:!1},t.getElementById(l).connectedEdges().intersection(t).forEach(function(t){var r=t.target().id();r!==l&&(r in n||s(r),n[r].explored||(n[l].low=Math.min(n[l].low,n[r].low)))}),n[l].index===n[l].low){for(var u=t.spawn();;){var c=a.pop();if(u.merge(t.getElementById(c)),n[c].low=n[l].index,n[c].explored=!0,c===l)break}var h=u.edgesWith(u),d=u.merge(h);i.push(d),o=o.difference(d)}};return t.forEach(function(t){if(t.isNode()){var r=t.id();r in n||s(r)}}),{cut:o,components:i}},nG={};[to,{dijkstra:function(t){if(!Q(t)){var n=arguments;t={root:n[0],weight:n[1],directed:n[2]}}var r=tf(t),i=r.root,a=r.weight,o=r.directed,s=this,l=G(i)?this.filter(i)[0]:i[0],u={},c={},h={},d=this.byGroup(),f=d.nodes,p=d.edges;p.unmergeBy(function(t){return t.isLoop()});for(var g=function(t){return u[t.id()]},v=new td(function(t,n){return g(t)-g(n)}),y=0;y<f.length;y++){var m=f[y];u[m.id()]=m.same(l)?0:1/0,v.push(m)}for(;v.size()>0;){var b=v.pop(),x=g(b);if(h[b.id()]=x,x!==1/0)for(var w=b.neighborhood().intersect(f),E=0;E<w.length;E++){var k=w[E],T=k.id(),C=function(t,n){for(var r,i=(o?t.edgesTo(n):t.edgesWith(n)).intersect(p),s=1/0,l=0;l<i.length;l++){var u=i[l],c=a(u);(c<s||!r)&&(s=c,r=u)}return{edge:r,dist:s}}(b,k),P=x+C.dist;P<g(k)&&(u[k.id()]=P,v.updateItem(k),c[T]={node:b,edge:C.edge})}}return{distanceTo:function(t){return h[(G(t)?f.filter(t)[0]:t[0]).id()]},pathTo:function(t){var n=G(t)?f.filter(t)[0]:t[0],r=[],i=n,a=i.id();if(n.length>0)for(r.unshift(n);c[a];){var o=c[a];r.unshift(o.edge),r.unshift(o.node),a=(i=o.node).id()}return s.spawn(r)}}}},{kruskal:function(t){t=t||function(t){return 1};for(var n=this.byGroup(),r=n.nodes,i=n.edges,a=r.length,o=Array(a),s=function(t){for(var n=0;n<o.length;n++)if(o[n].has(t))return n},l=0;l<a;l++)o[l]=this.spawn(r[l]);for(var u=i.sort(function(n,r){return t(n)-t(r)}),c=0;c<u.length;c++){var h=u[c],d=h.source()[0],f=h.target()[0],p=s(d),g=s(f),v=o[p],y=o[g];p!==g&&(r.merge(h),v.merge(y),o.splice(g,1))}return r}},{aStar:function(t){var n=this.cy(),r=tp(t),i=r.root,a=r.goal,o=r.heuristic,s=r.directed,l=r.weight;i=n.collection(i)[0],a=n.collection(a)[0];var u,c,h=i.id(),d=a.id(),f={},p={},g={},v=new td(function(t,n){return p[t.id()]-p[n.id()]}),y=new tr,m={},b={},x=function(t,n){v.push(t),y.add(n)};x(i,h),f[h]=0,p[h]=o(i);for(var w=0;v.size()>0;){if(c=(u=v.pop()).id(),y.delete(c),w++,c===d){for(var E=[],k=a,T=d,C=b[T];E.unshift(k),null!=C&&E.unshift(C),null!=(k=m[T]);)C=b[T=k.id()];return{found:!0,distance:f[c],path:this.spawn(E),steps:w}}g[c]=!0;for(var P=u._private.edges,S=0;S<P.length;S++){var B=P[S];if(this.hasElementWithId(B.id())&&(!s||B.data("source")===c)){var D=B.source(),_=B.target(),A=D.id()!==c?D:_,M=A.id();if(this.hasElementWithId(M)&&!g[M]){var R=f[c]+l(B);y.has(M)?R<f[M]&&(f[M]=R,p[M]=R+o(A),m[M]=u,b[M]=B):(f[M]=R,p[M]=R+o(A),x(A,M),m[M]=u,b[M]=B)}}}}return{found:!1,distance:void 0,path:void 0,steps:w}}},{floydWarshall:function(t){for(var n=this.cy(),r=tg(t),i=r.weight,a=r.directed,o=this.byGroup(),s=o.nodes,l=o.edges,u=s.length,c=u*u,h=function(t){return s.indexOf(t)},d=function(t){return s[t]},f=Array(c),p=0;p<c;p++){var g=p%u,v=(p-g)/u;f[p]=v===g?0:1/0}for(var y=Array(c),m=Array(c),b=0;b<l.length;b++){var x=l[b],w=x.source()[0],E=x.target()[0];if(w!==E){var k=h(w),T=h(E),C=k*u+T,P=i(x);if(f[C]>P&&(f[C]=P,y[C]=T,m[C]=x),!a){var S=T*u+k;!a&&f[S]>P&&(f[S]=P,y[S]=k,m[S]=x)}}}for(var B=0;B<u;B++)for(var D=0;D<u;D++)for(var _=D*u+B,A=0;A<u;A++){var M=D*u+A,R=B*u+A;
1f[_]+f[R]<f[M]&&(f[M]=f[_]+f[R],y[M]=y[_])}var I=function(t){return h((G(t)?n.filter(t):t)[0])};return{distance:function(t,n){return f[I(t)*u+I(n)]},path:function(t,r){var i=I(t),a=I(r),o=d(i);if(i===a)return o.collection();if(null==y[i*u+a])return n.collection();var s,l=n.collection(),c=i;for(l.merge(o);i!==a;)c=i,i=y[i*u+a],s=m[c*u+i],l.merge(s),l.merge(d(i));return l}}}},{bellmanFord:function(t){var n=this,r=tv(t),i=r.weight,a=r.directed,o=r.root,s=this,l=this.cy(),u=this.byGroup(),c=u.edges,h=u.nodes,d=h.length,f=new tt,p=!1,g=[];o=l.collection(o)[0],c.unmergeBy(function(t){return t.isLoop()});for(var v=c.length,y=function(t){var n=f.get(t.id());return n||(n={},f.set(t.id(),n)),n},m=function(t){return(G(t)?l.$(t):t)[0]},b=0;b<d;b++){var x=h[b],w=y(x);x.same(o)?w.dist=0:w.dist=1/0,w.pred=null,w.edge=null}for(var E=!1,k=function(t,n,r,i,a,o){var s=i.dist+o;s<a.dist&&!r.same(i.edge)&&(a.dist=s,a.pred=t,a.edge=r,E=!0)},T=1;T<d;T++){E=!1;for(var C=0;C<v;C++){var P=c[C],S=P.source(),B=P.target(),D=i(P),_=y(S),A=y(B);k(S,0,P,_,A,D),a||k(B,0,P,A,_,D)}if(!E)break}if(E)for(var M=[],R=0;R<v;R++){var I=c[R],N=I.source(),L=I.target(),z=i(I),O=y(N).dist,V=y(L).dist;if(O+z<V||!a&&V+z<O){if(p||(e1("Graph contains a negative weight cycle for Bellman-Ford"),p=!0),!1===t.findNegativeWeightCycles)break;var F=[];O+z<V&&F.push(N),!a&&V+z<O&&F.push(L);for(var j=F.length,X=0;X<j;X++){var q=F[X],Y=[q];Y.push(y(q).edge);for(var W=y(q).pred;-1===Y.indexOf(W);)Y.push(W),Y.push(y(W).edge),W=y(W).pred;for(var U=(Y=Y.slice(Y.indexOf(W)))[0].id(),H=0,K=2;K<Y.length;K+=2)Y[K].id()<U&&(U=Y[K].id(),H=K);(Y=Y.slice(H).concat(Y.slice(0,H))).push(Y[0]);var Z=Y.map(function(t){return t.id()}).join(",");-1===M.indexOf(Z)&&(g.push(s.spawn(Y)),M.push(Z))}}}return{distanceTo:function(t){return y(m(t)).dist},pathTo:function(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o,i=[],a=m(t);;){if(null==a)return n.spawn();var l=y(a),u=l.edge,c=l.pred;if(i.unshift(a[0]),a.same(r)&&i.length>0)break;null!=u&&i.unshift(u),a=c}return s.spawn(i)},hasNegativeWeightCycle:p,negativeWeightCycles:g}}},{kargerStein:function(){var t=this,n=this.byGroup(),r=n.nodes,i=n.edges;i.unmergeBy(function(t){return t.isLoop()});var a=r.length,o=i.length,s=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/ty);if(!(a<2)){for(var u=[],c=0;c<o;c++){var h=i[c];u.push([c,r.indexOf(h.source()),r.indexOf(h.target())])}for(var d=1/0,f=[],p=Array(a),g=Array(a),v=Array(a),y=function(t,n){for(var r=0;r<a;r++)n[r]=t[r]},m=0;m<=s;m++){for(var b=0;b<a;b++)g[b]=b;var x=tb(g,u.slice(),a,l),w=x.slice();y(g,v);var E=tb(g,x,l,2),k=tb(v,w,l,2);E.length<=k.length&&E.length<d?(d=E.length,f=E,y(g,p)):k.length<=E.length&&k.length<d&&(d=k.length,f=k,y(v,p))}for(var T=this.spawn(f.map(function(t){return i[t[0]]})),C=this.spawn(),P=this.spawn(),S=p[0],B=0;B<p.length;B++){var D=p[B],_=r[B];D===S?C.merge(_):P.merge(_)}var A=function(n){var r=t.spawn();return n.forEach(function(n){r.merge(n),n.connectedEdges().forEac
1h(function(n){t.contains(n)&&!T.contains(n)&&r.merge(n)})}),r};return{cut:T,components:[A(C),A(P)],partition1:C,partition2:P}}eJ("At least 2 nodes are required for Karger-Stein algorithm")}},{pageRank:function(t){for(var n=t6(t),r=n.dampingFactor,i=n.precision,a=n.iterations,o=n.weight,s=this._private.cy,l=this.byGroup(),u=l.nodes,c=l.edges,h=u.length,d=h*h,f=c.length,p=Array(d),g=Array(h),v=(1-r)/h,y=0;y<h;y++){for(var m=0;m<h;m++)p[y*h+m]=0;g[y]=0}for(var b=0;b<f;b++){var x=c[b],w=x.data("source"),E=x.data("target");if(w!==E){var k=u.indexOfId(w),T=u.indexOfId(E),C=o(x);p[T*h+k]+=C,g[k]+=C}}for(var P=1/h+v,S=0;S<h;S++)if(0===g[S])for(var B=0;B<h;B++)p[B*h+S]=P;else for(var D=0;D<h;D++){var _=D*h+S;p[_]=p[_]/g[S]+v}for(var A,M=Array(h),R=Array(h),I=0;I<h;I++)M[I]=1;for(var N=0;N<a;N++){for(var L=0;L<h;L++)R[L]=0;for(var z=0;z<h;z++)for(var O=0;O<h;O++){var V=z*h+O;R[z]+=p[V]*M[O]}tB(R),A=M,M=R,R=A;for(var F=0,j=0;j<h;j++){var X=A[j]-M[j];F+=X*X}if(F<i)break}return{rank:function(t){return t=s.collection(t)[0],M[u.indexOf(t)]}}}},t7,nt,nr,{markovClustering:nd,mcl:nd},{kMeans:function(t){var n,r=this.cy(),i=this.nodes(),a=null,o=nk(t),s=Array(o.k),l={};o.testMode?"number"==typeof o.testCentroids?(o.testCentroids,n=nC(i,o.k,o.attributes)):n="object"===d(o.testCentroids)?o.testCentroids:nC(i,o.k,o.attributes):n=nC(i,o.k,o.attributes);for(var u=!0,c=0;u&&c<o.maxIterations;){for(var h=0;h<i.length;h++)l[(a=i[h]).id()]=nP(a,n,o.distance,o.attributes,"kMeans");u=!1;for(var f=0;f<o.k;f++){var p=nS(f,i,l);if(0!==p.length){for(var g=o.attributes.length,v=n[f],y=Array(g),m=Array(g),b=0;b<g;b++){m[b]=0;for(var x,w=0;w<p.length;w++)a=p[w],m[b]+=o.attributes[b](a);y[b]=m[b]/p.length,x=y[b],Math.abs(v[b]-x)<=o.sensitivityThreshold||(u=!0)}n[f]=y,s[f]=r.collection(p)}}c++}return s},kMedoids:function(t){var n,r,i=this.cy(),a=this.nodes(),o=null,s=nk(t),l=Array(s.k),u={},c=Array(s.k);s.testMode?"number"==typeof s.testCentroids||(n="object"===d(s.testCentroids)?s.testCentroids:n_(a,s.k)):n=n_(a,s.k);for(var h=!0,f=0;h&&f<s.maxIterations;){for(var p=0;p<a.length;p++)u[(o=a[p]).id()]=nP(o,n,s.distance,s.attributes,"kMedoids");h=!1;for(var g=0;g<n.length;g++){var v=nS(g,a,u);if(0!==v.length){c[g]=nA(n[g],v,s.attributes);for(var y=0;y<v.length;y++)(r=nA(v[y],v,s.attributes))<c[g]&&(c[g]=r,n[g]=v[y],h=!0);l[g]=i.collection(v)}}f++}return l},fuzzyCMeans:nI,fcm:nI},{hierarchicalClustering:nj,hca:nj},{affinityPropagation:nW,ap:nW},{hierholzer:function(t){if(!Q(t)){var n=arguments;t={root:n[0],directed:n[1]}}var r,i,a,o=nU(t),s=o.root,l=o.directed,u=!1;s&&(a=G(s)?this.filter(s)[0].id():s[0].id());var c={},h={};l?this.forEach(function(t){var n=t.id();if(t.isNode()){var a=t.indegree(!0),o=t.outdegree(!0),s=a-o,l=o-a;1==s?r?u=!0:r=n:1==l?i?u=!0:i=n:(l>1||s>1)&&(u=!0),c[n]=[],t.outgoers().forEach(function(t){t.isEdge()&&c[n].push(t.id())})}else h[n]=[void 0,t.target().id()]}):this.forEach(function(t){var n=t.id();t.isNode()?(t.degree(!0)%2&&(r?i?u=!0:i=n:r=n),c[n]=[],t.connectedEdges().forEac
1h(function(t){return c[n].push(t.id())})):h[n]=[t.source().id(),t.target().id()]});var d={found:!1,trail:void 0};if(u)return d;if(i&&r){if(l){if(a&&i!=a)return d;a=i}else{if(a&&i!=a&&r!=a)return d;a||(a=i)}}else a||(a=this[0].id());var f=function(t){for(var n,r,i,a=t,o=[t];c[a].length;)r=h[n=c[a].shift()][0],a!=(i=h[n][1])?(c[i]=c[i].filter(function(t){return t!=n}),a=i):l||a==r||(c[r]=c[r].filter(function(t){return t!=n}),a=r),o.unshift(n),o.unshift(a);return o},p=[],g=[];for(g=f(a);1!=g.length;)0==c[g[0]].length?(p.unshift(this.getElementById(g.shift())),p.unshift(this.getElementById(g.shift()))):g=f(g.shift()).concat(g);for(var v in p.unshift(this.getElementById(g.shift())),c)if(c[v].length)return d;return d.found=!0,d.trail=this.spawn(p,!0),d}},{hopcroftTarjanBiconnected:nH,htbc:nH,htb:nH,hopcroftTarjanBiconnectedComponents:nH},{tarjanStronglyConnected:nK,tsc:nK,tscc:nK,tarjanStronglyConnectedComponents:nK}].forEach(function(t){eb(nG,t)});var nZ=function(t){if(!(this instanceof nZ))return new nZ(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};nZ.prototype={fulfill:function(t){return n$(this,1,"fulfillValue",t)},reject:function(t){return n$(this,2,"rejectReason",t)},then:function(t,n){var r=new nZ;return this.onFulfilled.push(n0(t,r,"fulfill")),this.onRejected.push(n0(n,r,"reject")),nQ(this),r.proxy}};var n$=function(t,n,r,i){return 0===t.state&&(t.state=n,t[r]=i,nQ(t)),t},nQ=function(t){1===t.state?nJ(t,"onFulfilled",t.fulfillValue):2===t.state&&nJ(t,"onRejected",t.rejectReason)},nJ=function(t,n,r){if(0!==t[n].length){var i=t[n];t[n]=[];var a=function(){for(var t=0;t<i.length;t++)i[t](r)};"function"==typeof setImmediate?setImmediate(a):setTimeout(a,0)}},n0=function(t,n,r){return function(i){if("function"!=typeof t)n[r].call(n,i);else{var a;try{a=t(i)}catch(t){return void n.reject(t)}n1(n,a)}}},n1=function(t,n){if(t!==n&&t.proxy!==n){var r;if("object"===d(n)&&null!==n||"function"==typeof n)try{r=n.then}catch(n){return void t.reject(n)}if("function"!=typeof r)t.fulfill(n);else{var i=!1;try{r.call(n,function(r){i||(i=!0,r===n?t.reject(TypeError("circular thenable chain")):n1(t,r))},function(n){i||(i=!0,t.reject(n))})}catch(n){i||t.reject(n)}}}else t.reject(TypeError("cannot resolve promise with itself"))};nZ.all=function(t){return new nZ(function(n,r){for(var i=Array(t.length),a=0,o=function(r,o){i[r]=o,++a===t.length&&n(i)},s=0;s<t.length;s++)!function(n){var i=t[n];null!=i&&null!=i.then?i.then(function(t){o(n,t)},function(t){r(t)}):o(n,i)}(s)})},nZ.resolve=function(t){return new nZ(function(n,r){n(t)})},nZ.reject=function(t){return new nZ(function(n,r){r(t)})};var n2="undefined"!=typeof Promise?Promise:nZ,n5=function(t,n,r){var i=ei(t),a=this._private=eb({duration:1e3},n,r);if(a.target=t,a.style=a.style||a.css,a.started=!1,a.playing=!1,a.hooked=!1,a.applying=!1,a.progress=0,a.completes=[],a.frames=[],a.complete&&Z(a.complete)&&a.completes.push(a.complete),!i){var o=t.position();a.startPosition=a.startPosition||{x:o.x,y:o.y},a.startStyle=a.startStyle||t.cy().style().getAnimationStartStyle(t,a.style)}if(i){var s=t.pan();a.startPan={x:s.x,y:s.y},a.startZoom=t.zoom()}this.length=1,this[0]=this},n3=n5.prototype;function n4(){return rs?ro:(rs=1,ro=Array.isArray)}function n9(){if(rk)return rE;rk=1;var t=function(){if(rb)return rm;rb=1;var t=function(){if(rh)return rc;rh=1;var t=eD(),n=eP();return rc=function(r){if(!n(r))return!1;var i=t(r);return"[object Function]"==i||"[object GeneratorFunction]"==i||"[object AsyncFunction]"==i||"[object Proxy]"==i}}(),n=function(){if(rg)return rp;rg=1;var t,n=rf?rd:(rf=1,rd=eS()["__core-js_shared__"]),r=(t=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||""))?"Symbol(src)_1."+t:"";return rp=function(t){return!!r&&r in t}}(),r=eP(),i=function(){if(ry)return rv;ry=1;var t=Function.prototype.toString;return rv=function(n){if(null!=n){try{return t.call(n)}catch(t){}try{return n+""}catch(t){}}return""}}(),a=/^\[object .+?Constructor\]$/,o=Object.prototype,s=Function.prototype.toString,l=o.hasOwnProperty,u=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return rm=function(o){return!(!r(o)||n(o))&&(t(o)?u:a).test(i(o))}}(),n=(rw||(rw=1,rx=function(t,n){return null==t?void 0:t[n]}),rx);return rE=function(r,i){var a=n(r,i);return t(a)?a:void 0}}function n6(){return rC?rT:(rC=1,rT=n9()(Object,"create"))}function n8(){return rj?rF:(rj=1,rF=function(t,n){return t===n||t!=t&&n!=n})}function n7(){if(rq)return rX;rq=1;var t=n8();return rX=function(n,r){for(var i=n.length;i--;)if(t(n[i][0],r))return i;return -1}}function re(){if(r6)return r9;r6=1;var t=r4?r3:(r4=1,r3=function(t){var n=typeof t;return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t});return r9=function(n,r){var i=n.__data__;return t(r)?i["string"==typeof r?"string":"hash"]:i.map}}function rt(){if(ig)return ip;ig=1;var t=function(){if(id)return ih;id=1;var t=function(){if(ic)return iu;ic=1;var t=function(){if(il)return is;il=1;var t=function(){if(r5)return r2;r5=1;var t=function(){if(rz)return rL;rz=1;var t=function(){if(rS)return rP;rS=1;var t=n6();return rP=function(){this.__data__=t?t(null):{},this.size=0}}(),n=rD?rB:(rD=1,rB=function(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}),r=function(){if(rA)return r_;rA=1;var t=n6(),n=Object.prototype.hasOwnProperty;return r_=function(r){var i=this.__data__;if(t){var a=i[r];return"__lodash_hash_undefined__"===a?void 0:a}return n.call(i,r)?i[r]:void 0}}(),i=function(){if(rR)return rM;rR=1;var t=n6(),n=Object.prototype.hasOwnProperty;return rM=function(r){var i=this.__data__;return t?void 0!==i[r]:n.call(i,r)}}(),a=function(){if(rN)return rI;rN=1;var t=n6();return rI=function(n,r){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=t&&void 0===r?"__lodash_hash_undefined__":r,this}}();function o(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var i=t[n];this.set(i[0],i[1])}}return o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=i,o.prototype.set=a,rL=o}(),n=function(){if(rJ)return rQ;rJ=1;var t=rV?rO:(rV=1,rO=function(){this.__data__=[],this.size=0}),n=function(){if(rW)return rY;rW=1;var t=n7(),n=Array.prototype.splice;return rY=function(r){var i=this.__data__,a=t(i,r);return!(a<0||(a==i.length-1?i.pop():n.call(i,a,1),--this.size,0))}}(),r=function(){if(rH)return rU;rH=1;var t=n7();return rU=function(n){var r=this.__data__,i=t(r,n);return i<0?void 0:r[i][1]}}(),i=function(){if(rG)return rK;
1rG=1;var t=n7();return rK=function(n){return t(this.__data__,n)>-1}}(),a=function(){if(r$)return rZ;r$=1;var t=n7();return rZ=function(n,r){var i=this.__data__,a=t(i,n);return a<0?(++this.size,i.push([n,r])):i[a][1]=r,this}}();function o(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var i=t[n];this.set(i[0],i[1])}}return o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=i,o.prototype.set=a,rQ=o}(),r=r1?r0:(r1=1,r0=n9()(eS(),"Map"));return r2=function(){this.size=0,this.__data__={hash:new t,map:new(r||n),string:new t}}}(),n=function(){if(r7)return r8;r7=1;var t=re();return r8=function(n){var r=t(this,n).delete(n);return this.size-=r?1:0,r}}(),r=function(){if(it)return ie;it=1;var t=re();return ie=function(n){return t(this,n).get(n)}}(),i=function(){if(ii)return ir;ii=1;var t=re();return ir=function(n){return t(this,n).has(n)}}(),a=function(){if(io)return ia;io=1;var t=re();return ia=function(n,r){var i=t(this,n),a=i.size;return i.set(n,r),this.size+=i.size==a?0:1,this}}();function o(t){var n=-1,r=null==t?0:t.length;for(this.clear();++n<r;){var i=t[n];this.set(i[0],i[1])}}return o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=i,o.prototype.set=a,is=o}();function n(r,i){if("function"!=typeof r||null!=i&&"function"!=typeof i)throw TypeError("Expected a function");var a=function(){var t=arguments,n=i?i.apply(this,t):t[0],o=a.cache;if(o.has(n))return o.get(n);var s=r.apply(this,t);return a.cache=o.set(n,s)||o,s};return a.cache=new(n.Cache||t),a}return n.Cache=t,iu=n}();return ih=function(n){var r=t(n,function(t){return 500===i.size&&i.clear(),t}),i=r.cache;return r}}(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g;return ip=t(function(t){var i=[];return 46===t.charCodeAt(0)&&i.push(""),t.replace(n,function(t,n,a,o){i.push(a?o.replace(r,"$1"):n||t)}),i})}
1function rn(){return iy?iv:(iy=1,iv=function(t,n){for(var r=-1,i=null==t?0:t.length,a=Array(i);++r<i;)a[r]=n(t[r],r,t);return a})}function rr(){if(iw)return ix;iw=1;var t=function(){if(ib)return im;ib=1;var t=eB(),n=rn(),r=n4(),i=e_(),a=t?t.prototype:void 0,o=a?a.toString:void 0;return im=function t(a){if("string"==typeof a)return a;if(r(a))return n(a,t)+"";if(i(a))return o?o.call(a):"";var s=a+"";return"0"==s&&1/a==-1/0?"-0":s}}();return ix=function(n){return null==n?"":t(n)}}function ri(){if(ik)return iE;ik=1;var t=n4(),n=function(){if(ru)return rl;ru=1;var t=n4(),n=e_(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;return rl=function(a,o){if(t(a))return!1;var s=typeof a;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=a&&!n(a))||i.test(a)||!r.test(a)||null!=o&&a in Object(o)}}(),r=rt(),i=rr();return iE=function(a,o){return t(a)?a:n(a,o)?[a]:r(i(a))}}function ra(){if(iC)return iT;iC=1;var t=e_();return iT=function(n){if("string"==typeof n||t(n))return n;var r=n+"";return"0"==r&&1/n==-1/0?"-0":r}}eb(n3,{instanceString:function(){return"animation"},hook:function(){var t=this._private;if(!t.hooked){var n=t.target._private.animation;(t.queue?n.queue:n.current).push(this),et(t.target)&&t.target.cy().addToAnimationPool(t.target),t.hooked=!0}return this},play:function(){var t=this._private;return 1===t.progress&&(t.progress=0),t.playing=!0,t.started=!1,t.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var t=this._private;return t.applying=!0,t.started=!1,t.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var t=this._private;return t.playing=!1,t.started=!1,this},stop:function(){var t=this._private;return t.playing=!1,t.started=!1,t.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(t){var n=this._private;return void 0===t?n.progress*n.duration:this.progress(t/n.duration)},progress:function(t){var n=this._private,r=n.playing;return void 0===t?n.progress:(r&&this.pause(),n.progress=t,n.started=!1,r&&this.play(),this)},completed:function(){return 1===this._private.progress},reverse:function(){var t=this._private,n=t.playing;n&&this.pause(),t.progress=1-t.progress,t.started=!1;var r=function(n,r){var i=t[n];null!=i&&(t[n]=t[r],t[r]=i)};if(r("zoom","startZoom"),r("pan","startPan"),r("position","startPosition"),t.style)for(var i=0;i<t.style.length;i++){var a=t.style[i],o=a.name,s=t.startStyle[o];t.startStyle[o]=a,t.style[i]=s}return n&&this.play(),this},promise:function(t){var n,r=this._private;return n="frame"===t?r.frames:r.completes,new n2(function(t,r){n.push(function(){t()})})}}),n3.complete=n3.completed,n3.run=n3.play,n3.running=n3.playing;var ro,rs,rl,ru,rc,rh,rd,rf,rp,rg,rv,ry,rm,rb,rx,rw,rE,rk,rT,rC,rP,rS,rB,rD,r_,rA,rM,rR,rI,rN,rL,rz,rO,rV,rF,rj,rX,rq,rY,rW,rU,rH,rK,rG,rZ,r$,rQ,rJ,r0,r1,r2,r5,r3,r4,r9,r6,r8,r7,ie,it,ir,ii,ia,io,is,il,iu,ic,ih,id,ip,ig,iv,iy,im,ib,ix,iw,iE,ik,iT,iC,iP,iS,iB,iD,i_,iA,iM,iR,iI,iN,iL,iz,iO,iV,iF,ij,iX,iq,iY,iW,iU=eC(function(){if(iD)return iB;iD=1;var t=function(){if(iS)return iP;iS=1;var t=ri(),n=ra();return iP=function(r,i){for(var a=0,o=(i=t(i,r)).length;null!=r&&a<o;)r=r[n(i[a++])];return a&&a==o?r:void 0}}();return iB=function(n,r,i){var a=null==n?void 0:t(n,r);return void 0===a?i:a}}()),iH=eC(function(){if(ij)return iF;ij=1;var t=function(){if(iV)return iO;iV=1;var t=function(){if(iN)return iI;iN=1;var t=function(){if(iR)return iM;iR=1;var t=function(){if(iA)return i_;iA=1;var t=n9();return i_=function(){try{var n=t(Object,"defineProperty");return n({},"",{}),n}catch(t){}}()}();return iM=function(n,r,i){"__proto__"==r&&t?t(n,r,{configurable:!0,enumerable:!0,value:i,writable:!0}):n[r]=i}}(),n=n8(),r=Object.prototype.hasOwnProperty;return iI=function(i,a,o){var s=i[a];r.call(i,a)&&n(s,o)&&(void 0!==o||a in i)||t(i,a,o)}}(),n=ri(),r=function(){if(iz)return iL;iz=1;var t=/^(?:0|[1-9]\d*)$/;return iL=function(n,r){var i=typeof n;return!!(r=null==r?9007199254740991:r)&&("number"==i||"symbol"!=i&&t.test(n))&&n>-1&&n%1==0&&n<r}}(),i=eP(),a=ra();return iO=function(o,s,l,u){if(!i(o))return o;for(var c=-1,h=(s=n(s,o)).length,d=h-1,f=o;null!=f&&++c<h;){var p=a(s[c]),g=l;if("__proto__"===p||"constructor"===p||"prototype"===p)break;if(c!=d){var v=f[p];void 0===(g=u?u(v,p,f):void 0)&&(g=i(v)?v:r(s[c+1])?[]:{})}t(f,p,g),f=f[p]}return o}}();return iF=function(n,r,i){return null==n?n:t(n,r,i)}}()),iK=eC(function(){if(iW)return iY;iW=1;var t=rn(),n=(iq||(iq=1,iX=function(t,n){var r=-1,i=t.length;for(n||(n=Array(i));++r<i;)n[r]=t[r];return n}),iX),r=n4(),i=e_(),a=rt(),o=ra(),s=rr();return iY=function(l){return r(l)?t(l,o):i(l)?[l]:n(a(s(l)))}}()),iG={};[{animated:function(){return function(){var t=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return!1;var n=t[0];return n?n._private.animation.current.length>0:void 0}},clearQueue:function(){return function(){var t=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var n=0;n<t.length;n++)t[n]._private.animation.queue=[];return this}},delay:function(){return function(t,n){return(this._private.cy||this).styleEnabled()?this.animate({delay:t,duration:t,complete:n}):this}},delayAnimation:function(){return function(t,n){return(this._private.cy||this).styleEnabled()?this.animation({delay:t,duration:t,complete:n}):this}},animation:function(){return function(t,n){var r=void 0!==this.length,i=r?this:[this],a=this._private.cy||this,o=!r,s=!o;if(!a.styleEnabled())return this;var l=a.style();if(0===Object.keys(t=eb({},t,n)).length)return new n5(i[0],t);switch(void 0===t.duration&&(t.duration=400),t.duration){case"slow":t.duration=600;break;case"fast":t.duration=200}if(s&&(t.style=l.getPropsList(t.style||t.css),t.css=void 0),s&&null!=t.renderedPosition){var u=t.renderedPosition,c=a.pan(),h=a.zoom();t.position=tw(u,h,c)}if(o&&null!=t.panBy){var d=t.panBy,f=a.pan();t.pan={x:f.x+d.x,y:f.y+d.y}}var p=t.center||t.centre;if(o&&null!=p){var g=a.getCenterPan(p.eles,t.zoom);null!=g&&(t.pan=g)}if(o&&null!=t.fit){var v=t.fit,y=a.getFitViewport(v.eles||v.boundingBox,v.padding);null!=y&&(t.pan=y.pan,t.zoom=y.zoom)}if(o&&Q(t.zoom)){var m=a.getZoomedViewport(t.zoom);null!=m?(m.zoomed&&(t.zoom=m.zoom),m.panned&&(t.pan=m.pan)):t.zoom=null}return new n5(i[0],t)}},animate:function(){return function(t,n){var r=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;n&&(t=eb({},t,n));for(var i=0;i<r.length;i++){var a=r[i],o=a.animated()&&(void 0===t.queue||t.queue);a.animation(t,o?{queue:!0}:void 0).play()}return this}},stop:function(){return function(t,n){var r=void 0!==this.length?this:[this],i=this._private.cy||this;if(!i.styleEnabled())return this;for(var a=0;a<r.length;a++){for(var o=r[a]._private,s=o.animation.current,l=0;l<s.length;l++){var u=s[l]._private;n&&(u.duration=0)}t&&(o.animation.queue=[]),n||(o.animation.current=[])}return i.notify("draw"),this}}},{data:function(t){return t=eb({},{field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(t){},beforeSet:function(t,n){},onSet:function(t){},canSet:function(t){return!0}},t),function(n,r){var i,a=t,o=void 0!==this.length,s=o?this:[this],u=o?this[0]:this;if(G(n)){var c,h=-1!==n.indexOf(".")&&iK(n);if(a.allowGetting&&void 0===r)return u&&(a.beforeGet(u),c=h&&void 0===u._private[a.field][n]?iU(u._private[a.field],h):u._private[a.field][n]),c;if(a.allowSetting&&void 0!==r&&!a.immutableKeys[n]){var d=l({},n,r);a.beforeSet(this,d);for(var f=0,p=s.length;f<p;f++){var g=s[f];a.canSet(g)&&(h&&void 0===u._private[a.field][n]?iH(g._private[a.field],h,r):g._private[a.field][n]=r)}a.updateStyle&&this.updateStyle(),a.onSet(this),a.settingTriggersEvent&&this[a.triggerFnName](a.settingEvent)}}else if(a.allowSetting&&Q(n)){var v,y,m=Object.keys(n);a.beforeSet(this,n);for(var b=0;b<m.length;b++)if(y=n[v=m[b]],!a.immutableKeys[v])for(var x=0;x<s.length;x++){var w=s[x];a.canSet(w)&&(w._private[a.field][v]=y)}a.updateStyle&&this.updateStyle(),a.onSet(this),a.settingTriggersEvent&&this[a.triggerFnName](a.settingEvent)}else if(a.allowBinding&&Z(n))this.on(a.bindingEvent,n);else if(a.allowGetting&&void 0===n)return u&&(a.beforeGet(u),i=u._private[a.field]),i;return this}},removeData:function(t){return t=eb({},{field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}},t),function(n){var r=t,i=void 0!==this.length?this:[this];if(G(n)){for(var a=n.split(/\s+/),o=a.length,s=0;s<o;s++){var l=a[s];if(!eo(l)&&!r.immutableKeys[l])for(var u=0,c=i.length;u<c;u++)i[u]._private[r.field][l]=void 0}r.triggerEvent&&this[r.triggerFnName](r.event)}else if(void 0===n){for(var h=0,d=i.length;h<d;h++)for(var f=i[h]._private[r.field],p=Object.keys(f),g=0;g<p.length;g++){var v=p[g];r.immutableKeys[v]||(f[v]=void 0)}r.triggerEvent&&this[r.triggerFnName](r.event)}return this}}},{eventAliasesOn:function(t){t.addListener=t.listen=t.bind=t.on,t.unlisten=t.unbind=t.off=t.removeListener,t.trigger=t.emit,t.pon=t.promiseOn=function(t,n){var r=this,i=Array.prototype.slice.call(arguments,0);return new n2(function(t,n){var a=i.concat([function(n){r.off.apply(r,o),t(n)}]),o=a.concat([]);r.on.apply(r,a)})}}}
1].forEach(function(t){eb(iG,t)});var iZ={animate:iG.animate(),animation:iG.animation(),animated:iG.animated(),clearQueue:iG.clearQueue(),delay:iG.delay(),delayAnimation:iG.delayAnimation(),stop:iG.stop()},i$={classes:function(t){if(void 0===t){var n=[];return this[0]._private.classes.forEach(function(t){return n.push(t)}),n}$(t)||(t=(t||"").match(/\S+/g)||[]);for(var r=[],i=new tr(t),a=0;a<this.length;a++){for(var o=this[a],s=o._private,l=s.classes,u=!1,c=0;c<t.length;c++){var h=t[c];if(!l.has(h)){u=!0;break}}u||(u=l.size!==t.length),u&&(s.classes=i,r.push(o))}return r.length>0&&this.spawn(r).updateStyle().emit("class"),this},addClass:function(t){return this.toggleClass(t,!0)},hasClass:function(t){var n=this[0];return null!=n&&n._private.classes.has(t)},toggleClass:function(t,n){$(t)||(t=t.match(/\S+/g)||[]);for(var r=void 0===n,i=[],a=0,o=this.length;a<o;a++)for(var s=this[a],l=s._private.classes,u=!1,c=0;c<t.length;c++){var h=t[c],d=l.has(h),f=!1;n||r&&!d?(l.add(h),f=!0):(!n||r&&d)&&(l.delete(h),f=!0),!u&&f&&(i.push(s),u=!0)}return i.length>0&&this.spawn(i).updateStyle().emit("class"),this},removeClass:function(t){return this.toggleClass(t,!1)},flashClass:function(t,n){var r=this;if(null==n)n=250;else if(0===n)return r;return r.addClass(t),setTimeout(function(){r.removeClass(t)},n),r}};i$.className=i$.classNames=i$.classes;var iQ={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:ef,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};iQ.variable="(?:[\\w-.]|(?:\\\\"+iQ.metaChar+"))+",iQ.className="(?:[\\w-]|(?:\\\\"+iQ.metaChar+"))+",iQ.value=iQ.string+"|"+iQ.number,iQ.id=iQ.variable,function(){var t,n,r;for(t=iQ.comparatorOp.split("|"),r=0;r<t.length;r++)n=t[r],iQ.comparatorOp+="|@"+n;for(t=iQ.comparatorOp.split("|"),r=0;r<t.length;r++)(n=t[r]).indexOf("!")>=0||"="!==n&&(iQ.comparatorOp+="|\\!"+n)}();var iJ=[{selector:":selected",matches:function(t){return t.selected()}},{selector:":unselected",matches:function(t){return!t.selected()}},{selector:":selectable",matches:function(t){return t.selectable()}},{selector:":unselectable",matches:function(t){return!t.selectable()}},{selector:":locked",matches:function(t){return t.locked()}},{selector:":unlocked",matches:function(t){return!t.locked()}},{selector:":visible",matches:function(t){return t.visible()}},{selector:":hidden",matches:function(t){return!t.visible()}},{selector:":transparent",matches:function(t){return t.transparent()}},{selector:":grabbed",matches:function(t){return t.grabbed()}},{selector:":free",matches:function(t){return!t.grabbed()}},{selector:":removed",matches:function(t){return t.removed()}},{selector:":inside",matches:function(t){return!t.removed()}},{selector:":grabbable",matches:function(t){return t.grabbable()}},{selector:":ungrabbable",matches:function(t){return!t.grabbable()}},{selector:":animated",matches:function(t){return t.animated()}},{selector:":unanimated",matches:function(t){return!t.animated()}},{selector:":parent",matches:function(t){return t.isParent()}},{selector:":childless",matches:function(t){return t.isChildless()}},{selector:":child",matches:function(t){return t.isChild()}},{selector:":orphan",matches:function(t){return t.isOrphan()}},{selector:":nonorphan",matches:function(t){return t.isChild()}},{selector:":compound",matches:function(t){return t.isNode()?t.isParent():t.source().isParent()||t.target().isParent()}},{selector:":loop",matches:function(t){return t.isLoop()}},{selector:":simple",matches:function(t){return t.isSimple()}},{selector:":active",matches:function(t){return t.active()}},{selector:":inactive",matches:function(t){return!t.active()}},{selector:":backgrounding",matches:function(t){return t.backgrounding()}},{selector:":nonbackgrounding",matches:function(t){return!t.backgrounding()}}].sort(function(t,n){return -1*em(t.selector,n.selector)}),i0=function(){for(var t,n={},r=0;r<iJ.length;r++)n[(t=iJ[r]).selector]=t.matches;return n}(),i1="("+iJ.map(function(t){return t.selector}).join("|")+")",i2=function(t){return t.replace(RegExp("\\\\("+iQ.metaChar+")","g"),function(t,n){return n})},i5=function(t,n,r){t[t.length-1]=r},i3=[{name:"group",query:!0,regex:"("+iQ.group+")",populate:function(t,n,r){var i=u(r,1)[0];n.checks.push({type:0,value:"*"===i?i:i+"s"})}},{name:"state",query:!0,regex:i1,populate:function(t,n,r){var i=u(r,1)[0];n.checks.push({type:7,value:i})}},{name:"id",query:!0,regex:"\\#("+iQ.id+")",populate:function(t,n,r){var i=u(r,1)[0];n.checks.push({type:8,value:i2(i)})}},{name:"className",query:!0,regex:"\\.("+iQ.className+")",populate:function(t,n,r){var i=u(r,1)[0];n.checks.push({type:9,value:i2(i)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+iQ.variable+")\\s*\\]",populate:function(t,n,r){var i=u(r,1)[0];n.checks.push({type:4,field:i2(i)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+iQ.variable+")\\s*("
1+iQ.comparatorOp+")\\s*("+iQ.value+")\\s*\\]",populate:function(t,n,r){var i=u(r,3),a=i[0],o=i[1],s=i[2];s=null!=RegExp("^"+iQ.string+"$").exec(s)?s.substring(1,s.length-1):parseFloat(s),n.checks.push({type:3,field:i2(a),operator:o,value:s})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+iQ.boolOp+")\\s*("+iQ.variable+")\\s*\\]",populate:function(t,n,r){var i=u(r,2),a=i[0],o=i[1];n.checks.push({type:5,field:i2(o),operator:a})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+iQ.meta+")\\s*("+iQ.comparatorOp+")\\s*("+iQ.number+")\\s*\\]\\]",populate:function(t,n,r){var i=u(r,3),a=i[0],o=i[1],s=i[2];n.checks.push({type:6,field:i2(a),operator:o,value:parseFloat(s)})}},{name:"nextQuery",separator:!0,regex:iQ.separator,populate:function(t,n){var r=t.currentSubject,i=t.edgeCount,a=t.compoundCount,o=t[t.length-1];return null!=r&&(o.subject=r,t.currentSubject=null),o.edgeCount=i,o.compoundCount=a,t.edgeCount=0,t.compoundCount=0,t[t.length++]={checks:[]}}},{name:"directedEdge",separator:!0,regex:iQ.directedEdge,populate:function(t,n){if(null==t.currentSubject){var r={checks:[]},i={checks:[]};return r.checks.push({type:11,source:n,target:i}),i5(t,0,r),t.edgeCount++,i}var a={checks:[]},o={checks:[]};return a.checks.push({type:12,source:n,target:o}),i5(t,0,a),t.edgeCount++,o}},{name:"undirectedEdge",separator:!0,regex:iQ.undirectedEdge,populate:function(t,n){if(null==t.currentSubject){var r={checks:[]},i={checks:[]};return r.checks.push({type:10,nodes:[n,i]}),i5(t,0,r),t.edgeCount++,i}var a={checks:[]},o={checks:[]};return a.checks.push({type:14,node:n,neighbor:o}),i5(t,0,a),o}},{name:"child",separator:!0,regex:iQ.child,populate:function(t,n){if(null==t.currentSubject){var r={checks:[]},i={checks:[]},a=t[t.length-1];return r.checks.push({type:15,parent:a,child:i}),i5(t,0,r),t.compoundCount++,i}if(t.currentSubject===n){var o={checks:[]},s=t[t.length-1],l={checks:[]},u={checks:[]},c={checks:[]},h={checks:[]};return o.checks.push({type:19,left:s,right:l,subject:u}),u.checks=n.checks,n.checks=[{type:20}],h.checks.push({type:20}),l.checks.push({type:17,parent:h,child:c}),i5(t,0,o),t.currentSubject=u,t.compoundCount++,c}var d={checks:[]},f={checks:[]},p=[{type:17,parent:d,child:f}];return d.checks=n.checks,n.checks=p,t.compoundCount++,f}},{name:"descendant",separator:!0,regex:iQ.descendant,populate:function(t,n){if(null==t.currentSubject){var r={checks:[]},i={checks:[]},a=t[t.length-1];return r.checks.push({type:16,ancestor:a,descendant:i}),i5(t,0,r),t.compoundCount++,i}if(t.currentSubject===n){var o={checks:[]},s=t[t.length-1],l={checks:[]},u={checks:[]},c={checks:[]},h={checks:[]};return o.checks.push({type:19,left:s,right:l,subject:u}),u.checks=n.checks,n.checks=[{type:20}],h.checks.push({type:20}),l.checks.push({type:18,ancestor:h,descendant:c}),i5(t,0,o),t.currentSubject=u,t.compoundCount++,c}var d={checks:[]},f={checks:[]},p=[{type:18,ancestor:d,descendant:f}];return d.checks=n.checks,n.checks=p,t.compoundCount++,f}},{name:"subject",modifier:!0,regex:iQ.subject,populate:function(t,n){if(null!=t.currentSubject&&t.currentSubject!==n)return e1("Redefinition of subject in selector `"+t.toString()+"`"),!1;t.currentSubject=n;var r=t[t.length-1].checks[0],i=null==r?null:r.type;11===i?r.type=13:10===i&&(r.type=14,r.node=r.nodes[1],r.neighbor=r.nodes[0],r.nodes=null)}}];i3.forEach(function(t){return t.regexObj=RegExp("^"+t.regex)});var i4=function(t){for(var n,r,i,a=0;a<i3.length;a++){var o=i3[a],s=o.name,l=t.match(o.regexObj);if(null!=l){r=l,n=o,i=s;var u=l[0];t=t.substring(u.length);break}}return{expr:n,match:r,name:i,remaining:t}},i9=function(t,n,r){var i,a,o,s=G(t),l=J(t),u=G(r),c=!1,h=!1,d=!1;switch(n.indexOf("!")>=0&&(n=n.replace("!",""),h=!0),n.indexOf("@")>=0&&(n=n.replace("@",""),c=!0),(s||u||c)&&(a=s||l?""+t:"",o=""+r),c&&(t=a=a.toLowerCase(),r=o=o.toLowerCase()),n){case"*=":i=a.indexOf(o)>=0;break;case"$=":i=a.indexOf(o,a.length-o.length)>=0;break;case"^=":i=0===a.indexOf(o);break;case"=":i=t===r;break;case">":d=!0,i=t>r;break;case">=":d=!0,i=t>=r;break;case"<":d=!0,i=t<r;break;case"<=":d=!0,i=t<=r;break;default:i=!1}return!h||null==t&&d||(i=!i),i},i6=function(t,n){return t.data(n)},i8=[],i7=function(t,n){return t.checks.every(function(t){return i8[t.type](t,n)})};i8[0]=function(t,n){var r=t.value;return"*"===r||r===n.group()},i8[7]=function(t,n){return i0[t.value](n)},i8[8]=function(t,n){var r=t.value;return n.id()===r},i8[9]=function(t,n){var r=t.value;return n.hasClass(r)},i8[6]=function(t,n){var r=t.field,i=t.operator,a=t.value;return i9(n[r](),i,a)},i8[3]=function(t,n){var r=t.field,i=t.operator,a=t.value;return i9(i6(n,r),i,a)},i8[5]=function(t,n){var r=t.field,i=t.operator;return function(t,n){switch(n){case"?":return!!t;case"!":return!t;case"^":return void 0===t}}(i6(n,r),i)},i8[4]=function(t,n){var r=t.field;return t.operator,void 0!==i6(n,r)}
1,i8[10]=function(t,n){var r=t.nodes[0],i=t.nodes[1],a=n.source(),o=n.target();return i7(r,a)&&i7(i,o)||i7(i,a)&&i7(r,o)},i8[14]=function(t,n){return i7(t.node,n)&&n.neighborhood().some(function(n){return n.isNode()&&i7(t.neighbor,n)})},i8[11]=function(t,n){return i7(t.source,n.source())&&i7(t.target,n.target())},i8[12]=function(t,n){return i7(t.source,n)&&n.outgoers().some(function(n){return n.isNode()&&i7(t.target,n)})},i8[13]=function(t,n){return i7(t.target,n)&&n.incomers().some(function(n){return n.isNode()&&i7(t.source,n)})},i8[15]=function(t,n){return i7(t.child,n)&&i7(t.parent,n.parent())},i8[17]=function(t,n){return i7(t.parent,n)&&n.children().some(function(n){return i7(t.child,n)})},i8[16]=function(t,n){return i7(t.descendant,n)&&n.ancestors().some(function(n){return i7(t.ancestor,n)})},i8[18]=function(t,n){return i7(t.ancestor,n)&&n.descendants().some(function(n){return i7(t.descendant,n)})},i8[19]=function(t,n){return i7(t.subject,n)&&i7(t.left,n)&&i7(t.right,n)},i8[20]=function(){return!0},i8[1]=function(t,n){return t.value.has(n)},i8[2]=function(t,n){return(0,t.value)(n)};var ae=function(t){this.inputText=t,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,null==t||G(t)&&t.match(/^\s*$/)||(et(t)?this.addQuery({checks:[{type:1,value:t.collection()}]}):Z(t)?this.addQuery({checks:[{type:2,value:t}]}):G(t)?this.parse(t)||(this.invalid=!0):eJ("A selector must be created from a string; found "))},at=ae.prototype;[{parse:function(t){var n=this.inputText=t,r=this[0]={checks:[]};for(this.length=1,n=function(t){var n=t.match(/^\s+/);if(n){var r=n[0];t=t.substring(r.length)}return t}(n);;){var i=i4(n);if(null==i.expr)return e1("The selector `"+t+"`is invalid"),!1;var a=i.match.slice(1),o=i.expr.populate(this,r,a);if(!1===o)return!1;if(null!=o&&(r=o),(n=i.remaining).match(/^\s*$/))break}var s=this[this.length-1];null!=this.currentSubject&&(s.subject=this.currentSubject),s.edgeCount=this.edgeCount,s.compoundCount=this.compoundCount;for(var l=0;l<this.length;l++){var u=this[l];if(u.compoundCount>0&&u.edgeCount>0)return e1("The selector `"+t+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(u.edgeCount>1)return e1("The selector `"+t+"` is invalid because it uses multiple edge selectors"),!1;1===u.edgeCount&&e1("The selector `"+t+"` is deprecated.  Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons.  Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var t=function(t){return null==t?"":t},n=function(n){return G(n)?'"'+n+'"':t(n)},r=function(t){return" "+t+" "},i=function(i,o){var s=i.type,l=i.value;switch(s){case 0:var u=t(l);return u.substring(0,u.length-1);case 3:return"["+i.field+r(t(i.operator))+n(l)+"]";case 5:var c=i.operator,h=i.field;return"["+t(c)+h+"]";case 4:return"["+i.field+"]";case 6:var d=i.operator;return"[["+i.field+r(t(d))+n(l)+"]]";case 7:return l;case 8:return"#"+l;case 9:return"."+l;case 17:case 15:return a(i.parent,o)+r(">")+a(i.child,o);case 18:case 16:return a(i.ancestor,o)+" "+a(i.descendant,o);case 19:var f=a(i.left,o),p=a(i.subject,o),g=a(i.right,o);return f+(f.length>0?" ":"")+p+g;case 20:return""}},a=function(t,n){return t.checks.reduce(function(r,a,o){return r+(n===t&&0===o?"$":"")+i(a,n)},"")},o="",s=0;s<this.length;s++){var l=this[s];o+=a(l,l.subject),this.length>1&&s<this.length-1&&(o+=", ")}return this.toStringCache=o,o}},{matches:function(t){for(var n=0;n<this.length;n++)if(i7(this[n],t))return!0;return!1},filter:function(t){var n=this;if(1===n.length&&1===n[0].checks.length&&8===n[0].checks[0].type)return t.getElementById(n[0].checks[0].value).collection();var r=function(t){for(var r=0;r<n.length;r++)if(i7(n[r],t))return!0;return!1};return null==n.text()&&(r=function(){return!0}),t.filter(r)}}].forEach(function(t){return eb(at,t)}),at.text=function(){return this.inputText},at.size=function(){return this.length},at.eq=function(t){return this[t]}
1,at.sameText=function(t){return!this.invalid&&!t.invalid&&this.text()===t.text()},at.addQuery=function(t){this[this.length++]=t},at.selector=at.toString;var an={allAre:function(t){var n=new ae(t);return this.every(function(t){return n.matches(t)})},is:function(t){var n=new ae(t);return this.some(function(t){return n.matches(t)})},some:function(t,n){for(var r=0;r<this.length;r++)if(n?t.apply(n,[this[r],r,this]):t(this[r],r,this))return!0;return!1},every:function(t,n){for(var r=0;r<this.length;r++)if(!(n?t.apply(n,[this[r],r,this]):t(this[r],r,this)))return!1;return!0},same:function(t){if(this===t)return!0;t=this.cy().collection(t);var n=this.length;return n===t.length&&(1===n?this[0]===t[0]:this.every(function(n){return t.hasElementWithId(n.id())}))},anySame:function(t){return t=this.cy().collection(t),this.some(function(n){return t.hasElementWithId(n.id())})},allAreNeighbors:function(t){t=this.cy().collection(t);var n=this.neighborhood();return t.every(function(t){return n.hasElementWithId(t.id())})},contains:function(t){t=this.cy().collection(t);var n=this;return t.every(function(t){return n.hasElementWithId(t.id())})}};an.allAreNeighbours=an.allAreNeighbors,an.has=an.contains,an.equal=an.equals=an.same;var ar,ai,aa=function(t,n){return function(r,i,a,o){var s;if(null==r?s="":et(r)&&1===r.length&&(s=r.id()),1===this.length&&s){var l=this[0]._private,u=l.traversalCache=l.traversalCache||{},c=u[n]=u[n]||[],h=eX(s);return c[h]||(c[h]=t.call(this,r,i,a,o))}return t.call(this,r,i,a,o)}},ao={parent:function(t){var n=[];if(1===this.length){var r=this[0]._private.parent;if(r)return r}for(var i=0;i<this.length;i++){var a=this[i]._private.parent;a&&n.push(a)}return this.spawn(n,!0).filter(t)},parents:function(t){for(var n=[],r=this.parent();r.nonempty();){for(var i=0;i<r.length;i++){var a=r[i];n.push(a)}r=r.parent()}return this.spawn(n,!0).filter(t)},commonAncestors:function(t){for(var n,r=0;r<this.length;r++){var i=this[r].parents();n=(n=n||i).intersect(i)}return n.filter(t)},orphans:function(t){return this.stdFilter(function(t){return t.isOrphan()}).filter(t)},nonorphans:function(t){return this.stdFilter(function(t){return t.isChild()}).filter(t)},children:aa(function(t){for(var n=[],r=0;r<this.length;r++)for(var i=this[r]._private.children,a=0;a<i.length;a++)n.push(i[a]);return this.spawn(n,!0).filter(t)},"children"),siblings:function(t){return this.parent().children().not(this).filter(t)},isParent:function(){var t=this[0];if(t)return t.isNode()&&0!==t._private.children.length},isChildless:function(){var t=this[0];if(t)return t.isNode()&&0===t._private.children.length},isChild:function(){var t=this[0];if(t)return t.isNode()&&null!=t._private.parent},isOrphan:function(){var t=this[0];if(t)return t.isNode()&&null==t._private.parent},descendants:function(t){var n=[];return function t(r){for(var i=0;i<r.length;i++){var a=r[i];n.push(a),a.children().nonempty()&&t(a.children())}}(this.children()),this.spawn(n,!0).filter(t)}};function as(t,n,r,i){for(var a=[],o=new tr,s=t.cy().hasCompoundNodes(),l=0;l<t.length;l++){var u=t[l];r?a.push(u):s&&i(a,o,u)}for(;a.length>0;){var c=a.shift();n(c),o.add(c.id()),s&&i(a,o,c)}return t}function al(t,n,r){if(r.isParent())for(var i=r._private.children,a=0;a<i.length;a++){var o=i[a];n.has(o.id())||t.push(o)}}function au(t,n,r){if(r.isChild()){var i=r._private.parent;n.has(i.id())||t.push(i)}}function ac(t,n,r){au(t,n,r),al(t,n,r)}ao.forEachDown=function(t){return as(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],al)},ao.forEachUp=function(t){return as(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],au)},ao.forEachUpAndDown=function(t){return as(this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1],ac)},ao.ancestors=ao.parents,(ar=ai={data:iG.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:iG.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:iG.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:iG.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:iG.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:iG.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var t=this[0];if(t)return t._private.data.id}}).attr=ar.data,ar.removeAttr=ar.removeData;var ah,ad,af={};function ap(t){return function(n){if(void 0===n&&(n=!0),0!==this.length&&this.isNode()&&!this.removed()){for(var r=0,i=this[0],a=i._private.edges,o=0;o<a.length;o++){var s=a[o];!n&&s.isLoop()||(r+=t(i,s))}return r}}}function ag(t,n){return function(r){for(var i,a=this.nodes(),o=0;o<a.length;o++){var s=a[o][t](r);void 0!==s&&(void 0===i||n(s,i))&&(i=s)}return i}}eb(af,{degree:ap(function(t,n){return n.source().same(n.target())?2:1}),indegree:ap(function(t,n){return n.target().same(t)?1:0}),outdegree:ap(function(t,n){return n.source().same(t)?1:0})}),eb(af,{minDegree:ag("degree",function(t,n){return t<n}),maxDegree:ag("degree",function(t,n){return t>n}),minIndegree:ag("indegree",function(t,n){return t<n}),maxIndegree:ag("indegree",function(t,n){return t>n}),minOutdegree:ag("outdegree",function(t,n){return t<n}),maxOutdegree:ag("outdegree",function(t,n){return t>n})}),eb(af,{totalDegree:function(t){for(var n=0,r=this.nodes(),i=0;i<r.length;i++)n+=r[i].degree(t);return n}});var av=function(t,n,r){for(var i=0;i<t.length;i++){var a=t[i];if(!a.locked()){var o=a._private.position,s={x:null!=n.x?n.x-o.x:0,y:null!=n.y?n.y-o.y:0};
1a.isParent()&&(0!==s.x||0!==s.y)&&a.children().shift(s,r),a.dirtyBoundingBoxCache()}}},ay={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(t){t.updateCompoundBounds()},beforeSet:function(t,n){av(t,n,!1)},onSet:function(t){t.dirtyCompoundBoundsCache()},canSet:function(t){return!t.locked()}};(ah=ad={position:iG.data(ay),silentPosition:iG.data(eb({},ay,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(t,n){av(t,n,!0)},onSet:function(t){t.dirtyCompoundBoundsCache()}})),positions:function(t,n){if(Q(t))n?this.silentPosition(t):this.position(t);else if(Z(t)){var r=this.cy();r.startBatch();for(var i=0;i<this.length;i++){var a,o=this[i];(a=t(o,i))&&(n?o.silentPosition(a):o.position(a))}r.endBatch()}return this},silentPositions:function(t){return this.positions(t,!0)},shift:function(t,n,r){var i;if(Q(t)?(i={x:J(t.x)?t.x:0,y:J(t.y)?t.y:0},r=n):G(t)&&J(n)&&((i={x:0,y:0})[t]=n),null!=i){var a=this.cy();a.startBatch();for(var o=0;o<this.length;o++){var s=this[o];if(!(a.hasCompoundNodes()&&s.isChild()&&s.ancestors().anySame(this))){var l=s.position(),u={x:l.x+i.x,y:l.y+i.y};r?s.silentPosition(u):s.position(u)}}a.endBatch()}return this},silentShift:function(t,n){return Q(t)?this.shift(t,!0):G(t)&&J(n)&&this.shift(t,n,!0),this},renderedPosition:function(t,n){var r=this[0],i=this.cy(),a=i.zoom(),o=i.pan(),s=Q(t)?t:void 0,l=void 0!==s||void 0!==n&&G(t);if(r&&r.isNode()){if(!l)return s=tx(r.position(),a,o),void 0===t?s:s[t];for(var u=0;u<this.length;u++){var c=this[u];void 0!==n?c.position(t,(n-o[t])/a):void 0!==s&&c.position(tw(s,a,o))}}else if(!l)return;return this},relativePosition:function(t,n){var r=this[0],i=this.cy(),a=Q(t)?t:void 0,o=void 0!==a||void 0!==n&&G(t),s=i.hasCompoundNodes();if(r&&r.isNode()){if(!o){var l=r.position(),u=s?r.parent():null,c=u&&u.length>0;c&&(u=u[0]);var h=c?u.position():{x:0,y:0};return a={x:l.x-h.x,y:l.y-h.y},void 0===t?a:a[t]}for(var d=0;d<this.length;d++){var f=this[d],p=s?f.parent():null,g=p&&p.length>0;g&&(p=p[0]);var v=g?p.position():{x:0,y:0};void 0!==n?f.position(t,n+v[t]):void 0!==a&&f.position({x:a.x+v.x,y:a.y+v.y})}}else if(!o)return;return this}}).modelPosition=ah.point=ah.position,ah.modelPositions=ah.points=ah.positions,ah.renderedPoint=ah.renderedPosition,ah.relativePoint=ah.relativePosition,oU=oH={},oH.renderedBoundingBox=function(t){var n=this.boundingBox(t),r=this.cy(),i=r.zoom(),a=r.pan(),o=n.x1*i+a.x,s=n.x2*i+a.x,l=n.y1*i+a.y,u=n.y2*i+a.y;return{x1:o,x2:s,y1:l,y2:u,w:s-o,h:u-l}},oH.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.cy();return n.styleEnabled()&&n.hasCompoundNodes()&&this.forEachUp(function(n){if(n.isParent()){var r=n._private;r.compoundBoundsClean=!1,r.bbCache=null,t||n.emitAndNotify("bounds")}}),this},oH.updateCompoundBounds=function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=this.cy();if(!n.styleEnabled()||!n.hasCompoundNodes()||!t&&n.batching())return this;for(var r=0;r<this.length;r++){var i=this[r],a=i._private;a.compoundBoundsClean&&!t||(function(t){if(t.isParent()){var n=t._private,r=t.children(),i="include"===t.pstyle("compound-sizing-wrt-labels").value,a={width:{val:t.pstyle("min-width").pfValue,left:t.pstyle("min-width-bias-left"),right:t.pstyle("min-width-bias-right")},height:{val:t.pstyle("min-height").pfValue,top:t.pstyle("min-height-bias-top"),bottom:t.pstyle("min-height-bias-bottom")}},o=r.boundingBox({includeLabels:i,includeOverlays:!1,useCache:!1}),s=n.position;0!==o.w&&0!==o.h||((o={w:t.pstyle("width").pfValue,h:t.pstyle("height").pfValue}).x1=s.x-o.w/2,o.x2=s.x+o.w/2,o.y1=s.y-o.h/2,o.y2=s.y+o.h/2);var l=a.width.left.value;"px"===a.width.left.units&&a.width.val>0&&(l=100*l/a.width.val);var u=a.width.right.value;"px"===a.width.right.units&&a.width.val>0&&(u=100*u/a.width.val);var c=a.height.top.value;"px"===a.height.top.units&&a.height.val>0&&(c=100*c/a.height.val);var h=a.height.bottom.value;"px"===a.height.bottom.units&&a.height.val>0&&(h=100*h/a.height.val);var d=m(a.width.val-o.w,l,u),f=d.biasDiff,p=d.biasComplementDiff,g=m(a.height.val-o.h,c,h),v=g.biasDiff,y=g.biasComplementDiff;n.autoPadding=function(t,n,r,i){if("%"!==r.units)return"px"===r.units?r.pfV
1alue:0;switch(i){case"width":return t>0?r.pfValue*t:0;case"height":return n>0?r.pfValue*n:0;case"average":return t>0&&n>0?r.pfValue*(t+n)/2:0;case"min":return t>0&&n>0?t>n?r.pfValue*n:r.pfValue*t:0;case"max":return t>0&&n>0?t>n?r.pfValue*t:r.pfValue*n:0;default:return 0}}(o.w,o.h,t.pstyle("padding"),t.pstyle("padding-relative-to").value),n.autoWidth=Math.max(o.w,a.width.val),s.x=(-f+o.x1+o.x2+p)/2,n.autoHeight=Math.max(o.h,a.height.val),s.y=(-v+o.y1+o.y2+y)/2}function m(t,n,r){var i=0,a=0,o=n+r;return t>0&&o>0&&(i=n/o*t,a=r/o*t),{biasDiff:i,biasComplementDiff:a}}}(i),n.batching()||(a.compoundBoundsClean=!0))}return this};var am=function(t){return t===1/0||t===-1/0?0:t},ab=function(t,n,r,i,a){i-n!=0&&a-r!=0&&null!=n&&null!=r&&null!=i&&null!=a&&(t.x1=n<t.x1?n:t.x1,t.x2=i>t.x2?i:t.x2,t.y1=r<t.y1?r:t.y1,t.y2=a>t.y2?a:t.y2,t.w=t.x2-t.x1,t.h=t.y2-t.y1)},ax=function(t,n){return null==n?t:ab(t,n.x1,n.y1,n.x2,n.y2)},aw=function(t,n,r){return e7(t,n,r)},aE=function(t,n,r){if(!n.cy().headless()){var i,a,o=n._private,s=o.rstyle,l=s.arrowWidth/2;if("none"!==n.pstyle(r+"-arrow-shape").value){"source"===r?(i=s.srcX,a=s.srcY):"target"===r?(i=s.tgtX,a=s.tgtY):(i=s.midX,a=s.midY);var u=o.arrowBounds=o.arrowBounds||{},c=u[r]=u[r]||{};c.x1=i-l,c.y1=a-l,c.x2=i+l,c.y2=a+l,c.w=c.x2-c.x1,c.h=c.y2-c.y1,tN(c,1),ab(t,c.x1,c.y1,c.x2,c.y2)}}},ak=function(t,n,r){if(!n.cy().headless()){o=r?r+"-":"";var i=n._private,a=i.rstyle;if(n.pstyle(o+"label").strValue){var o,s,l,u,c,h=n.pstyle("text-halign"),d=n.pstyle("text-valign"),f=aw(a,"labelWidth",r),p=aw(a,"labelHeight",r),g=aw(a,"labelX",r),v=aw(a,"labelY",r),y=n.pstyle(o+"text-margin-x").pfValue,m=n.pstyle(o+"text-margin-y").pfValue,b=n.isEdge(),x=n.pstyle(o+"text-rotation"),w=n.pstyle("text-outline-width").pfValue,E=n.pstyle("text-border-width").pfValue/2,k=n.pstyle("text-background-padding").pfValue,T=f/2,C=p/2;if(b)s=g-T,l=g+T,u=v-C,c=v+C;else{switch(h.value){case"left":s=g-f,l=g;break;case"center":s=g-T,l=g+T;break;case"right":s=g,l=g+f}switch(d.value){case"top":u=v-p,c=v;break;case"center":u=v-C,c=v+C;break;case"bottom":u=v,c=v+p}}var P=y-Math.max(w,E)-k-2,S=y+Math.max(w,E)+k+2,B=m-Math.max(w,E)-k-2,D=m+Math.max(w,E)+k+2;s+=P,l+=S,u+=B,c+=D;var _=r||"main",A=i.labelBounds,M=A[_]=A[_]||{};M.x1=s,M.y1=u,M.x2=l,M.y2=c,M.w=l-s,M.h=c-u,M.leftPad=P,M.rightPad=S,M.topPad=B,M.botPad=D;var R=b&&"autorotate"===x.strValue,I=null!=x.pfValue&&0!==x.pfValue;if(R||I){var N=R?aw(i.rstyle,"labelAngle",r):x.pfValue,L=Math.cos(N),z=Math.sin(N),O=(s+l)/2,V=(u+c)/2;if(!b){switch(h.value){case"left":O=l;break;case"right":O=s}switch(d.value){case"top":V=c;break;case"bottom":V=u}}var F=function(t,n){return{x:(t-=O)*L-(n-=V)*z+O,y:t*z+n*L+V}},j=F(s,u),X=F(s,c),q=F(l,u),Y=F(l,c);s=Math.min(j.x,X.x,q.x,Y.x),l=Math.max(j.x,X.x,q.x,Y.x),u=Math.min(j.y,X.y,q.y,Y.y),c=Math.max(j.y,X.y,q.y,Y.y)}var W=_+"Rot",U=A[W]=A[W]||{};U.x1=s,U.y1=u,U.x2=l,U.y2=c,U.w=l-s,U.h=c-u,ab(t,s,u,l,c),ab(i.labelBounds.all,s,u,l,c)}return t}},aT=function(t,n){var r,i,a,o,s,l,u,c=t._private.cy,h=c.styleEnabled(),d=c.headless(),f=tM(),p=t._private,g=t.isNode(),v=t.isEdge(),y=p.rstyle,m=g&&h?t.pstyle("bounds-expansion").pfValue:[0],b=function(t){return"none"!==t.pstyle("display").value},x=!h||b(t)&&(!v||b(t.source())&&b(t.target()));if(x){var w=0;h&&n.includeOverlays&&0!==t.pstyle("overlay-opacity").value&&(w=t.pstyle("overlay-padding").value);var E=0;h&&n.includeUnderlays&&0!==t.pstyle("underlay-opacity").value&&(E=t.pstyle("underlay-padding").value);var k=Math.max(w,E),T=0;if(h&&(T=t.pstyle("width").pfValue/2),g&&n.includeNodes){var C=t.position();s=C.x,l=C.y;var P=t.outerWidth()/2,S=t.outerHeight()/2;ab(f,r=s-P,a=l-S,i=s+P,o=l+S),h&&n.includeOutlines&&function(t,n){if(!n.cy().headless()){var r,i=n.pstyle("outline-opacity").value,a=n.pstyle("outline-width").value;if(i>0&&a>0){var o=n.pstyle("outline-offset").value,s=n.pstyle("shape").value,l=a+o,u=(t.w+2*l)/t.w,c=(t.h+2*l)/t.h,h=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(t.w+2.4*l)/t.w,h=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(t.w+2.4*l)/t.w:"star"===s?(u=(t.w+2.8*l)/t.w,c=(t.h+2.6*l)/t.h,h=-l/3.8):"triangle"===s?(u=(t.w+2.8*l)/t.w,c=(t.h+2.4*l)/t.h,h=-l/1.4):"vee"===s&&(u=(t.w+4.4*l)/t.w,c=(t.h+3.8*l)/t.h,h=-(.5*l));var d=t.h*c-t.h,f=t.w*u-t.w;if(tL(t,[Math.ceil(d/2),Math.ceil(f/2)]),0!==h){var p=(r=h,{x1:t.x1+0,x2:t.x2+0,y1:t.y1+r,y2:t.y2+r,w:t.w,h:t.h});tR(t,p)}}}}(f,t)}else if(v&&n.includeEdges){if(h&&!d){var B,D=t.pstyle("curve-style").strValue;if(r=Math.min(y.srcX,y.midX,y.tgtX),i=Math.max(y.srcX,y.midX,y.tgtX),a=Math.min(y.srcY,y.midY,y.tgtY),o=Math.max(y.srcY,y.midY,y.tgtY),ab(f,r-=T,a-=T,i+=T,o+=T),"haystack"===D){var _=y.haystackPts;if(_&&2===_.length){if(r=_[0].x,a=_[0].y,r>(i=_[1].x)){var A=r;r=i,i=A}if(a>(o=_[1].y)){var M=a;a=o,o=M}ab(f,r-T,a-T,i+T,o+T)}}else if("bezier"===D||"unbundled-bezier"===D||D.endsWith("segments")||D.endsWith("taxi")){switch(D){case"bezier":case"unbundled-bezier":B=y.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":B=y.linePts}if(null!=B)for(var R=0;R<B.length;R++){var I=B[R];r=I.x-T,i=I.x+T,ab(f,r,a=I.y-T,i,o=I.y+T)}}}else{var N=t.source().position(),L=t.target().position();if((r=N.x)>(i=L.x)){var z=r;r=i,i=z}if((a=N.y)>(o=L.y)){var O=a;a=o,o=O}ab(f,r-=T,a-=T,i+=T,o+=T)}}if(h&&n.includeEdges&&v&&(aE(f,t,"mid-source"),aE(f,t,"mid-target"),aE(f,t,"source"),aE(f,t,"target")),h&&"yes"===t.pstyle("ghost").value){var V=t.pstyle("ghost-offset-x").pfValue,F=t.pstyle("ghost-offset-y").pfValue;ab(f,f.x1+V,f.y1+F,f.x2+V,f.y2+F)}var j=p.bodyBounds=p.bodyBounds||{};tz(j,f),tL(j,m),tN(j,1),h&&(r=f.x1,i=f.x2,a=f.y1,o=f.y2,ab(f,r-k,a-k,i+k,o+k));var X=p.overlayBounds=p.overlayBounds||{};
1tz(X,f),tL(X,m),tN(X,1);var q=p.labelBounds=p.labelBounds||{};null!=q.all?((u=q.all).x1=1/0,u.y1=1/0,u.x2=-1/0,u.y2=-1/0,u.w=0,u.h=0):q.all=tM(),h&&n.includeLabels&&(n.includeMainLabels&&ak(f,t,null),v&&(n.includeSourceLabels&&ak(f,t,"source"),n.includeTargetLabels&&ak(f,t,"target")))}return f.x1=am(f.x1),f.y1=am(f.y1),f.x2=am(f.x2),f.y2=am(f.y2),f.w=am(f.x2-f.x1),f.h=am(f.y2-f.y1),f.w>0&&f.h>0&&x&&(tL(f,m),tN(f,1)),f},aC=function(t){var n=0,r=function(t){return(t?1:0)<<n++};return 0+(r(t.incudeNodes)+r(t.includeEdges)+r(t.includeLabels)+r(t.includeMainLabels)+r(t.includeSourceLabels)+r(t.includeTargetLabels)+r(t.includeOverlays)+r(t.includeOutlines))},aP=function(t){var n=function(t){return Math.round(t)};if(t.isEdge()){var r=t.source().position(),i=t.target().position();return ej([n(r.x),n(r.y),n(i.x),n(i.y)])}var a=t.position();return ej([n(a.x),n(a.y)])},aS=function(t,n){var r,i=t._private,a=t.isEdge(),o=(null==n?aD:aC(n))===aD;if(null==i.bbCache?(r=aT(t,aB),i.bbCache=r,i.bbCachePosKey=aP(t)):r=i.bbCache,!o){var s=t.isNode();r=tM(),(n.includeNodes&&s||n.includeEdges&&!s)&&(n.includeOverlays?ax(r,i.overlayBounds):ax(r,i.bodyBounds)),n.includeLabels&&(n.includeMainLabels&&(!a||n.includeSourceLabels&&n.includeTargetLabels)?ax(r,i.labelBounds.all):(n.includeMainLabels&&ax(r,i.labelBounds.mainRot),n.includeSourceLabels&&ax(r,i.labelBounds.sourceRot),n.includeTargetLabels&&ax(r,i.labelBounds.targetRot))),r.w=r.x2-r.x1,r.h=r.y2-r.y1}return r},aB={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},aD=aC(aB),a_=e9(aB);oH.boundingBox=function(t){var n,r=void 0===t||void 0===t.useCache||!0===t.useCache,i=el(function(t){var n=t._private;return null==n.bbCache||n.styleDirty||n.bbCachePosKey!==aP(t)},function(t){return t.id()});if(r&&1===this.length&&!i(this[0]))t=void 0===t?aB:a_(t),n=aS(this[0],t);else{n=tM();var a=a_(t=t||aB),o=this.cy().styleEnabled();
1this.edges().forEach(i),this.nodes().forEach(i),o&&this.recalculateRenderedStyle(r),this.updateCompoundBounds(!r);for(var s=0;s<this.length;s++){var l=this[s];i(l)&&l.dirtyBoundingBoxCache(),ax(n,aS(l,a))}}return n.x1=am(n.x1),n.y1=am(n.y1),n.x2=am(n.x2),n.y2=am(n.y2),n.w=am(n.x2-n.x1),n.h=am(n.y2-n.y1),n},oH.dirtyBoundingBoxCache=function(){for(var t=0;t<this.length;t++){var n=this[t]._private;n.bbCache=null,n.bbCachePosKey=null,n.bodyBounds=null,n.overlayBounds=null,n.labelBounds.all=null,n.labelBounds.source=null,n.labelBounds.target=null,n.labelBounds.main=null,n.labelBounds.sourceRot=null,n.labelBounds.targetRot=null,n.labelBounds.mainRot=null,n.arrowBounds.source=null,n.arrowBounds.target=null,n.arrowBounds["mid-source"]=null,n.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this},oH.boundingBoxAt=function(t){var n,r=this.nodes(),i=this.cy(),a=i.hasCompoundNodes(),o=i.collection();if(a&&(o=r.filter(function(t){return t.isParent()}),r=r.not(o)),Q(t)){var s=t;t=function(){return s}}i.startBatch(),r.forEach(function(n,r){return n._private.bbAtOldPos=t(n,r)}).silentPositions(t),a&&(o.dirtyCompoundBoundsCache(),o.dirtyBoundingBoxCache(),o.updateCompoundBounds(!0));var l={x1:(n=this.boundingBox({useCache:!1})).x1,x2:n.x2,w:n.w,y1:n.y1,y2:n.y2,h:n.h};return r.silentPositions(function(t){return t._private.bbAtOldPos}),a&&(o.dirtyCompoundBoundsCache(),o.dirtyBoundingBoxCache(),o.updateCompoundBounds(!0)),i.endBatch(),l},oU.boundingbox=oU.bb=oU.boundingBox,oU.renderedBoundingbox=oU.renderedBoundingBox,oK=oG={};var aA=function(t){t.uppercaseName=ed(t.name),t.autoName="auto"+t.uppercaseName,t.labelName="label"+t.uppercaseName,t.outerName="outer"+t.uppercaseName,t.uppercaseOuterName=ed(t.outerName),oK[t.name]=function(){var n=this[0],r=n._private,i=r.cy._private.styleEnabled;if(n){if(i){if(n.isParent())return n.updateCompoundBounds(),r[t.autoName]||0;var a=n.pstyle(t.name);return"label"===a.strValue?(n.recalculateRenderedStyle(),r.rstyle[t.labelName]||0):a.pfValue}return 1}},oK["outer"+t.uppercaseName]=function(){var n=this[0],r=n._private.cy._private.styleEnabled;if(n){if(r){var i=n[t.name](),a=n.pstyle("border-position").value;return i+("center"===a?n.pstyle("border-width").pfValue:"outside"===a?2*n.pstyle("border-width").pfValue:0)+2*n.padding()}return 1}},oK["rendered"+t.uppercaseName]=function(){var n=this[0];if(n)return n[t.name]()*this.cy().zoom()},oK["rendered"+t.uppercaseOuterName]=function(){var n=this[0];if(n)return n[t.outerName]()*this.cy().zoom()}};aA({name:"width"}),aA({name:"height"}),oG.padding=function(){var t=this[0],n=t._private;return t.isParent()?(t.updateCompoundBounds(),void 0!==n.autoPadding?n.autoPadding:t.pstyle("padding").pfValue):t.pstyle("padding").pfValue},oG.paddedHeight=function(){var t=this[0];return t.height()+2*t.padding()},oG.paddedWidth=function(){var t=this[0];return t.width()+2*t.padding()};var aM={controlPoints:{get:function(t){return t.renderer().getControlPoints(t)},mult:!0},segmentPoints:{get:function(t){return t.renderer().getSegmentPoints(t)},mult:!0},sourceEndpoint:{get:function(t){return t.renderer().getSourceEndpoint(t)}},targetEndpoint:{get:function(t){return t.renderer().getTargetEndpoint(t)}},midpoint:{get:function(t){return t.renderer().getEdgeMidpoint(t)}}},aR=eb({},ad,oH,oG,Object.keys(aM).reduce(function(t,n){var r=aM[n],i="rendered"+n[0].toUpperCase()+n.substr(1);return t[n]=function(){return function(t,n){if(t.isEdge()&&t.takesUpSpace())return n(t)}(this,r.get)},r.mult?t[i]=function(){return function(t,n){if(t.isEdge()&&t.takesUpSpace()){var r=t.cy(),i=r.pan(),a=r.zoom();return n(t).map(function(t){return tx(t,a,i)})}}(this,r.get)}:t[i]=function(){return function(t,n){if(t.isEdge()&&t.takesUpSpace()){var r=t.cy();return tx(n(t),r.zoom(),r.pan())}}(this,r.get)},t},{})),aI=function(t,n){this.recycle(t,n)};function aN(){return!1}function aL(){return!0}aI.prototype={instanceString:function(){return"event"},recycle:function(t,n){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=aN,null!=t&&t.preventDefault?(this.type=t.type,this.isDefaultPrevented=t.defaultPrevented?aL:aN):null!=t&&t.type?n=t:this.type=t,null!=n&&(this.originalEvent=n.originalEvent,this.type=null!=n.type?n.type:this.t
1ype,this.cy=n.cy,this.target=n.target,this.position=n.position,this.renderedPosition=n.renderedPosition,this.namespace=n.namespace,this.layout=n.layout),null!=this.cy&&null!=this.position&&null==this.renderedPosition){var r=this.position,i=this.cy.zoom(),a=this.cy.pan();this.renderedPosition={x:r.x*i+a.x,y:r.y*i+a.y}}this.timeStamp=t&&t.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=aL;var t=this.originalEvent;t&&t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.isPropagationStopped=aL;var t=this.originalEvent;t&&t.stopPropagation&&t.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=aL,this.stopPropagation()},isDefaultPrevented:aN,isPropagationStopped:aN,isImmediatePropagationStopped:aN};var az=/^([^.]+)(\.(?:[^.]+))?$/,aO={qualifierCompare:function(t,n){return t===n},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(t){return t},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},aV=Object.keys(aO),aF={};function aj(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:aF,n=arguments.length>1?arguments[1]:void 0,r=0;r<aV.length;r++){var i=aV[r];this[i]=t[i]||aO[i]}this.context=n||this.context,this.listeners=[],this.emitting=0}var aX=aj.prototype,aq=function(t,n,r,i,a,o,s){Z(i)&&(a=i,i=null),s&&(o=null==o?s:eb({},o,s));for(var l=$(r)?r:r.split(/\s+/),u=0;u<l.length;u++){var c=l[u];if(!eo(c)){var h=c.match(az);if(h&&!1===n(t,c,h[1],h[2]?h[2]:null,i,a,o))break}}},aY=function(t,n){return t.addEventFields(t.context,n),new aI(n.type,n)},aW=function(t,n,r){if("event"!==K(r)){if(Q(r))n(t,aY(t,r));else for(var i=$(r)?r:r.split(/\s+/),a=0;a<i.length;a++){var o=i[a];if(!eo(o)){var s=o.match(az);s&&n(t,aY(t,{type:s[1],namespace:s[2]?s[2]:null,target:t.context}))}}}else n(t,r)};aX.on=aX.addListener=function(t,n,r,i,a){return aq(this,function(t,n,r,i,a,o,s){Z(o)&&t.listeners.push({event:n,callback:o,type:r,namespace:i,qual
1ifier:a,conf:s})},t,n,r,i,a),this},aX.one=function(t,n,r,i){return this.on(t,n,r,i,{one:!0})},aX.removeListener=aX.off=function(t,n,r,i){var a=this;0!==this.emitting&&(this.listeners=this.listeners.slice());for(var o=this.listeners,s=function(s){var l=o[s];aq(a,function(n,r,i,a,u,c){if((l.type===i||"*"===t)&&(!a&&".*"!==l.namespace||l.namespace===a)&&(!u||n.qualifierCompare(l.qualifier,u))&&(!c||l.callback===c))return o.splice(s,1),!1},t,n,r,i)},l=o.length-1;l>=0;l--)s(l);return this},aX.removeAllListeners=function(){return this.removeListener("*")},aX.emit=aX.trigger=function(t,n,r){var i=this.listeners,a=i.length;return this.emitting++,$(n)||(n=[n]),aW(this,function(t,o){null!=r&&(a=(i=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}]).length);for(var s=0;s<a;s++)(function(){var r=i[s];if(r.type===o.type&&(!r.namespace||r.namespace===o.namespace||".*"===r.namespace)&&t.eventMatches(t.context,r,o)){var a=[o];null!=n&&function(t,n){for(var r=0;r<n.length;r++){var i=n[r];t.push(i)}}(a,n),t.beforeEmit(t.context,r,o),r.conf&&r.conf.one&&(t.listeners=t.listeners.filter(function(t){return t!==r}));var l=t.callbackContext(t.context,r,o),u=r.callback.apply(l,a);t.afterEmit(t.context,r,o),!1===u&&(o.stopPropagation(),o.preventDefault())}})();t.bubble(t.context)&&!o.isPropagationStopped()&&t.parent(t.context).emit(o,n)},t),this.emitting--,this};var aU={qualifierCompare:function(t,n){return null==t||null==n?null==t&&null==n:t.sameText(n)},eventMatches:function(t,n,r){var i=n.qualifier;return null==i||t!==r.target&&en(r.target)&&i.matches(r.target)},addEventFields:function(t,n){n.cy=t.cy(),n.target=t},callbackContext:function(t,n,r){return null!=n.qualifier?r.target:t},beforeEmit:function(t,n){n.conf&&n.conf.once&&n.conf.onceCollection.removeListener(n.event,n.qualifier,n.callback)},bubble:function(){return!0},parent:function(t){return t.isChild()?t.parent():t.cy()}},aH=function(t){return G(t)?new ae(t):t},aK={createEmitter:function(){for(var t=0;t<this.length;t++){var n=this[t],r=n._private;r.emitter||(r.emitter=new aj(aU,n))}return this},emitter:function(){return this._private.emitter},on:function(t,n,r){for(var i=aH(n),a=0;a<this.length;a++)this[a].emitter().on(t,i,r);return this},removeListener:function(t,n,r){for(var i=aH(n),a=0;a<this.length;a++)this[a].emitter().removeListener(t,i,r);return this},removeAllListeners:function(){for(var t=0;t<this.length;t++)this[t].emitter().removeAllListeners();return this},one:function(t,n,r){for(var i=aH(n),a=0;a<this.length;a++)this[a].emitter().one(t,i,r);return this},once:function(t,n,r){for(var i=aH(n),a=0;a<this.length;a++)this[a].emitter().on(t,i,r,{once:!0,onceCollection:this})},emit:function(t,n){for(var r=0;r<this.length;r++)this[r].emitter().emit(t,n);return this},emitAndNotify:function(t,n){if(0!==this.length)return this.cy().notify(t,this),this.emit(t,n),this}};iG.eventAliasesOn(aK);var aG={nodes:function(t){return this.filter(function(t){return t.isNode()}).filter(t)},edges:function(t){return this.filter(function(t){return t.isEdge()}).filter(t)},byGroup:function(){for(var t=this.spawn(),n=this.spawn(),r=0;r<this.length;r++){var i=this[r];i.isNode()?t.push(i):n.push(i)}return{nodes:t,edges:n}},filter:function(t,n){if(void 0===t)return this;if(G(t)||et(t))return new ae(t).filter(this);if(Z(t)){for(var r=this.spawn(),i=0;i<this.length;i++){var a=this[i];(n?t.apply(n,[a,i,this]):t(a,i,this))&&r.push(a)}return r}return this.spawn()},not:function(t){if(t){G(t)&&(t=this.filter(t));for(var n=this.spawn(),r=0;r<this.length;r++){var i=this[r];t.has(i)||n.push(i)}return n}return this},absoluteComplement:function(){return this.cy().mutableElements().not(this)},intersect:function(t){if(G(t))return this.filter(t);for(var n=this.spawn(),r=this.length<t.length,i=r?this:t,a=r?t:this,o=0;o<i.length;o++){var s=i[o];a.has(s)&&n.push(s)}return n},xor:function(t){var n=this._private.cy;G(t)&&(t=n.$(t));var r=this.spawn(),i=t,a=function(t,n){for(var i=0;i<t.length;i++){var a=t[i],o=a._private.data.id;n.hasElementWithId(o)||r.push(a)}};return a(this,i),a(i,this),r},diff:function(t){var n=this._private.cy;G(t)&&(t=n.$(t));var r=this.spawn(),i=this.spawn(),a=this.spawn(),o=t,s=function(t,n,r){for(var i=0;i<t.length;i++){var o=t[i],s=o._private.data.id;
1n.hasElementWithId(s)?a.merge(o):r.push(o)}};return s(this,o,r),s(o,this,i),{left:r,right:i,both:a}},add:function(t){var n=this._private.cy;if(!t)return this;if(G(t)){var r=t;t=n.mutableElements().filter(r)}for(var i=this.spawnSelf(),a=0;a<t.length;a++){var o=t[a];this.has(o)||i.push(o)}return i},merge:function(t){var n=this._private,r=n.cy;if(!t)return this;if(t&&G(t)){var i=t;t=r.mutableElements().filter(i)}for(var a=n.map,o=0;o<t.length;o++){var s=t[o],l=s._private.data.id;if(!a.has(l)){var u=this.length++;this[u]=s,a.set(l,{ele:s,index:u})}}return this},unmergeAt:function(t){var n=this[t].id(),r=this._private.map;this[t]=void 0,r.delete(n);var i=t===this.length-1;if(this.length>1&&!i){var a=this.length-1,o=this[a],s=o._private.data.id;this[a]=void 0,this[t]=o,r.set(s,{ele:o,index:t})}return this.length--,this},unmergeOne:function(t){t=t[0];var n=this._private,r=t._private.data.id,i=n.map.get(r);if(!i)return this;var a=i.index;return this.unmergeAt(a),this},unmerge:function(t){var n=this._private.cy;if(!t)return this;if(t&&G(t)){var r=t;t=n.mutableElements().filter(r)}for(var i=0;i<t.length;i++)this.unmergeOne(t[i]);return this},unmergeBy:function(t){for(var n=this.length-1;n>=0;n--)t(this[n])&&this.unmergeAt(n);return this},map:function(t,n){for(var r=[],i=0;i<this.length;i++){var a=this[i],o=n?t.apply(n,[a,i,this]):t(a,i,this);r.push(o)}return r},reduce:function(t,n){for(var r=n,i=0;i<this.length;i++)r=t(r,this[i],i,this);return r},max:function(t,n){for(var r,i=-1/0,a=0;a<this.length;a++){var o=this[a],s=n?t.apply(n,[o,a,this]):t(o,a,this);s>i&&(i=s,r=o)}return{value:i,ele:r}},min:function(t,n){for(var r,i=1/0,a=0;a<this.length;a++){var o=this[a],s=n?t.apply(n,[o,a,this]):t(o,a,this);s<i&&(i=s,r=o)}return{value:i,ele:r}}};aG.u=aG["|"]=aG["+"]=aG.union=aG.or=aG.add,aG["\\"]=aG["!"]=aG["-"]=aG.difference=aG.relativeComplement=aG.subtract=aG.not,aG.n=aG["&"]=aG["."]=aG.and=aG.intersection=aG.intersect,aG["^"]=aG["(+)"]=aG["(-)"]=aG.symmetricDifference=aG.symdiff=aG.xor,aG.fnFilter=aG.filterFn=aG.stdFilter=aG.filter,aG.complement=aG.abscomp=aG.absoluteComplement;var aZ=function(t,n){var r=t.cy().hasCompoundNodes();function i(t){var n=t.pstyle("z-compound-depth");return"auto"===n.value?r?t.zDepth():0:"bottom"===n.value?-1:"top"===n.value?eK:0}var a=i(t)-i(n);if(0!==a)return a;function o(t){return"auto"===t.pstyle("z-index-compare").value&&t.isNode()?1:0}var s=o(t)-o(n);if(0!==s)return s;var l=t.pstyle("z-index").value-n.pstyle("z-index").value;return 0!==l?l:t.poolIndex()-n.poolIndex()},a$={forEach:function(t,n){if(Z(t))for(var r=this.length,i=0;i<r;i++){var a=this[i];if(!1===(n?t.apply(n,[a,i,this]):t(a,i,this)))break}return this},toArray:function(){for(var t=[],n=0;n<this.length;n++)t.push(this[n]);return t},slice:function(t,n){var r=[],i=this.length;null==n&&(n=i),null==t&&(t=0),t<0&&(t=i+t),n<0&&(n=i+n);for(var a=t;a>=0&&a<n&&a<i;a++)r.push(this[a]);return this.spawn(r)},size:function(){return this.length},eq:function(t){return this[t]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return 0===this.length},nonempty:function(){return!this.empty()},sort:function(t){if(!Z(t))return this;var n=this.toArray().sort(t);return this.spawn(n)},sortByZIndex:function(){return this.sort(aZ)},zDepth:function(){var t=this[0];if(t){var n=t._private;if("nodes"===n.group){var r=n.data.parent?t.parents().size():0;return t.isParent()?r:eK-1}var i=n.source,a=n.target;return Math.max(i.zDepth(),a.zDepth(),0)}}};a$.each=a$.forEach,oZ="undefined",("undefined"==typeof Symbol?"undefined":d(Symbol))!=oZ&&d(Symbol.iterator)!=oZ&&(a$[Symbol.iterator]=function(){var t=this,n={value:void 0,done:!1},r=0,i=this.length;return l({next:function(){return r<i?n.value=t[r++]:(n.value=void 0,n.done=!0),n}},Symbol.iterator,function(){return this})});var aQ=e9({nodeDimensionsIncludeLabels:!1}),aJ={layoutDimensions:function(t){var n;if(t=aQ(t),this.takesUpSpace()){if(t.nodeDimensionsIncludeLabels){var r=this.boundingBox();n={w:r.w,h:r.h}}else n={w:this.outerWidth(),h:this.outerHeight()}}else n={w:0,h:0};return 0!==n.w&&0!==n.h||(n.w=n.h=1),n},layoutPositions:function(t,n,r){var i=this.nodes().filter(function(t){return!t.isParent()}),a=this.cy(),o=n.eles,s=function(t){return t.id()},l=el(r,s);t.emit({type:"layoutstart",layout:t}),t.animations=[];var u=n.spacingFactor&&1!==n.spacingFactor,c=function(){if(!u)return null;for(var t=tM(),n=0;n<i.length;n++){var r=l(i[n],n);tI(t,r.x,r.y)}return t}(),h=el(function(t,r){var i,a,o,s,h=l(t,r);return u&&(i=Math.abs(n.spacingFactor),a=h,o=c.x1+c.w/2,s=c.y1+c.h/2,h={x:o+(a.x-o)*i,y:s+(a.y-s)*i}),null!=n.transform&&(h=n.transform(t,h)),h},s);if(n.animate){for(var d=0;d<i.length;d++){var f=i[d],p=h(f,d);if(null==n.animateFilter||n.animateFilter(f,d)){var g=f.animation({position:p,duration:n.animationDuration,easing:n.animationEasing});t.animations.push(g)}else f.position(p)}if(n.fit){var v=a.animation({fit:{boundingBox:o.boundingBoxAt(h),padding:n.padding},duration:n.animationDuration,easing:n.animationEasing});t.animations.push(v)}else if(void 0!==n.zoom&&void 0!==n.pan){var y=a.animation({zoom:n.zoom,pan:n.pan,duration:n.animationDuration,easing:n.animationEasing});t.animations.push(y)}t.animations.forEach(function(t){return t.play()}),t.one("layoutready",n.ready),t.emit({type:"layoutready",layout:t}),n2.all(t.animations.map(function(t){return t.promise()})).then(function(){t.one("layoutstop",n.stop),t.emit({type:"layoutstop",layout:t})})}else i.positions(h),n.fit&&a.fit(n.eles,n.padding),null!=n.zoom&&a.zoom(n.zoom),n.pan&&a.pan(n.pan),t.one("layoutready",n.ready),t.emit({type:"layoutready",layout:t}),t.one("layoutstop",n.stop),t.emit({type:"layoutstop",layout:t});return this},layout:function(t){return this.cy().makeLayout(eb({},t,{eles:this}))}};function a0(t,n,r){var i,a=r._private,o=a.styleCache=a.styleCache||[];return null!=(i=o[t])?i:i=o[t]=n(r)}function a1(t,n){return t=eX(t),function(r){return a0(t,n,r)}}function a2(t,n){t=eX(t);var r=function(t){return n.call(t)};return function(){var n=this[0];if(n)return a0(t,r,n)}}aJ.createLayout=aJ.makeLayout=aJ.layout;var a5={recalculateRenderedStyle:function(t){var n=this.cy(),r=n.renderer(),i=n.styleEnabled();return r&&i&&r.recalculateRenderedStyle(this,t),this},dirtyStyleCache:function(){var t,n=this.cy(),r=function(t){return t._private.styleCache=null};return n.hasCompoundNodes()?((t=this.spawnSelf().merge(this.descendants()).merge(this.parents())).merge(t.connectedEdges()),t.forEach(r)):this.forEach(function(t){r(t),t.connectedEdges().forEac
vendor: 7,601 bytes, line 1
1h(r)}),this},updateStyle:function(t){var n=this._private.cy;if(!n.styleEnabled())return this;if(n.batching())return n._private.batchStyleEles.merge(this),this;var r=this;t=!(!t&&void 0!==t),n.hasCompoundNodes()&&(r=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var i=r;return t?i.emitAndNotify("style"):i.emit("style"),r.forEach(function(t){return t._private.styleDirty=!0}),this},cleanStyle:function(){var t=this.cy();if(t.styleEnabled())for(var n=0;n<this.length;n++){var r=this[n];r._private.styleDirty&&(r._private.styleDirty=!1,t.style().apply(r))}},parsedStyle:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=this[0],i=r.cy();if(i.styleEnabled()&&r){r._private.styleDirty&&(r._private.styleDirty=!1,i.style().apply(r));var a=r._private.style[t];return null!=a?a:n?i.style().getDefaultProperty(t):null}},numericStyle:function(t){var n=this[0];if(n.cy().styleEnabled()&&n){var r=n.pstyle(t);return void 0!==r.pfValue?r.pfValue:r.value}},numericStyleUnits:function(t){var n=this[0];if(n.cy().styleEnabled())return n?n.pstyle(t).units:void 0},renderedStyle:function(t){var n=this.cy();if(!n.styleEnabled())return this;var r=this[0];return r?n.style().getRenderedStyle(r,t):void 0},style:function(t,n){var r=this.cy();if(!r.styleEnabled())return this;var i=r.style();if(Q(t))i.applyBypass(this,t,!1),this.emitAndNotify("style");else if(G(t)){if(void 0===n){var a=this[0];return a?i.getStylePropertyValue(a,t):void 0}i.applyBypass(this,t,n,!1),this.emitAndNotify("style")}else if(void 0===t){var o=this[0];return o?i.getRawStyle(o):void 0}return this},removeStyle:function(t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(void 0===t)for(var i=0;i<this.length;i++){var a=this[i];r.removeAllBypasses(a,!1)}else{t=t.split(/\s+/);for(var o=0;o<this.length;o++){var s=this[o];r.removeBypasses(s,t,!1)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var t=this.cy();if(!t.styleEnabled())return 1;var n=t.hasCompoundNodes(),r=this[0];if(r){var i=r._private,a=r.pstyle("opacity").value;if(!n)return a;var o=i.data.parent?r.parents():null;if(o)for(var s=0;s<o.length;s++)a*=o[s].pstyle("opacity").value;return a}},transparent:function(){if(!this.cy().styleEnabled())return!1;var t=this[0],n=t.cy().hasCompoundNodes();return t?n?0===t.effectiveOpacity():0===t.pstyle("opacity").value:void 0},backgrounding:function(){return!!this.cy().styleEnabled()&&!!this[0]._private.backgrounding}};function a3(t,n){var r=t._private.data.parent?t.parents():null;if(r){for(var i=0;i<r.length;i++)if(!n(r[i]))return!1}return!0}function a4(t){var n=t.ok,r=t.edgeOkViaNode||t.ok,i=t.parentOk||t.ok;return function(){var t=this.cy();if(!t.styleEnabled())return!0;var a=this[0],o=t.hasCompoundNodes();if(a){var s=a._private;if(!n(a))return!1;if(a.isNode())return!o||a3(a,i);var l=s.source,u=s.target;return r(l)&&(!o||a3(l,r))&&(l===u||r(u)&&(!o||a3(u,r)))}}}var a9=a1("eleTakesUpSpace",function(t){return"element"===t.pstyle("display").value&&0!==t.width()&&(!t.isNode()||0!==t.height())});a5.takesUpSpace=a2("takesUpSpace",a4({ok:a9}));var a6=a1("eleInteractive",function(t){return"yes"===t.pstyle("events").value&&"visible"===t.pstyle("visibility").value&&a9(t)}),a8=a1("parentInteractive",function(t){return"visible"===t.pstyle("visibility").value&&a9(t)});a5.interactive=a2("interactive",a4({ok:a6,parentOk:a8,edgeOkViaNode:a9})),a5.noninteractive=function(){var t=this[0];if(t)return!t.interactive()};var a7=a1("eleVisible",function(t){return"visible"===t.pstyle("visibility").value&&0!==t.pstyle("opacity").pfValue&&a9(t)});a5.visible=a2("visible",a4({ok:a7,edgeOkViaNode:a9})),a5.hidden=function(){var t=this[0];if(t)return!t.visible()},a5.isBundledBezier=a2("isBundledBezier",function(){return!!this.cy().styleEnabled()&&!this.removed()&&"bezier"===this.pstyle("curve-style").value&&this.takesUpSpace()}),a5.bypass=a5.css=a5.style,a5.renderedCss=a5.renderedStyle,a5.removeBypass=a5.removeCss=a5.removeStyle,a5.pstyle=a5.parsedStyle;var oe={};function ot(t){return function(){var n=arguments,r=[];if(2===n.length){var i=n[0],a=n[1];this.on(t.event,i,a)}else if(1===n.length&&Z(n[0])){var o=n[0];this.on(t.event,o)}else if(0===n.length||1===n.length&&$(n[0])){for(var s=1===n.length?n[0]:null,l=0;l<this.length;l++){var u=this[l],c=!t.ableField||u._private[t.ableField],h=u._private[t.field]!=t.value;if(t.overrideAble){var d=t.overrideAble(u);if(void 0!==d&&(c=d,!d))return this}c&&(u._private[t.field]=t.value,h&&r.push(u))}var f=this.spawn(r);f.updateStyle(),f.emit(t.event),s&&f.emit(s)}return this}}function on(t){oe[t.field]=function(){var n=this[0];if(n){if(t.overrideField){var r=t.overrideField(n);if(void 0!==r)return r}return n._private[t.field]}},oe[t.on]=ot({event:t.on,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!0}),oe[t.off]=ot({event:t.off,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!1})}on({field:"locked",overrideField:function(t){return!!t.cy().autolock()||void 0},on:"lock",off:"unlock"}),on({field:"grabbable",overrideField:function(t){return!t.cy().autoungrabify()&&!t.pannable()&&void 0},on:"grabify",off:"ungrabify"}),on({field:"selected",ableField:"selectable",overrideAble:function(t){return!t.cy().autounselectify()&&void 0},on:"select",off:"unselect"}),on({field:"selectable",overrideField:function(t){return!t.cy().autounselectify()&&void 0},on:"selectify",off:"unselectify"}),oe.deselect=oe.unselect,oe.grabbed=function(){var t=this[0];if(t)return t._private.grabbed},on({field:"active",on:"activate",off:"unactivate"}),on({field:"pannable",on:"panify",off:"unpanify"}),oe.inactive=function(){var t=this[0];if(t)return!t._private.active};var or={},oi=function(t){return function(n){for(var r=[],i=0;i<this.length;i++){var a=this[i];if(a.isNode()){for(var o=!1,s=a.connectedEdges(),l=0;l<s.length;l++){var u=s[l],c=u.source(),h=u.target();if(t.noIncomingEdges&&h===a&&c!==a||t.noOutgoingEdges&&c===a&&h!==a){o=!0;break}}o||r.push(a)}}return this.spawn(r,!0).filter(n)}},oa=function(t){return function(n){for(var r=[],i=0;i<this.length;i++){var a=this[i];if(a.isNode())for(var o=a.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target();t.outgoing&&u===a?(r.push(l),r.push(c)):t.incoming&&c===a&&(r.push(l),r.push(u))}}return this.spawn(r,!0).filter(n)}},oo=function(t){return function(n){for(var r=this,i=[],a={};;){var o=t.outgoing?r.outgoers():r.incomers();if(0===o.length)break;for(var s=!1,l=0;l<o.length;l++){var u=o[l],c=u.id();a[c]||(a[c]=!0,i.push(u),s=!0)}if(!s)break;r=o}return this.spawn(i,!0).filter(n)}};function os(t){return function(n){for(var r=[],i=0;i<this.length;i++){var a=this[i]._private[t.attr];a&&r.push(a)}return this.spawn(r,!0).filter(n)}}function ol(t){return function(n){var r=[],i=this._private.cy,a=t||{};G(n)&&(n=i.$(n));for(var o=0;o<n.length;o++)for(var s=n[o]._private.edges,l=0;l<s.length;l++){var u=s[l],c=u._private.data,h=this.hasElementWithId(c.source)&&n.hasElementWithId(c.target),d=n.hasElementWithId(c.source)&&this.hasElementWithId(c.target);if(h||d){if((a.thisIsSrc||a.thisIsTgt)&&(a.thisIsSrc&&!h||a.thisIsTgt&&!d))continue;r.push(u)}}return this.spawn(r,!0)}}function ou(t){return t=eb({},{codirected:!1},t),function(n){for(var r=[],i=this.edges(),a=t,o=0;o<i.length;o++)for(var s=i[o]._private,l=s.source,u=l._private.data.id,c=s.data.target,h=l._private.edges,d=0;d<h.length;d++){var f=h[d],p=f._private.data,g=p.target,v=p.source,y=g===c&&v===u,m=u===g&&c===v;
1(a.codirected&&y||!a.codirected&&(y||m))&&r.push(f)}return this.spawn(r,!0).filter(n)}}or.clearTraversalCache=function(){for(var t=0;t<this.length;t++)this[t]._private.traversalCache=null},eb(or,{roots:oi({noIncomingEdges:!0}),leaves:oi({noOutgoingEdges:!0}),outgoers:aa(oa({outgoing:!0}),"outgoers"),successors:oo({outgoing:!0}),incomers:aa(oa({incoming:!0}),"incomers"),predecessors:oo({})}),eb(or,{neighborhood:aa(function(t){for(var n=[],r=this.nodes(),i=0;i<r.length;i++)for(var a=r[i],o=a.connectedEdges(),s=0;s<o.length;s++){var l=o[s],u=l.source(),c=l.target(),h=a===u?c:u;h.length>0&&n.push(h[0]),n.push(l[0])}return this.spawn(n,!0).filter(t)},"neighborhood"),closedNeighborhood:function(t){return this.neighborhood().add(this).filter(t)},openNeighborhood:function(t){return this.neighborhood(t)}}),or.neighbourhood=or.neighborhood,or.closedNeighbourhood=or.closedNeighborhood,or.openNeighbourhood=or.openNeighborhood,eb(or,{source:aa(function(t){var n,r=this[0];return r&&(n=r._private.source||r.cy().collection()),n&&t?n.filter(t):n},"source"),target:aa(function(t){var n,r=this[0];return r&&(n=r._private.target||r.cy().collection()),n&&t?n.filter(t):n},"target"),sources:os({attr:"source"}),targets:os({attr:"target"})}),eb(or,{edgesWith:aa(ol(),"edgesWith"),edgesTo:aa(ol({thisIsSrc:!0}),"edgesTo")}),eb(or,{connectedEdges:aa(function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];if(i.isNode())for(var a=i._private.edges,o=0;o<a.length;o++){var s=a[o];n.push(s)}}return this.spawn(n,!0).filter(t)},"connectedEdges"),connectedNodes:aa(function(t){for(var n=[],r=0;r<this.length;r++){var i=this[r];i.isEdge()&&(n.push(i.source()[0]),n.push(i.target()[0]))}return this.spawn(n,!0).filter(t)},"connectedNodes"),parallelEdges:aa(ou(),"parallelEdges"),codirectedEdges:aa(ou({codirected:!0}),"codirectedEdges")}),eb(or,{components:function(t){var n=this,r=n.cy(),i=r.collection(),a=null==t?n.nodes():t.nodes(),o=[];null!=t&&a.empty()&&(a=t.sources());var s=function(t,n){i.merge(t),a.unmerge(t),n.merge(t)};if(a.empty())return n.spawn();do(function(){var t=r.collection();o.push(t);var i=a[0];s(i,t),n.bfs({directed:!1,roots:i,visit:function(n){return s(n,t)}}
vendor: 4,231 bytes, line 1
1),t.forEach(function(r){r.connectedEdges().forEach(function(r){n.has(r)&&t.has(r.source())&&t.has(r.target())&&t.merge(r)})})})();while(a.length>0);return o},component:function(){var t=this[0];return t.cy().mutableElements().components(t)[0]}}),or.componentsOf=or.components;var oc=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==t){var a=new tt,o=!1;if(n){if(n.length>0&&Q(n[0])&&!en(n[0])){o=!0;for(var s=[],l=new tr,u=0,c=n.length;u<c;u++){var h=n[u];null==h.data&&(h.data={});var d=h.data;if(null==d.id)d.id=e5();else if(t.hasElementWithId(d.id)||l.has(d.id))continue;var f=new ti(t,h,!1);s.push(f),l.add(d.id)}n=s}}else n=[];this.length=0;for(var p=0,g=n.length;p<g;p++){var v=n[p][0];if(null!=v){var y=v._private.data.id;r&&a.has(y)||(r&&a.set(y,{index:this.length,ele:v}),this[this.length]=v,this.length++)}}this._private={eles:this,cy:t,get map(){return null==this.lazyMap&&this.rebuildMap(),this.lazyMap},set map(e){this.lazyMap=e},rebuildMap:function(){for(var t=this.lazyMap=new tt,n=this.eles,r=0;r<n.length;r++){var i=n[r];t.set(i.id(),{index:r,ele:i})}}},r&&(this._private.map=a),o&&!i&&this.restore()}else eJ("A collection must have a reference to the core")},oh=ti.prototype=oc.prototype=Object.create(Array.prototype);oh.instanceString=function(){return"collection"},oh.spawn=function(t,n){return new oc(this.cy(),t,n)},oh.spawnSelf=function(){return this.spawn(this)},oh.cy=function(){return this._private.cy},oh.renderer=function(){return this._private.cy.renderer()},oh.element=function(){return this[0]},oh.collection=function(){return er(this)?this:new oc(this._private.cy,[this])},oh.unique=function(){return new oc(this._private.cy,this,!0)},oh.hasElementWithId=function(t){return t=""+t,this._private.map.has(t)},oh.getElementById=function(t){t=""+t;var n=this._private.cy,r=this._private.map.get(t);return r?r.ele:new oc(n)},oh.$id=oh.getElementById,oh.poolIndex=function(){var t=this._private.cy._private.elements,n=this[0]._private.data.id;return t._private.map.get(n).index},oh.indexOf=function(t){var n=t[0]._private.data.id;return this._private.map.get(n).index},oh.indexOfId=function(t){return t=""+t,this._private.map.get(t).index},oh.json=function(t){var n=this.element(),r=this.cy();if(null==n&&t)return this;if(null!=n){var i=n._private;if(Q(t)){if(r.startBatch(),t.data){n.data(t.data);var a=i.data;if(n.isEdge()){var o=!1,s={},l=t.data.source,u=t.data.target;null!=l&&l!=a.source&&(s.source=""+l,o=!0),null!=u&&u!=a.target&&(s.target=""+u,o=!0),o&&(n=n.move(s))}else{var c="parent"in t.data,h=t.data.parent;c&&(null!=h||null!=a.parent)&&h!=a.parent&&(void 0===h&&(h=null),null!=h&&(h=""+h),n=n.move({parent:h}))}}t.position&&n.position(t.position);var d=function(r,a,o){var s=t[r];null!=s&&s!==i[r]&&(s?n[a]():n[o]())};return d("removed","remove","restore"),d("selected","select","unselect"),d("selectable","selectify","unselectify"),d("locked","lock","unlock"),d("grabbable","grabify","ungrabify"),d("pannable","panify","unpanify"),null!=t.classes&&n.classes(t.classes),r.endBatch(),this}if(void 0===t){var f={data:e2(i.data),position:e2(i.position),group:i.group,removed:i.removed,selected:i.selected,selectable:i.selectable,locked:i.locked,grabbable:i.grabbable,pannable:i.pannable,classes:null};f.classes="";var p=0;return i.classes.forEach(function(t){return f.classes+=0==p++?t:" "+t}),f}}},oh.jsons=function(){for(var t=[],n=0;n<this.length;n++){var r=this[n].json();t.push(r)}return t},oh.clone=function(){for(var t=this.cy(),n=[],r=0;r<this.length;r++){var i=new ti(t,this[r].json(),!1);n.push(i)}return new oc(t,n)},oh.copy=oh.clone,oh.restore=function(){for(var t,n,r=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=this.cy(),o=a._private,s=[],l=[],u=0,c=this.length;u<c;u++){var h=this[u];i&&!h.removed()||(h.isNode()?s.push(h):l.push(h))}t=s.concat(l);var d=function(){t.splice(n,1),n--};for(n=0;n<t.length;n++){var f=t[n],p=f._private,g=p.data;if(f.clearTraversalCache(),i||p.removed){if(void 0===g.id)g.id=e5();else if(J(g.id))g.id=""+g.id;else{if(eo(g.id)||!G(g.id)){eJ("Can not create element with invali
1d string ID `"+g.id+"`"),d();continue}if(a.hasElementWithId(g.id)){eJ("Can not create second element with ID `"+g.id+"`"),d();continue}}}var v=g.id;if(f.isNode()){var y=p.position;null==y.x&&(y.x=0),null==y.y&&(y.y=0)}if(f.isEdge()){for(var m=["source","target"],b=m.length,x=!1,w=0;w<b;w++){var E=m[w],k=g[E];J(k)&&(k=g[E]=""+g[E]),null==k||""===k?(eJ("Can not create edge `"+v+"` with unspecified "+E),x=!0):a.hasElementWithId(k)||(eJ("Can not create edge `"+v+"` with nonexistant "+E+" `"+k+"`"),x=!0)}if(x){d();continue}var T=a.getElementById(g.source),C=a.getElementById(g.target);T.same(C)?T._private.edges.push(f):(T._private.edges.push(f),C._private.edges.push(f)),f._private.source=T,f._private.target=C}p.map=new tt,p.map.set(v,{ele:f,index:0}),p.removed=!1,i&&a.addToPool(f)}for(var P=0;P<s.length;P++){var S=s[P],B=S._private.data;J(B.parent)&&(B.parent=""+B.parent);var D=B.parent;if(null!=D||S._private.parent){var _=S._private.parent?a.collection().merge(S._private.parent):a.getElementById(D);if(_.empty())B.parent=void 0;else if(_[0].removed())e1("Node added with missing parent, reference to parent removed"),B.parent=void 0,S._private.parent=null;else{for(var A=!1,M=_;!M.empty();){if(S.same(M)){A=!0,B.parent=void 0;break}M=M.parent()}A||(_[0]._private.children.push(S),S._private.parent=_[0],o.hasCompoundNodes=!0)}}}if(t.length>0){for(var R=t.length===this.length?this:new oc(a,t),I=0;I<R.length;I++){var N=R[I];N.isNode()||(N.parallelEdges().clearTraversalCache(),N.source().clearTraversalCache(),N.target().clearTraversalCache())}(o.hasCompoundNodes?a.collection().merge(R).merge(R.connectedNodes()).merge(R.parent()):R).dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(r),r?R.emitAndNotify("add"):i&&R.emit("add")}return this},oh.removed=function(){var t=this[0];return t&&t._private.removed},oh.inside=function(){var t=this[0];return t&&!t._private.removed},oh.remove=function(){for(var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=[],i={},a=this._private.cy,o=0,s=this.length;o<s;o++)(function t(a){var o=i[a.id()];n&&a.removed()||o||(i[a.id()]=!0,a.isNode()?(r.push(a),function(n){for(var r=n._private.edges,i=0;i<r.length;i++)t(r[i])}(a),function(n){for(var r=n._private.children,i=0;i<r.length;i++)t(r[i])}(a)):r.unshift(a))})(this[o]);function l(t,n){e6(t._private.edges,n),t.clearTraversalCache()}var u=[];u.ids={},this.dirtyCompoundBoundsCache(),n&&a.removeFromPool(r);for(var c=0;c<r.length;c++){var h=r[c];
1if(h.isEdge()){var d=h.source()[0],f=h.target()[0];l(d,h),l(f,h);for(var p=h.parallelEdges(),g=0;g<p.length;g++){var v=p[g];(function(t){t.clearTraversalCache()})(v),v.isBundledBezier()&&v.dirtyBoundingBoxCache()}}else{var y=h.parent();0!==y.length&&function(t,n){n=n[0];var r=(t=t[0])._private.children,i=t.id();e6(r,n),n._private.parent=null,u.ids[i]||(u.ids[i]=!0,u.push(t))}(y,h)}n&&(h._private.removed=!0)}var m=a._private.elements;a._private.hasCompoundNodes=!1;for(var b=0;b<m.length;b++)if(m[b].isParent()){a._private.hasCompoundNodes=!0;break}var x=new oc(this.cy(),r);x.size()>0&&(t?x.emitAndNotify("remove"):n&&x.emit("remove"));for(var w=0;w<u.length;w++){var E=u[w];n&&E.removed()||E.updateStyle()}return x},oh.move=function(t){var n=this._private.cy,r=this,i=function(t){return null==t?t:""+t};if(void 0!==t.source||void 0!==t.target){var a=i(t.source),o=i(t.target),s=null!=a&&n.hasElementWithId(a),l=null!=o&&n.hasElementWithId(o);(s||l)&&(n.batch(function(){r.remove(!1,!1),r.emitAndNotify("moveout");for(var t=0;t<r.length;t++){var n=r[t],i=n._private.data;n.isEdge()&&(s&&(i.source=a),l&&(i.target=o))}r.restore(!1,!1)}),r.emitAndNotify("move"))}else if(void 0!==t.parent){var u=i(t.parent);if(null===u||n.hasElementWithId(u)){var c=null===u?void 0:u;n.batch(function(){var t=r.remove(!1,!1);t.emitAndNotify("moveout");for(var n=0;n<r.length;n++){var i=r[n],a=i._private.data;i.isNode()&&(a.parent=c)}t.restore(!1,!1)}),r.emitAndNotify("move")}}return this},[nG,iZ,i$,an,ao,ai,af,aR,aK,aG,{isNode:function(){return"nodes"===this.group()},isEdge:function(){return"edges"===this.group()},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var t=this[0];if(t)return t._private.group}},a$,aJ,a5,oe,or].forEach(function(t){eb(oh,t)});var od=function(){function t(t){return-t.tension*t.x-t.friction*t.v}function n(n,r,i){var a={x:n.x+i.dx*r,v:n.v+i.dv*r,tension:n.tension,friction:n.friction};return{dx:a.v,dv:t(a)}}return function r(i,a,o){var s,l,u,c,h,d,f,p,g,v,y={x:-1,v:0,tension:null,friction:null},m=[0],b=0;for(i=parseFloat(i)||500,a=parseFloat(a)||20,o=o||null,y.tension=i,y.friction=a,g=(p=null!==o)?(b=r(i,a))/o*.016:.016;l={dx:(s=v||y).v,dv:t(s)},u=n(s,.5*g,l),c=n(s,.5*g,u),h=n(s,g,c),d=1/6*(l.dx+2*(u.dx+c.dx)+h.dx),f=1/6*(l.dv+2*(u.dv+c.dv)+h.dv),s.x=s.x+d*g,s.v=s.v+f*g,v=s,m.push(1+v.x),b+=16,Math.abs(v.x)>1e-4&&Math.abs(v.v)>1e-4;);return p?function(t){return m[t*(m.length-1)|0]}:b}}(),of=function(t,n,r,i){var a=function(t,n,r,i){var a="undefined"!=typeof Float32Array;if(4!=arguments.length)return!1;for(var o=0;o<4;++o)if("number"!=typeof arguments[o]||isNaN(arguments[o])||!isFinite(arguments[o]))return!1;t=Math.min(t,1),r=Math.min(r,1),t=Math.max(t,0),r=Math.max(r,0);var s=a?new Float32Array(11):Array(11);function l(t,n,r){return(((1-3*r+3*n)*t+(3*r-6*n))*t+3*n)*t}function u(t,n,r){return 3*(1-3*r+3*n)*t*t+2*(3*r-6*n)*t+3*n}var c=!1,h=function(a){return c||(c=!0,t===n&&r===i||function(){for(var n=0;n<11;++n)s[n]=l(.1*n,t,r)}()),t===n&&r===i?a:0===a?0:1===a?1:l(function(n){for(var i=0,a=1;10!==a&&s[a]<=n;++a)i+=.1;var o=i+(n-s[--a])/(s[a+1]-s[a])*.1,c=u(o,t,r);return c>=.001?function(n,i){for(var a=0;a<4;++a){var o=u(i,t,r);if(0===o)break;i-=(l(i,t,r)-n)/o}return i}(n,o):0===c?o:function(n,i,a){var o,s,u=0;do(o=l(s=i+(a-i)/2,t,r)-n)>0?a=s:i=s;while(Math.abs(o)>1e-7&&++u<10);return s}(n,i,i+.1)}(a),n,i)};h.getControlPoints=function(){return[{x:t,y:n},{x:r,y:i}]};var d="generateBezier("+[t,n,r,i]+")";return h.toString=function(){return d},h}(t,n,r,i);return function(t,n,r){return t+(n-t)*a(r)}},op={linear:function(t,n,r){return t+(n-t)*r},ease:of(.25,.1,.25,1),"ease-in":of(.42,0,1,1),"ease-out":of(0,0,.58,1),"ease-in-out":of(.42,0,.58,1),"ease-in-sine":of(.47,0,.745,.715),"ease-out-sine":of(.39,.575,.565,1),"ease-in-out-sine":of(.445,.05,.55,.95),"ease-in-quad":of(.55,.085,.68,.53),"ease-out-quad":of(.25,.46,.45,.94),"ease-in-out-quad":of(.455,.03,.515,.955),"ease-in-cubic":of(.55,.055,.675,.19),"ease-out-cubic":of(.215,.61,.355,1),"ease-in-out-cubic":of(.645,.045,.355,1),"ease-in-quart":of(.895,.03,.685,.22),"ease-out-quart":of(.165,.84,.44,1),"ease-in-out-quart":of(.7
17,0,.175,1),"ease-in-quint":of(.755,.05,.855,.06),"ease-out-quint":of(.23,1,.32,1),"ease-in-out-quint":of(.86,0,.07,1),"ease-in-expo":of(.95,.05,.795,.035),"ease-out-expo":of(.19,1,.22,1),"ease-in-out-expo":of(1,0,0,1),"ease-in-circ":of(.6,.04,.98,.335),"ease-out-circ":of(.075,.82,.165,1),"ease-in-out-circ":of(.785,.135,.15,.86),spring:function(t,n,r){if(0===r)return op.linear;var i=od(t,n,r);return function(t,n,r){return t+(n-t)*i(r)}},"cubic-bezier":of};function og(t,n,r,i,a){if(1===i||n===r)return r;var o=a(n,r,i);return null==t||((t.roundValue||t.color)&&(o=Math.round(o)),void 0!==t.min&&(o=Math.max(o,t.min)),void 0!==t.max&&(o=Math.min(o,t.max))),o}function ov(t,n){return null!=t.pfValue||null!=t.value?null==t.pfValue||null!=n&&"%"===n.type.units?t.value:t.pfValue:t}function oy(t,n,r,i,a){var o=null!=a?a.type:null;r<0?r=0:r>1&&(r=1);var s=ov(t,a),l=ov(n,a);if(J(s)&&J(l))return og(o,s,l,r,i);if($(s)&&$(l)){for(var u=[],c=0;c<l.length;c++){var h=s[c],d=l[c];if(null!=h&&null!=d){var f=og(o,h,d,r,i);u.push(f)}else u.push(d)}return u}}function om(t,n){return null!=t&&null!=n&&(!(!J(t)||!J(n))||!(!t||!n))}function ob(t,n){var r=n._private.aniEles,i=[];function a(n,r){var a=n._private,o=a.animation.current,s=a.animation.queue,l=!1;if(0===o.length){var u=s.shift();u&&o.push(u)}for(var c=function(t){for(var n=t.length-1;n>=0;n--)(0,t[n])();t.splice(0,t.length)},h=o.length-1;h>=0;h--){var d=o[h],f=d._private;f.stopped?(o.splice(h,1),f.hooked=!1,f.playing=!1,f.started=!1,c(f.frames)):(f.playing||f.applying)&&(f.playing&&f.applying&&(f.applying=!1),f.started||function(t,n,r,i){var a=n._private;a.started=!0,a.startTime=r-a.progress*a.duration}(0,d,t),function(t,n,r,i){var a=!i,o=t._private,s=n._private,l=s.easing,u=s.startTime,c=(i?t:t.cy()).style();s.easingImpl||(null==l?s.easingImpl=op.linear:(h=G(l)?c.parse("transition-timing-function",l).value:l,G(h)?(d=h,f=[]):(d=h[1],f=h.slice(2).map(function(t){return+t})),f.length>0?("spring"===d&&f.push(s.duration),s.easingImpl=op[d].apply(null,f)):s.easingImpl=op[d]));var h,d,f,p,g=s.easingImpl;if(p=0===s.duration?1:(r-u)/s.duration,s.applying&&(p=s.progress),p<0?p=0:p>1&&(p=1),null==s.delay){var v=s.startPosition,y=s.position;if(y&&a&&!t.locked()){var m={};om(v.x,y.x)&&(m.x=oy(v.x,y.x,p,g)),om(v.y,y.y)&&(m.y=oy(v.y,y.y,p,g)),t.position(m)}var b=s.startPan,x=s.pan,w=o.pan,E=null!=x&&i;E&&(om(b.x,x.x)&&(w.x=oy(b.x,x.x,p,g)),om(b.y,x.y)&&(w.y=oy(b.y,x.y,p,g)),t.emit("pan"));var k=s.startZoom,T=s.zoom,C=null!=T&&i;C&&(om(k,T)&&(o.zoom=tA(o.minZoom,oy(k,T,p,g),o.maxZoom)),t.emit("zoom")),(E||C)&&t.emit("viewport");var P=s.style;if(P&&P.length>0&&a){for(var S=0;S<P.length;S++){var B=P[S],D=B.name,_=s.startStyle[D],A=oy(_,B,p,g,c.properties[_.name]);c.overrideBypass(t,D,A)}t.emit("style")}}s.progress=p}(n,d,t,r),f.applying&&(f.applying=!1),c(f.frames),null!=f.step&&f.step(t),d.completed()&&(o.splice(h,1),f.hooked=!1,f.playing=!1,f.started=!1,c(f.completes)),l=!0)}return r||0!==o.length||0!==s.length||i.push(n),l}for(var o=!1,s=0;s<r.length;s++){var l=a(r[s]);o=o||l}var u=a(n,!0);(o||u)&&(r.length>0?n.notify("draw",r):n.notify("draw")),r.unmerge(i),n.emit("step")}var ox={animate:iG.animate(),animation:iG.animation(),animated:iG.animated(),clearQueue:iG.clearQueue(),delay:iG.delay(),delayAnimation:iG.delayAnimation(),stop:iG.stop(),addToAnimationPool:function(t){this.styleEnabled()&&this._private.aniEles.merge(t)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var t=this;if(t._private.animationsRunning=!0,t.styleEnabled()){var n=t.renderer();n&&n.beforeRender?n.beforeRender(function(n,r){ob(r,t)},n.beforeRenderPriorities.animations):function n(){t._private.animationsRunning&&eN(function(r){ob(r,t),n()})}()}}},ow={qualifierCompare:function(t,n){return null==t||null==n?null==t&&null==n:t.sameText(n)},eventMatches:function(t,n,r){var i=n.qualifier;return null==i||t!==r.target&&en(r.target)&&i.matches(r.target)},addEventFields:function(t,n){n.cy=t,n.target=t},callbackContext:function(t,n,r){return null!=n.qualifier?r.target:t}},oE=function(t){return G(t)?new ae(t):t},ok={createEmitter:function(){var t=this._private;return t.emitter||(t.emitter=new aj(ow,this)),this},emitter:function(){return this._private.emitter},on:function(t,n,r){return this.emitter().on(t,oE(n),r),this},removeListener:function(t,n,r){return this.emitter().removeListener(t,oE(n),r),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(t,n,r){return this.emitter().one(t,oE(n),r),this},once:function(t,n,r){return this.emitter().one(t,oE(n),r),this},emit:function(t,n){return this.emitter().emit(t,n),this}
1,emitAndNotify:function(t,n){return this.emit(t),this.notify(t,n),this}};iG.eventAliasesOn(ok);var oT={png:function(t){return t=t||{},this._private.renderer.png(t)},jpg:function(t){var n=this._private.renderer;return(t=t||{}).bg=t.bg||"#fff",n.jpg(t)}};oT.jpeg=oT.jpg;var oC={layout:function(t){if(null!=t){if(null!=t.name){var n,r=t.name,i=this.extension("layout",r);if(null!=i)return n=G(t.eles)?this.$(t.eles):null!=t.eles?t.eles:this.$(),new i(eb({},t,{cy:this,eles:n}));eJ("No such layout `"+r+"` found.  Did you forget to import it and `cytoscape.use()` it?")}else eJ("A `name` must be specified to make a layout")}else eJ("Layout options must be specified to make a layout")}};oC.createLayout=oC.makeLayout=oC.layout;var oP=e9({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),oS={renderTo:function(t,n,r,i){return this._private.renderer.renderTo(t,n,r,i),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(t){var n=this.extension("renderer",t.name);if(null!=n){void 0!==t.wheelSensitivity&&e1("You have set a custom wheel sensitivity.  This will make your app zoom unnaturally when using mainstream mice.  You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var r=oP(t);r.cy=this,this._private.renderer=new n(r),this.notify("init")}else eJ("Can not initialise: No such renderer `".concat(t.name,"` found. Did you forget to import it and `cytoscape.use()` it?"))},destroyRenderer:function(){this.notify("destroy");var t=this.container();if(t)for(t._cyreg=null;t.childNodes.length>0;)t.removeChild(t.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach(function(t){var n=t._private;n.rscratch={},n.rstyle={},n.animation.current=[],n.animation.queue=[]})},onRender:function(t){return this.on("render",t)},offRender:function(t){return this.off("render",t)}};oS.invalidateDimensions=oS.resize;var oB={collection:function(t,n){return G(t)?this.$(t):et(t)?t.collection():$(t)?(n||(n={}),new oc(this,t,n.unique,n.removed)):new oc(this)},nodes:function(t){var n=this.$(function(t){return t.isNode()});return t?n.filter(t):n},edges:function(t){var n=this.$(function(t){return t.isEdge()});return t?n.filter(t):n},$:function(t){var n=this._private.elements;return t?n.filter(t):n.spawnSelf()},mutableElements:function(){return this._private.elements}};oB.elements=oB.filter=oB.$;var oD={};oD.apply=function(t){for(var n=this._private.cy.collection(),r=0;r<t.length;r++){var i=t[r],a=this.getContextMeta(i);if(!a.empty){var o=this.getContextStyle(a),s=this.applyContextStyle(a,o,i);i._private.appliedInitStyle?this.updateTransitions(i,s.diffProps):i._private.appliedInitStyle=!0,this.updateStyleHints(i)&&n.push(i)}}return n},oD.getPropertiesDiff=function(t,n){var r=this._private.propDiffs=this._private.propDiffs||{},i=t+"-"+n,a=r[i];if(a)return a;for(var o=[],s={},l=0;l<this.length;l++){var u=this[l],c="t"===t[l],h="t"===n[l],d=c!==h,f=u.mappedProperties.length>0;if(d||h&&f){var p=void 0;d&&f||d?p=u.properties:f&&(p=u.mappedProperties);for(var g=0;g<p.length;g++){for(var v=p[g],y=v.name,m=!1,b=l+1;b<this.length;b++){var x=this[b];if("t"===n[b]&&(m=null!=x.properties[v.name]))break}s[y]||m||(s[y]=!0,o.push(y))}}}return r[i]=o,o},oD.getContextMeta=function(t){for(var n,r="",i=t._private.styleCxtKey||"",a=0;a<this.length;a++){var o=this[a];r+=o.selector&&o.selector.matches(t)?"t":"f"}return n=this.getPropertiesDiff(i,r),t._private.styleCxtKey=r,{key:r,diffPropNames:n,empty:0===n.length}},oD.getContextStyle=function(t){var n=t.key,r=this._private.contextStyles=this._private.contextStyles||{};if(r[n])return r[n];for(var i={_private:{key:n}},a=0;a<this.length;a++){var o=this[a];if("t"===n[a])for(var s=0;s<o.properties.length;s++){var l=o.properties[s];i[l.name]=l}}return r[n]=i,i},oD.applyContextStyle=function(t,n,r){for(var i=t.diffPropNames,a={},o=this.types,s=0;s<i.length;s++){var l=i[s],u=n[l],c=r.pstyle(l);
1if(!u){if(!c)continue;u=c.bypass?{name:l,deleteBypassed:!0}:{name:l,delete:!0}}if(c!==u){if(u.mapped===o.fn&&null!=c&&null!=c.mapping&&c.mapping.value===u.value){var h=c.mapping;if((h.fnValue=u.value(r))===h.prevFnValue)continue}var d=a[l]={prev:c};this.applyParsedProperty(r,u),d.next=r.pstyle(l),d.next&&d.next.bypass&&(d.next=d.next.bypassed)}}return{diffProps:a}},oD.updateStyleHints=function(t){var n=t._private,r=this,i=r.propertyGroupNames,a=r.propertyGroupKeys,o=function(t,n,i){return r.getPropertiesHash(t,n,i)},s=n.styleKey;if(t.removed())return!1;var l="nodes"===n.group,u=t._private.style;i=Object.keys(u);for(var c=0;c<a.length;c++){var h=a[c];n.styleKeys[h]=[9261,5381]}for(var d,f=function(t,r){return n.styleKeys[r][0]=ez(t,n.styleKeys[r][0])},p=function(t,r){return n.styleKeys[r][1]=eO(t,n.styleKeys[r][1])},g=function(t,n){for(var r=0;r<t.length;r++){var i=t.charCodeAt(r);f(i,n),p(i,n)}},v=0;v<i.length;v++){var y=i[v],m=u[y];if(null!=m){var b,x=this.properties[y],w=x.type,E=x.groupKey,k=void 0;null!=x.hashOverride?k=x.hashOverride(t,m):null!=m.pfValue&&(k=m.pfValue);var T=null==x.enums?m.value:null,C=null!=k,P=C||null!=T,S=m.units;w.number&&P&&!w.multiple?(f(b=-128<(d=C?k:T)&&d<128&&Math.floor(d)!==d?2e9-(1024*d|0):d,E),p(b,E),C||null==S||g(S,E)):g(m.strValue,E)}}for(var B=[9261,5381],D=0;D<a.length;D++){var _=a[D],A=n.styleKeys[_];B[0]=ez(A[0],B[0]),B[1]=eO(A[1],B[1])}n.styleKey=2097152*B[0]+B[1];var M=n.styleKeys;n.labelDimsKey=eV(M.labelDimensions);var R=o(t,["label"],M.labelDimensions);if(n.labelKey=eV(R),n.labelStyleKey=eV(eF(M.commonLabel,R)),!l){var I=o(t,["source-label"],M.labelDimensions);n.sourceLabelKey=eV(I),n.sourceLabelStyleKey=eV(eF(M.commonLabel,I));var N=o(t,["target-label"],M.labelDimensions);n.targetLabelKey=eV(N),n.targetLabelStyleKey=eV(eF(M.commonLabel,N))}if(l){var L=n.styleKeys,z=L.nodeBody,O=L.nodeBorder,V=L.nodeOutline,F=L.backgroundImage,j=L.compound,X=L.pie,q=L.stripe,Y=[z,O,V,F,j,X,q].filter(function(t){return null!=t}).reduce(eF,[9261,5381]);n.nodeKey=eV(Y),n.hasPie=null!=X&&9261!==X[0]&&5381!==X[1],n.hasStripe=null!=q&&9261!==q[0]&&5381!==q[1]}return s!==n.styleKey},oD.clearStyleHints=function(t){var n=t._private;n.styleCxtKey="",n.styleKeys={},n.styleKey=null,n.labelKey=null,n.labelStyleKey=null,n.sourceLabelKey=null,n.sourceLabelStyleKey=null,n.targetLabelKey=null,n.targetLabelStyleKey=null,n.nodeKey=null,n.hasPie=null,n.hasStripe=null},oD.applyParsedProperty=function(t,n){var r,i=this,a=n,o=t._private.style,s=i.types,l=i.properties[a.name].type,u=a.bypass,c=o[a.name],h=c&&c.bypass,d=t._private,f="mapping",p=function(t){return null==t?null:null!=t.pfValue?t.pfValue:t.value},g=function(){var n=p(c),r=p(a);i.checkTriggers(t,a.name,n,r)};if("curve-style"===n.name&&t.isEdge()&&("bezier"!==n.value&&t.isLoop()||"haystack"===n.value&&(t.source().isParent()||t.target().isParent()))&&(a=n=this.parse(n.name,"bezier",u)),a.delete)return o[a.name]=void 0,g(),!0;if(a.deleteBypassed)return c?!!c.bypass&&(c.bypassed=void 0,g(),!0):(g(),!0);if(a.deleteBypass)return c?!!c.bypass&&(o[a.name]=c.bypassed,g(),!0):(g(),!0);var v=function(){e1("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+a.name+"` with data field `"+a.field+"`); try a `["+a.field+"]` selector to limit scope to elements with `"+a.field+"` defined")};switch(a.mapped){case s.mapData:for(var y,m=a.field.split("."),b=d.data,x=0;x<m.length&&b;x++)b=b[m[x]];if(null==b)return v(),!1;if(!J(b))return e1("Do not use continuous mappers without specifying numeric data (i.e. `"+a.field+": "+b+"` for `"+t.id()+"` is non-numeric)"),!1;var w=a.fieldMax-a.fieldMin;if((y=0===w?0:(b-a.fieldMin)/w)<0?y=0:y>1&&(y=1),l.color){var E=a.valueMin[0],k=a.valueMax[0],T=a.valueMin[1],C=a.valueMax[1],P=a.valueMin[2],S=a.valueMax[2],B=null==a.valueMin[3]?1:a.valueMin[3],D=[Math.round(E+(k-E)*y),Math.round(T+(C-T)*y),Math.round(P+(S-P)*y),Math.round(B+((null==a.valueMax[3]?1:a.valueMax[3])-B)*y)];r={bypass:a.bypass,name:a.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else{if(!l.number)return!1;var _=a.valueMin+(a.valueMax-a.valueMin)*y;r=this.parse(a.name,_,a.bypass,f)}if(!r)return v(),!1;r.mapping=a,a=r;break;case s.data:for(var A=a.field.split("."),M=d.data,R=0;R<A.length&&M;R++)M=M[A[R]];if(null!=M&&(r=this.parse(a.name,M,a.bypass,f)),!r)return v(),!1;r.mapping=a,a=r;break;case s.fn:var I=a.value,N=null!=a.fnValue?a.fnValue:I(t);if(a.prevFnValue=N,null==N)return e1("Custom function mappers may not return null (i.e. `"+a.name+"` for ele `"+t.id()+"` is null)"),!1;if(!(r=this.parse(a.name,N,a.bypass,f)))return e1("Custom function mappers may not return invalid values for the property type (i.e. `"+a.name+"` for ele `"+t.id()+"` is invali
1d)"),!1;r.mapping=e2(a),a=r;break;case void 0:break;default:return!1}return u?(a.bypassed=h?c.bypassed:c,o[a.name]=a):h?c.bypassed=a:o[a.name]=a,g(),!0},oD.cleanElements=function(t,n){for(var r=0;r<t.length;r++){var i=t[r];if(this.clearStyleHints(i),i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),n)for(var a=i._private.style,o=Object.keys(a),s=0;s<o.length;s++){var l=o[s],u=a[l];null!=u&&(u.bypass?u.bypassed=null:a[l]=null)}else i._private.style={}}},oD.update=function(){this._private.cy.mutableElements().updateStyle()},oD.updateTransitions=function(t,n){var r=this,i=t._private,a=t.pstyle("transition-property").value,o=t.pstyle("transition-duration").pfValue,s=t.pstyle("transition-delay").pfValue;if(a.length>0&&o>0){for(var l={},u=!1,c=0;c<a.length;c++){var h=a[c],d=t.pstyle(h),f=n[h];if(f){var p=f.prev,g=null!=f.next?f.next:d,v=!1,y=void 0;p&&(J(p.pfValue)&&J(g.pfValue)?(v=g.pfValue-p.pfValue,y=p.pfValue+1e-6*v):J(p.value)&&J(g.value)?(v=g.value-p.value,y=p.value+1e-6*v):$(p.value)&&$(g.value)&&(v=p.value[0]!==g.value[0]||p.value[1]!==g.value[1]||p.value[2]!==g.value[2],y=p.strValue),v&&(l[h]=g.strValue,this.applyBypass(t,h,y),u=!0))}}if(!u)return;i.transitioning=!0,new n2(function(n){s>0?t.delayAnimation(s).play().promise().then(n):n()}).then(function(){return t.animation({style:l,duration:o,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,a),t.emitAndNotify("style"),i.transitioning=!1})}else i.transitioning&&(this.removeBypasses(t,a),t.emitAndNotify("style"),i.transitioning=!1)},oD.checkTrigger=function(t,n,r,i,a,o){var s=this.properties[n],l=a(s);t.removed()||null!=l&&l(r,i,t)&&o(s)},oD.checkZOrderTrigger=function(t,n,r,i){var a=this;this.checkTrigger(t,n,r,i,function(t){return t.triggersZOrder},function(){a._private.cy.notify("zorder",t)})},oD.checkBoundsTrigger=function(t,n,r,i){this.checkTrigger(t,n,r,i,function(t){return t.triggersBounds},function(n){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})},oD.checkConnectedEdgesBoundsTrigger=function(t,n,r,i){this.checkTrigger(t,n,r,i,function(t){return t.triggersBoundsOfConnectedEdges}
1,function(n){t.connectedEdges().forEach(function(t){t.dirtyBoundingBoxCache()})})},oD.checkParallelEdgesBoundsTrigger=function(t,n,r,i){this.checkTrigger(t,n,r,i,function(t){return t.triggersBoundsOfParallelEdges},function(n){t.parallelEdges().forEach(function(t){t.dirtyBoundingBoxCache()})})},oD.checkTriggers=function(t,n,r,i){t.dirtyStyleCache(),this.checkZOrderTrigger(t,n,r,i),this.checkBoundsTrigger(t,n,r,i),this.checkConnectedEdgesBoundsTrigger(t,n,r,i),this.checkParallelEdgesBoundsTrigger(t,n,r,i)};var o_={getRenderedStyle:function(t,n){return n?this.getStylePropertyValue(t,n,!0):this.getRawStyle(t,!0)},getRawStyle:function(t,n){if(t=t[0]){for(var r={},i=0;i<this.properties.length;i++){var a=this.properties[i],o=this.getStylePropertyValue(t,a.name,n);null!=o&&(r[a.name]=o,r[ec(a.name)]=o)}return r}},getIndexedStyle:function(t,n,r,i){var a=t.pstyle(n)[r][i];return null!=a?a:t.cy().style().getDefaultProperty(n)[r][0]},getStylePropertyValue:function(t,n,r){if(t=t[0]){var i=this.properties[n];i.alias&&(i=i.pointsTo);
1var a=i.type,o=t.pstyle(i.name);if(o){var s=o.value,l=o.units,u=o.strValue;if(r&&a.number&&null!=s&&J(s)){var c=t.cy().zoom(),h=function(t){return t*c},d=function(t,n){return h(t)+n},f=$(s);return(f?l.every(function(t){return null!=t}):null!=l)?f?s.map(function(t,n){return d(t,l[n])}).join(" "):d(s,l):f?s.map(function(t){return G(t)?t:""+h(t)}).join(" "):""+h(s)}if(null!=u)return u}return null}},getAnimationStartStyle:function(t,n){for(var r={},i=0;i<n.length;i++){var a=n[i].name,o=t.pstyle(a);void 0!==o&&(o=Q(o)?this.parse(a,o.strValue):this.parse(a,o)),o&&(r[a]=o)}return r},getPropsList:function(t){var n=[],r=this.properties;if(t)for(var i=Object.keys(t),a=0;a<i.length;a++){var o=i[a],s=t[o],l=r[o]||r[eu(o)],u=this.parse(l.name,s);u&&n.push(u)}return n},getNonDefaultPropertiesHash:function(t,n,r){var i,a,o,s,l,u,c=r.slice();for(l=0;l<n.length;l++)if(i=n[l],null!=(a=t.pstyle(i,!1))){if(null!=a.pfValue)c[0]=ez(s,c[0]),c[1]=eO(s,c[1]);else for(o=a.strValue,u=0;u<o.length;u++)s=o.charCodeAt(u),c[0]=ez(s,c[0]),c[1]=eO(s,c[1])}return c}};o_.getPropertiesHash=o_.getNonDefaultPropertiesHash;var oA={};!function(){var t=function(t){return"^"+t+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},n=function(t){var n=ef+"|\\w+|"+eg+"|"+ey+"|\\#[0-9a-fA-F]{3}|\\#[0-9a-fA-F]{6}";return"^"+t+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+ef+")\\s*\\,\\s*("+ef+")\\s*,\\s*("+n+")\\s*\\,\\s*("+n+")\\)$"},r=["^url\\s*\\(\\s*['\"]?(.+?)['\"]?\\s*\\)$","^(none)$","^(.+)$"];oA.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]}
1,textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:t("data")},layoutData:{mapping:!0,regex:t("layoutData")},scratch:{mapping:!0,regex:t("scratch")},mapData:{mapping:!0,regex:n("mapData")},mapLayoutData:{mapping:!0,regex:n("mapLayoutData")},mapScratch:{mapping:!0,regex:n("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:r,singleRegexMatchValue:!0},urls:{regexes:r,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(t,n){switch(t.length){case 2:return"deg"!==n[0]&&"rad"!==n[0]&&"deg"!==n[1]&&"rad"!==n[1];case 1:return G(t[0])||"deg"===n[0]||"rad"===n[0];default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+ef+")\\s*,\\s*("+ef+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+ef+")\\s*,\\s*("+ef+")\\s*,\\s*("+ef+")\\s*,\\s*("+ef+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(t){var n=t.length;return 1===n||2===n||4===n}}};var i=function(t,n){return(null==t||null==n)&&t!==n||0==t&&0!=n||0!=t&&0==n},a=function(t,n){return t!=n},o=oA.types,s=[{name:"label",type:o.text,triggersBounds:a,triggersZOrder:function(t,n){var r=eo(t),i=eo(n);return r&&!i||!r&&i}},{name:"text-rotation",type:o.textRotation,triggersBounds:a},{name:"text-margin-x",type:o.bidirectionalSize,triggersBounds:a},{name:"text-margin-y",type:o.bidirectionalSize,triggersBounds:a}],l=[{name:"source-label",type:o.text,triggersBounds:a},{name:"source-text-rotation",type:o.textRotation,triggersBounds:a},{name:"source-text-margin-x",type:o.bidirectionalSize,triggersBounds:a},{name:"source-text-margin-y",type:o.bidirectionalSize,triggersBounds:a},{name:"source-text-offset",type:o.size,triggersBounds:a}],u=[{name:"target-label",type:o.text,triggersBounds:a},{name:"target-text-rotation",type:o.textRotation,triggersBounds:a},{name:"target-text-margin-x",type:o.bidirectionalSize,triggersBounds:a},{name:"target-text-margin-y",type:o.bidirectionalSize,triggersBounds:a},{name:"target-text-offset",type:o.size,triggersBounds:a}],c=[{name:"font-family",type:o.fontFamily,triggersBounds:a},{name:"font-style",type:o.fontStyle,triggersBounds:a},{name:"font-weight",type:o.fontWeight,triggersBounds:a},{name:"font-size",type:o.size,triggersBounds:a},{name:"text-transform",type:o.textTransform,triggersBounds:a},{name:"text-wrap",type:o.textWrap,triggersBounds:a},{name:"text-overflow-wrap",type:o.textOverflowWrap,triggersBounds:a},{name:"text-max-width",type:o.size,triggersBounds:a},{name:"text-outline-width",type:o.size,triggersBounds:a},{name:"line-height",type:o.positiveNumber,triggersBounds:a}],h=[{name:"text-valign",type:o.valign,triggersBounds:a},{name:"text-halign",type:o.halign,triggersBounds:a},{name:"color",type:o.color},{name:"text-outline-color",type:o.color},{name:"text-outline-opacity",type:o.zeroOneNumber},{name:"text-background-color",type:o.color},{name:"text-background-opacity",type:o.zeroOneNumber},{name:"text-background-padding",type:o.size,triggersBounds:a},{name:"text-border-opacity",type:o.zeroOneNumber},{name:"text-border-color",type:o.color},{name:"text-border-width",type:o.size,triggersBounds:a},{name:"text-border-style",type:o.borderStyle,triggersBounds:a}
vendor: 5,284 bytes, line 1
1,{name:"text-background-shape",type:o.textBackgroundShape,triggersBounds:a},{name:"text-justification",type:o.justification},{name:"box-select-labels",type:o.bool,triggersBounds:a}],d=[{name:"events",type:o.bool,triggersZOrder:a},{name:"text-events",type:o.bool,triggersZOrder:a}],f=[{name:"display",type:o.display,triggersZOrder:a,triggersBounds:a,triggersBoundsOfConnectedEdges:a,triggersBoundsOfParallelEdges:function(t,n,r){return t!==n&&"bezier"===r.pstyle("curve-style").value}},{name:"visibility",type:o.visibility,triggersZOrder:a},{name:"opacity",type:o.zeroOneNumber,triggersZOrder:i},{name:"text-opacity",type:o.zeroOneNumber},{name:"min-zoomed-font-size",type:o.size},{name:"z-compound-depth",type:o.zCompoundDepth,triggersZOrder:a},{name:"z-index-compare",type:o.zIndexCompare,triggersZOrder:a},{name:"z-index",type:o.number,triggersZOrder:a}],p=[{name:"overlay-padding",type:o.size,triggersBounds:a},{name:"overlay-color",type:o.color},{name:"overlay-opacity",type:o.zeroOneNumber,triggersBounds:i},{name:"overlay-shape",type:o.overlayShape,triggersBounds:a},{name:"overlay-corner-radius",type:o.cornerRadius}],g=[{name:"underlay-padding",type:o.size,triggersBounds:a},{name:"underlay-color",type:o.color},{name:"underlay-opacity",type:o.zeroOneNumber,triggersBounds:i},{name:"underlay-shape",type:o.overlayShape,triggersBounds:a},{name:"underlay-corner-radius",type:o.cornerRadius}],v=[{name:"transition-property",type:o.propList},{name:"transition-duration",type:o.time},{name:"transition-delay",type:o.time},{name:"transition-timing-function",type:o.easing}],y=function(t,n){return"label"===n.value?-t.poolIndex():n.pfValue},m=[{name:"height",type:o.nodeSize,triggersBounds:a,hashOverride:y},{name:"width",type:o.nodeSize,triggersBounds:a,hashOverride:y},{name:"shape",type:o.nodeShape,triggersBounds:a},{name:"shape-polygon-points",type:o.polygonPointList,triggersBounds:a},{name:"corner-radius",type:o.cornerRadius},{name:"background-color",type:o.color},{name:"background-fill",type:o.fill},{name:"background-opacity",type:o.zeroOneNumber},{name:"background-blacken",type:o.nOneOneNumber},{name:"background-gradient-stop-colors",type:o.colors},{name:"background-gradient-stop-positions",type:o.percentages},{name:"background-gradient-direction",type:o.gradientDirection},{name:"padding",type:o.sizeMaybePercent,triggersBounds:a},{name:"padding-relative-to",type:o.paddingRelativeTo,triggersBounds:a},{name:"bounds-expansion",type:o.boundsExpansion,triggersBounds:a}],b=[{name:"border-color",type:o.color},{name:"border-opacity",type:o.zeroOneNumber},{name:"border-width",type:o.size,triggersBounds:a},{name:"border-style",type:o.borderStyle},{name:"border-cap",type:o.lineCap},{name:"border-join",type:o.lineJoin},{name:"border-dash-pattern",type:o.numbers},{name:"border-dash-offset",type:o.number},{name:"border-position",type:o.linePosition}],x=[{name:"outline-color",type:o.color},{name:"outline-opacity",type:o.zeroOneNumber},{name:"outline-width",type:o.size,triggersBounds:a},{name:"outline-style",type:o.borderStyle},{name:"outline-offset",type:o.size,triggersBounds:a}],w=[{name:"background-image",type:o.urls},{name:"background-image-crossorigin",type:o.bgCrossOrigin},{name:"background-image-opacity",type:o.zeroOneNumbers},{name:"background-image-containment",type:o.bgContainment},{name:"background-image-smoothing",type:o.bools},{name:"background-position-x",type:o.bgPos},{name:"background-position-y",type:o.bgPos},{name:"background-width-relative-to",type:o.bgRelativeTo},{name:"background-height-relative-to",type:o.bgRelativeTo},{name:"background-repeat",type:o.bgRepeat},{name:"background-fit",type:o.bgFit},{name:"background-clip",type:o.bgClip},{name:"background-width",type:o.bgWH},{name:"background-height",type:o.bgWH},{name:"background-offset-x",type:o.bgPos},{name:"background-offset-y",type:o.bgPos}],E=[{name:"position",type:o.position,triggersBounds:a},{name:"compound-sizing-wrt-labels",type:o.compoundIncludeLabels,triggersBounds:a},{name:"min-width",type:o.size,triggersBounds:a},{name:"min-width-bias-left",type:o.sizeMaybePercent,triggersBounds:a},{name:"min-width-bias-right",type:o.sizeMaybePercent,triggersBounds:a},{name:"min-height",type:o.size,triggersBounds:a},{name:"min-height-bias-top",type:o.sizeMaybePercent,triggersBounds:a},{name:"min-height-bias-bottom",type:o.sizeMaybePercent,triggersBounds:a}],k=[{name:"line-style",type:o.lineStyle},{name:"line-color",type:o.color},{name:"line-fill",type:o.fill},{name:"line-cap",type:o.lineCap},{name:"line-opacity",type:o.zeroOneNumber},{name:"line-dash-pattern",type:o.numbers},{name:"line-dash-offset",type:o.number},{name:"line-outline-width",type:o.size},{name:"line-outline-color",type:o.color},{name:"line-gradient-stop-colors",type:o.colors},{name:"line-gradient-stop-positions",type:o.percentages},{name:"curve-style",type:o.curveStyle,triggersBounds:a,triggersBoundsOfParallelEdges:function(t,n){return t!==n&&("bezier"===t||"bezier"===n)}},{name:"haystack-radius",type:o.zeroOneNumber,triggersBounds:a},{name:"source-endpoint",type:o.edgeEndpoint,triggersBounds:a},{name:"target-endpoint",type:o.edgeEndpoint,triggersBounds:a},{name:"control-point-step-size",type:o.size,triggersBounds:a},{name:"control-point-distances",type:o.bidirectionalSizes,triggersBounds:a}
vendor: 7,590 bytes, line 1
1,{name:"control-point-weights",type:o.numbers,triggersBounds:a},{name:"segment-distances",type:o.bidirectionalSizes,triggersBounds:a},{name:"segment-weights",type:o.numbers,triggersBounds:a},{name:"segment-radii",type:o.numbers,triggersBounds:a},{name:"radius-type",type:o.radiusType,triggersBounds:a},{name:"taxi-turn",type:o.bidirectionalSizeMaybePercent,triggersBounds:a},{name:"taxi-turn-min-distance",type:o.size,triggersBounds:a},{name:"taxi-direction",type:o.axisDirection,triggersBounds:a},{name:"taxi-radius",type:o.number,triggersBounds:a},{name:"edge-distances",type:o.edgeDistances,triggersBounds:a},{name:"arrow-scale",type:o.positiveNumber,triggersBounds:a},{name:"loop-direction",type:o.angle,triggersBounds:a},{name:"loop-sweep",type:o.angle,triggersBounds:a},{name:"source-distance-from-node",type:o.size,triggersBounds:a},{name:"target-distance-from-node",type:o.size,triggersBounds:a}],T=[{name:"ghost",type:o.bool,triggersBounds:a},{name:"ghost-offset-x",type:o.bidirectionalSize,triggersBounds:a},{name:"ghost-offset-y",type:o.bidirectionalSize,triggersBounds:a},{name:"ghost-opacity",type:o.zeroOneNumber}],C=[{name:"selection-box-color",type:o.color},{name:"selection-box-opacity",type:o.zeroOneNumber},{name:"selection-box-border-color",type:o.color},{name:"selection-box-border-width",type:o.size},{name:"active-bg-color",type:o.color},{name:"active-bg-opacity",type:o.zeroOneNumber},{name:"active-bg-size",type:o.size},{name:"outside-texture-bg-color",type:o.color},{name:"outside-texture-bg-opacity",type:o.zeroOneNumber}],P=[];oA.pieBackgroundN=16,P.push({name:"pie-size",type:o.sizeMaybePercent}),P.push({name:"pie-hole",type:o.sizeMaybePercent}),P.push({name:"pie-start-angle",type:o.angle});for(var S=1;S<=oA.pieBackgroundN;S++)P.push({name:"pie-"+S+"-background-color",type:o.color}),P.push({name:"pie-"+S+"-background-size",type:o.percent}),P.push({name:"pie-"+S+"-background-opacity",type:o.zeroOneNumber});var B=[];oA.stripeBackgroundN=16,B.push({name:"stripe-size",type:o.sizeMaybePercent}),B.push({name:"stripe-direction",type:o.axisDirectionPrimary});for(var D=1;D<=oA.stripeBackgroundN;D++)B.push({name:"stripe-"+D+"-background-color",type:o.color}),B.push({name:"stripe-"+D+"-background-size",type:o.percent}),B.push({name:"stripe-"+D+"-background-opacity",type:o.zeroOneNumber});var _=[],A=oA.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:o.arrowShape,triggersBounds:a},{name:"arrow-color",type:o.color},{name:"arrow-fill",type:o.arrowFill},{name:"arrow-width",type:o.arrowWidth}].forEach(function(t){A.forEach(function(n){var r=n+"-"+t.name,i=t.type,a=t.triggersBounds;_.push({name:r,type:i,triggersBounds:a})})},{});var M=oA.properties=[].concat(d,v,f,p,g,T,h,c,s,l,u,m,b,x,w,P,B,E,k,_,C),R=oA.propertyGroups={behavior:d,transition:v,visibility:f,overlay:p,underlay:g,ghost:T,commonLabel:h,labelDimensions:c,mainLabel:s,sourceLabel:l,targetLabel:u,nodeBody:m,nodeBorder:b,nodeOutline:x,backgroundImage:w,pie:P,stripe:B,compound:E,edgeLine:k,edgeArrow:_,core:C},I=oA.propertyGroupNames={};(oA.propertyGroupKeys=Object.keys(R)).forEach(function(t){I[t]=R[t].map(function(t){return t.name}),R[t].forEach(function(n){return n.groupKey=t})});var N=oA.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];oA.propertyNames=M.map(function(t){return t.name});for(var L=0;L<M.length;L++){var z=M[L];M[z.name]=z}for(var O=0;O<N.length;O++){var V=N[O],F=M[V.pointsTo],j={name:V.name,alias:!0,pointsTo:F};M.push(j),M[V.name]=j}}(),oA.getDefaultProperty=function(t){return this.getDefaultProperties()[t]},oA.getDefaultProperties=function(){var t=this._private;if(null!=t.defaultProperties)return t.defaultProperties;for(var n=eb({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1,   1, -1,   1, 1,   -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}
1-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(t,n){for(var r=1;r<=oA.pieBackgroundN;r++){var i=n.name.replace("{{i}}",r),a=n.value;t[i]=a}return t},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(t,n){for(var r=1;r<=oA.stripeBackgroundN;r++){var i=n.name.replace("{{i}}",r),a=n.value;t[i]=a}return t},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(t,n){return oA.arrowPrefixes.forEach(function(r){var i=r+"-"+n.name,a=n.value;t[i]=a}),t},{})),r={},i=0;i<this.properties.length;i++){var a=this.properties[i];if(!a.pointsTo){var o=a.name,s=n[o],l=this.parse(o,s);r[o]=l}}return t.defaultProperties=r,t.defaultProperties},oA.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var oM={parse:function(t,n,r,i){if(Z(n))return this.parseImplWarn(t,n,r,i);var a,o=eq(t,""+n,r?"t":"f","mapping"===i||!0===i||!1===i||null==i?"dontcare":i),s=this.propCache=this.propCache||[];return(a=s[o])||(a=s[o]=this.parseImplWarn(t,n,r,i)),(r||"mapping"===i)&&(a=e2(a))&&(a.value=e2(a.value)),a},parseImplWarn:function(t,n,r,i){var a=this.parseImpl(t,n,r,i);return a||null==n||e1("The style property `".concat(t,": ").concat(n,"` is invalid")),a&&("width"===a.name||"height"===a.name)&&"label"===n&&e1("The style value of `label` is deprecated for `"+a.name+"`"),a}};oM.parseImpl=function(t,n,r,i){t=eu(t);var a=this.properties[t],o=n,s=this.types;if(!a||void 0===n)return null;a.alias&&(t=(a=a.pointsTo).name);var l=G(n);l&&(n=n.trim());var u,c,h=a.type;if(!h)return null;if(r&&(""===n||null===n))return{name:t,value:n,bypass:!0,deleteBypass:!0};if(Z(n))return{name:t,value:n,strValue:"fn",mapped:s.fn,bypass:r};if(!l||i||n.length<7||"a"!==n[1]);else{if(n.length>=7&&"d"===n[0]&&(u=new RegExp(s.data.regex).exec(n))){if(r)return!1;var d=s.data;return{name:t,value:u,strValue:""+n,mapped:d,field:u[1],bypass:r}}if(n.length>=10&&"m"===n[0]&&(c=new RegExp(s.mapData.regex).exec(n))){if(r||h.multiple)return!1;var f=s.mapData;if(!h.color&&!h.number)return!1;var p=this.parse(t,c[4]);if(!p||p.mapped)return!1;var g=this.parse(t,c[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return e1("`"+t+": "+n+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(h.color){var v=p.value,y=g.value;if(!(v[0]!==y[0]||v[1]!==y[1]||v[2]!==y[2]||v[3]!==y[3]&&(null!=v[3]&&1!==v[3]||null!=y[3]&&1!==y[3])))return!1}return{name:t,value:c,strValue:""+n,mapped:f,field:c[1],fieldMin:parseFloat(c[2]),fieldMax:parseFloat(c[3]),valueMin:p.value,valueMax:g.value,bypass:r}}}if(h.multiple&&"multiple"!==i){if(C=l?n.split(/\s+/):$(n)?n:[n],h.evenMultiple&&C.length%2!=0)return null;for(var m=[],b=[],x=[],w="",E=!1,k=0;k<C.length;k++){var T=this.parse(t,C[k],r,"multiple");E=E||G(T.value),m.push(T.value),x.push(null!=T.pfValue?T.pfValue:T.value),b.push(T.units),w+=(k>0?" ":"")+T.strValue}return h.validate&&!h.validate(m,b)?null:h.singleEnum&&E?1===m.length&&G(m[0])?{name:t,value:m[0],strValue:m[0],bypass:r}:null:{name:t,value:m,pfValue:x,strValue:w,bypass:r,units:b}}var C,P,S=function(){for(var i=0;i<h.enums.length;i++)if(h.enums[i]===n)return{name:t,value:n,strValue:""+n,bypass:r};return null};if(h.number){var B,D="px";
1if(h.units&&(B=h.units),h.implicitUnits&&(D=h.implicitUnits),!h.unitless){if(l){var _="px|em"+(h.allowPercent?"|\\%":"");B&&(_=B);var A=n.match("^("+ef+")("+_+")?$");A&&(n=A[1],B=A[2]||D)}else B&&!h.implicitUnits||(B=D)}if(isNaN(n=parseFloat(n))&&void 0===h.enums)return null;if(isNaN(n)&&void 0!==h.enums)return n=o,S();if(h.integer&&(!J(P=n)||Math.floor(P)!==P)||void 0!==h.min&&(n<h.min||h.strictMin&&n===h.min)||void 0!==h.max&&(n>h.max||h.strictMax&&n===h.max))return null;var M={name:t,value:n,strValue:""+n+(B||""),units:B,bypass:r};return h.unitless||"px"!==B&&"em"!==B?M.pfValue=n:M.pfValue="px"!==B&&B?this.getEmSizeInPixels()*n:n,"ms"!==B&&"s"!==B||(M.pfValue="ms"===B?n:1e3*n),"deg"!==B&&"rad"!==B||(M.pfValue="rad"===B?n:Math.PI*n/180),"%"===B&&(M.pfValue=n/100),M}if(h.propList){var R=[],I=""+n;if("none"===I);else{for(var N=I.split(/\s*,\s*|\s+/),L=0;L<N.length;L++){var z=N[L].trim();this.properties[z]?R.push(z):e1("`"+z+"` is not a valid property name")}if(0===R.length)return null}return{name:t,value:R,strValue:0===R.length?"none":R.join(" "),bypass:r}}if(h.color){var O=ex(n);return O?{name:t,value:O,pfValue:O,strValue:"rgb("+O[0]+","+O[1]+","+O[2]+")",bypass:r}:null}if(h.regex||h.regexes){if(h.enums){var V=S();if(V)return V}for(var F=h.regexes?h.regexes:[h.regex],j=0;j<F.length;j++){var X=new RegExp(F[j]).exec(n);if(X)return{name:t,value:h.singleRegexMatchValue?X[1]:X,strValue:""+n,bypass:r}}return null}return h.string?{name:t,value:""+n,strValue:""+n,bypass:r}:h.enums?S():null};var oR=function(t){if(!(this instanceof oR))return new oR(t);ei(t)?(this._private={cy:t,coreStyle:{}},this.length=0,this.resetToDefault()):eJ("A style must have a core reference")},oI=oR.prototype;oI.instanceString=function(){return"style"},oI.clear=function(){for(var t=this._private,n=t.cy.elements(),r=0;r<this.length;r++)this[r]=void 0;return this.length=0,t.contextStyles={},t.propDiffs={}
1,this.cleanElements(n,!0),n.forEach(function(t){var n=t[0]._private;n.styleDirty=!0,n.appliedInitStyle=!1}),this},oI.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},oI.core=function(t){return this._private.coreStyle[t]||this.getDefaultProperty(t)},oI.selector=function(t){var n="core"===t?null:new ae(t),r=this.length++;return this[r]={selector:n,properties:[],mappedProperties:[],index:r},this},oI.css=function(){var t=arguments;if(1===t.length)for(var n=t[0],r=0;r<this.properties.length;r++){var i=this.properties[r],a=n[i.name];void 0===a&&(a=n[ec(i.name)]),void 0!==a&&this.cssRule(i.name,a)}else 2===t.length&&this.cssRule(t[0],t[1]);return this},oI.style=oI.css,oI.cssRule=function(t,n){var r=this.parse(t,n);if(r){var i=this.length-1;this[i].properties.push(r),this[i].properties[r.name]=r,r.name.match(/pie-(\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.name.match(/stripe-(\d+)-background-size/)&&r.value&&(this._private.hasStripe=!0),r.mapped&&this[i].mappedProperties.push(r),this[i].selector||(this._private.coreStyle[r.name]=r)}return this},oI.append=function(t){return ea(t)?t.appendToStyle(this):$(t)?this.appendFromJson(t):G(t)&&this.appendFromString(t),this},oR.fromJson=function(t,n){var r=new oR(t);return r.fromJson(n),r},oR.fromString=function(t,n){return new oR(t).fromString(n)},[oD,{applyBypass:function(t,n,r,i){var a=[];if("*"===n||"**"===n){if(void 0!==r)for(var o=0;o<this.properties.length;o++){var s=this.properties[o].name,l=this.parse(s,r,!0);l&&a.push(l)}}else if(G(n)){var u=this.parse(n,r,!0);u&&a.push(u)}else{if(!Q(n))return!1;i=r;for(var c=Object.keys(n),h=0;h<c.length;h++){var d=c[h],f=n[d];if(void 0===f&&(f=n[ec(d)]),void 0!==f){var p=this.parse(d,f,!0);p&&a.push(p)}}}if(0===a.length)return!1;for(var g=!1,v=0;v<t.length;v++){for(var y=t[v],m={},b=void 0,x=0;x<a.length;x++){var w=a[x];if(i){var E=y.pstyle(w.name);b=m[w.name]={prev:E}}g=this.applyParsedProperty(y,e2(w))||g,i&&(b.next=y.pstyle(w.name))}g&&this.updateStyleHints(y),i&&this.updateTransitions(y,m,!0)}return g},overrideBypass:function(t,n,r){n=eu(n);for(var i=0;i<t.length;i++){var a=t[i],o=a._private.style[n],s=this.properties[n].type,l=s.color,u=s.mutiple,c=o?null!=o.pfValue?o.pfValue:o.value:null;o&&o.bypass?(o.value=r,null!=o.pfValue&&(o.pfValue=r),o.strValue=l?"rgb("+r.join(",")+")":u?r.join(" "):""+r,this.updateStyleHints(a)):this.applyBypass(a,n,r),this.checkTriggers(a,n,c,r)}},removeAllBypasses:function(t,n){return this.removeBypasses(t,this.propertyNames,n)},removeBypasses:function(t,n,r){for(var i=0;i<t.length;i++){for(var a=t[i],o={},s=0;s<n.length;s++){var l=n[s],u=this.properties[l],c=a.pstyle(u.name);if(c&&c.bypass){var h=this.parse(l,"",!0),d=o[u.name]={prev:c};this.applyParsedProperty(a,h),d.next=a.pstyle(u.name)}}this.updateStyleHints(a),r&&this.updateTransitions(a,o,!0)}}},{getEmSizeInPixels:function(){var t=this.containerCss("font-size");return null!=t?parseFloat(t):1},containerCss:function(t){var n=this._private.cy,r=n.container(),i=n.window();if(i&&r&&i.getComputedStyle)return i.getComputedStyle(r).getPropertyValue(t)}},o_,{appendFromJson:function(t){for(var n=0;n<t.length;n++){var r=t[n],i=r.selector,a=r.style||r.css,o=Object.keys(a);this.selector(i);for(var s=0;s<o.length;s++){var l=o[s],u=a[l];this.css(l,u)}}return this},fromJson:function(t){return this.resetToDefault(),this.appendFromJson(t),this},json:function(){for(var t=[],n=this.defaultLength;n<this.length;n++){for(var r=this[n],i=r.selector,a=r.properties,o={},s=0;s<a.length;s++){var l=a[s];o[l.name]=l.strValue}t.push({selector:i?i.toString():"core",style:o})}return t}},{appendFromString:function(t){var n,r,i,a=""+t;function o(){a=a.length>n.length?a.substr(n.length):""}for(a=a.replace(/[/][*](\s|.)+?[*][/]/g,"");!a.match(/^\s*$/);){var s=a.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){e1("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+a);break}n=s[0];var l=s[1];if("core"!==l&&new ae(l).invalid){e1("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),o();continue}var u=s[2],c=!1;r=u;for(var h=[];!r.match(/^\s*$/);){var d=r.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!d){e1("Skipping parsing of block: Invalid formatting of style property and value definitions foun
1d in:"+u),c=!0;break}i=d[0];var f=d[1],p=d[2];this.properties[f]?this.parse(f,p)?h.push({name:f,val:p}):e1("Skipping property: Invalid property definition in: "+i):e1("Skipping property: Invalid property name in: "+i),r=r.length>i.length?r.substr(i.length):""}if(c){o();break}this.selector(l);for(var g=0;g<h.length;g++){var v=h[g];this.css(v.name,v.val)}o()}return this},fromString:function(t){return this.resetToDefault(),this.appendFromString(t),this}},oA,oM].forEach(function(t){eb(oI,t)}),oR.types=oI.types,oR.properties=oI.properties,oR.propertyGroups=oI.propertyGroups,oR.propertyGroupNames=oI.propertyGroupNames,oR.propertyGroupKeys=oI.propertyGroupKeys;var oN={autolock:function(t){return void 0===t?this._private.autolock:(this._private.autolock=!!t,this)},autoungrabify:function(t){return void 0===t?this._private.autoungrabify:(this._private.autoungrabify=!!t,this)},autounselectify:function(t){return void 0===t?this._private.autounselectify:(this._private.autounselectify=!!t,this)},selectionType:function(t){var n=this._private;return null==n.selectionType&&(n.selectionType="single"),void 0===t?n.selectionType:("additive"!==t&&"single"!==t||(n.selectionType=t),this)},panningEnabled:function(t){return void 0===t?this._private.panningEnabled:(this._private.panningEnabled=!!t,this)},userPanningEnabled:function(t){return void 0===t?this._private.userPanningEnabled:(this._private.userPanningEnabled=!!t,this)},zoomingEnabled:function(t){return void 0===t?this._private.zoomingEnabled:(this._private.zoomingEnabled=!!t,this)},userZoomingEnabled:function(t){return void 0===t?this._private.userZoomingEnabled:(this._private.userZoomingEnabled=!!t,this)},boxSelectionEnabled:function(t){return void 0===t?this._private.boxSelectionEnabled:(this._private.boxSelectionEnabled=!!t,this)},pan:function(){var t,n,r,i,a,o=arguments,s=this._private.pan;switch(o.length){case 0:return s;case 1:if(G(o[0]))return s[t=o[0]];if(Q(o[0])){if(!this._private.panningEnabled)return this;i=(r=o[0]).x,a=r.y,J(i)&&(s.x=i),J(a)&&(s.y=a),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=o[1],("x"===(t=o[0])||"y"===t)&&J(n)&&(s[t]=n),this.emit("pan viewport")}return this.notify("viewport"),this},panBy:function(t,n){var r,i,a,o=arguments,s=this._private.pan;if(!this._private.panningEnabled)return this;switch(o.length){case 1:Q(t)&&(i=(r=o[0]).x,a=r.y,J(i)&&(s.x+=i),J(a)&&(s.y+=a),this.emit("pan viewport"));break;case 2:("x"===t||"y"===t)&&J(n)&&(s[t]+=n),this.emit("pan viewport")}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(t,n){var r=this.getFitViewport(t,n);if(r){var i=this._private;i.zoom=r.zoom,i.pan=r.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(t,n){if(J(t)&&void 0===n&&(n=t,t=void 0),this._private.panningEnabled&&this._private.zoomingEnabled){var r,i;if(G(t)){var a=t;t=this.$(a)}else if(Q(i=t)&&J(i.x1)&&J(i.x2)&&J(i.y1)&&J(i.y2)){var o=t;(r={x1:o.x1,y1:o.y1,x2:o.x2,y2:o.y2}).w=r.x2-r.x1,r.h=r.y2-r.y1}else et(t)||(t=this.mutableElements());if(!et(t)||!t.empty()){r=r||t.boundingBox();var s,l=this.width(),u=this.height();if(n=J(n)?n:0,!isNaN(l)&&!isNaN(u)&&l>0&&u>0&&!isNaN(r.w)&&!isNaN(r.h)&&r.w>0&&r.h>0)return{zoom:s=(s=(s=Math.min((l-2*n)/r.w,(u-2*n)/r.h))>this._private.maxZoom?this._private.maxZoom:s)<this._private.minZoom?this._private.minZoom:s,pan:{x:(l-s*(r.x1+r.x2))/2,y:(u-s*(r.y1+r.y2))/2}}}}},zoomRange:function(t,n){var r=this._private;if(null==n){var i=t;t=i.min,n=i.max}return J(t)&&J(n)&&t<=n?(r.minZoom=t,r.maxZoom=n):J(t)&&void 0===n&&t<=r.maxZoom?r.minZoom=t:J(n)&&void 0===t&&n>=r.minZoom&&(r.maxZoom=n),this},minZoom:function(t){return void 0===t?this._private.minZoom:this.zoomRange({min:t})},maxZoom:function(t){return void 0===t?this._private.maxZoom:this.zoomRange({max:t})},getZoomedViewport:function(t){var n,r,i=this._private,a=i.pan,o=i.zoom,s=!1;if(i.zoomingEnabled||(s=!0),J(t)?r=t:Q(t)&&(r=t.level,null!=t.position?n=tx(t.position,o,a):null!=t.renderedPosition&&(n=t.renderedPosition),null==n||i.panningEnabled||(s=!0)),r=(r=r>
1i.maxZoom?i.maxZoom:r)<i.minZoom?i.minZoom:r,s||!J(r)||r===o||null!=n&&(!J(n.x)||!J(n.y)))return null;if(null!=n){var l=r;return{zoomed:!0,panned:!0,zoom:l,pan:{x:-l/o*(n.x-a.x)+n.x,y:-l/o*(n.y-a.y)+n.y}}}return{zoomed:!0,panned:!1,zoom:r,pan:a}},zoom:function(t){if(void 0===t)return this._private.zoom;var n=this.getZoomedViewport(t),r=this._private;return null!=n&&n.zoomed&&(r.zoom=n.zoom,n.panned&&(r.pan.x=n.pan.x,r.pan.y=n.pan.y),this.emit("zoom"+(n.panned?" pan":"")+" viewport"),this.notify("viewport")),this},viewport:function(t){var n=this._private,r=!0,i=!0,a=[],o=!1,s=!1;if(!t||(J(t.zoom)||(r=!1),Q(t.pan)||(i=!1),!r&&!i))return this;if(r){var l=t.zoom;l<n.minZoom||l>n.maxZoom||!n.zoomingEnabled?o=!0:(n.zoom=l,a.push("zoom"))}if(i&&(!o||!t.cancelOnFailedZoom)&&n.panningEnabled){var u=t.pan;J(u.x)&&(n.pan.x=u.x,s=!1),J(u.y)&&(n.pan.y=u.y,s=!1),s||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},center:function(t){var n=this.getCenterPan(t);return n&&(this._private.pan=n,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(t,n){if(this._private.panningEnabled){if(G(t)){var r=t;t=this.mutableElements().filter(r)}else et(t)||(t=this.mutableElements());if(0!==t.length){var i=t.boundingBox(),a=this.width(),o=this.height();return{x:(a-(n=void 0===n?this._private.zoom:n)*(i.x1+i.x2))/2,y:(o-n*(i.y1+i.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled&&this.viewport({pan:{x:0,y:0},zoom:1}),this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var t,n,r=this._private,i=r.container;return r.sizeCache=r.sizeCache||(i?(t=this.window().getComputedStyle(i),n=function(n){return parseFloat(t.getPropertyValue(n))},{width:i.clientWidth-n("padding-left")-n("padding-right"),height:i.clientHeight-n("padding-top")-n("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var t=this._private.pan,n=this._private.zoom,r=this.renderedExtent(),i={x1:(r.x1-t.x)/n,x2:(r.x2-t.x)/n,y1:(r.y1-t.y)/n,y2:(r.y2-t.y)/n};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},renderedExtent:function(){var t=this.width(),n=this.height();return{x1:0,y1:0,x2:t,y2:n,w:t,h:n}},multiClickDebounceTime:function(t){return t?(this._private.multiClickDebounceTime=t,this):this._private.multiClickDebounceTime}};oN.centre=oN.center,oN.autolockNodes=oN.autolock,oN.autoungrabifyNodes=oN.autoungrabify;var oL={data:iG.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:iG.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:iG.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:iG.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};oL.attr=oL.data,oL.removeAttr=oL.removeData;var oz=function(t){var n=this,r=(t=eb({},t)).container;r&&!ee(r)&&ee(r[0])&&(r=r[0]);var i=r?r._cyreg:null;(i=i||{}).cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];r&&(r._cyreg=i),i.cy=n;var o=void 0!==p&&void 0!==r&&!t.headless,s=t;s.layout=eb({name:o?"grid":"null"},s.layout),s.renderer=eb({name:o?"canvas":"null"},s.renderer);var l=function(t,n,r){return void 0!==n?n:void 0!==r?r:t},u=this._private={container:r,ready:!1,options:s,elements:new oc(this),listeners:[],aniEles:new oc(this),data:s.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,s.zoomingEnabled),userZoomingEnabled:l(!0,s.userZoomingEnabled),panningEnabled:l(!0,s.panningEnabled),userPanningEnabled:l(!0,s.userPanningEnabled),boxSelectionEnabled:l(!0,s.boxSelectionEnabled),autolock:l(!1,s.autolock,s.autolockNodes),autoungrabify:l(!1,s.autoungrabify,s.autoungrabifyNodes),autounselectify:l(!1,s.autounselectify),styleEnabled:void 0===s.styleEnabled?o:s.styleEnabled,zoom:J(s.zoom)?s.zoom:1,pan:{x:Q(s.pan)&&J(s.pan.x)?s.pan.x:0,y:Q(s.pan)&&J(s.pan.y)?s.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,s.multiClickDebounceTime)};this.createEmitter(),this.selectionType(s.selectionType),this.zoomRange({min:s.minZoom,max:s.maxZoom}),u.styleEnabled&&n.setStyle([]);var c=eb({},s,s.renderer);n.initRenderer(c),function(t,n){if(t.some(es))return n2.all(t).then(n);n(t)}([s.style,s.elements],function(t){var r,o,l,c,h=t[0],d=t[1];u.styleEnabled&&n.style().append(h),r=function(){n.startAnimationLoop(),u.ready=!0,Z(s.ready)&&n.on("ready",s.ready);for(var t=0;t<a.length;t++){var r=a[t];n.on("ready",r)}i&&(i.readies=[]),n.emit("ready")},o=s.done,n.notifications(!1),(l=n.mutableElements()).length>0&&l.remove(),null!=d&&(Q(d)||$(d))&&n.add(d),n.one("layoutready",function(t){n.notifications(!0),n.emit(t),n.one("load",r),n.emitAndNotify("load")}).one("layoutstop",function(){n.one("done",o),n.emit("done")}),(c=eb({},n._private.options.layout)).eles=n.elements(),n.layout(c).run()})},oO=oz.prototype;eb(oO,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(t){return this.isReady()?this.emitter().emit("ready",[],t):this.on("ready",t),this},destroy:function(){if(!this.destroyed())return this.stopAnimationLoop(),this.destroyRenderer(),this.emit
1("destroy"),this._private.destroyed=!0,this},hasElementWithId:function(t){return this._private.elements.hasElementWithId(t)},getElementById:function(t){return this._private.elements.getElementById(t)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(t){return this._private.elements.merge(t),this},removeFromPool:function(t){return this._private.elements.unmerge(t),this},container:function(){return this._private.container||null},window:function(){if(null==this._private.container)return p;var t=this._private.container.ownerDocument;return void 0===t||null==t?p:t.defaultView||p},mount:function(t){if(null!=t){var n=this._private,r=n.options;return!ee(t)&&ee(t[0])&&(t=t[0]),this.stopAnimationLoop(),this.destroyRenderer(),n.container=t,n.styleEnabled=!0,this.invalidateSize(),this.initRenderer(eb({},r,r.renderer,{name:"null"===r.renderer.name?"canvas":r.renderer.name})),this.startAnimationLoop(),this.style(r.style),this.emit("mount"),this}},unmount:function(){return this.stopAnimationLoop(),this.destroyRenderer(),this.initRenderer({name:"null"}),this.emit("unmount"),this},options:function(){return e2(this._private.options)},json:function(t){var n=this,r=n._private,i=n.mutableElements();if(Q(t)){if(n.startBatch(),t.elements){var a={},o=function(t,r){for(var i=[],o=[],s=0;s<t.length;s++){var l=t[s];if(l.data.id){var u=""+l.data.id,c=n.getElementById(u);a[u]=!0,0!==c.length?o.push({ele:c,json:l}):(r&&(l.group=r),i.push(l))}else e1("cy.json() cannot handle elements without an ID attribute")}n.add(i);for(var h=0;h<o.length;h++){var d=o[h],f=d.ele,p=d.json;f.json(p)}};if($(t.elements))o(t.elements);else for(var s=["nodes","edges"],l=0;l<s.length;l++){var u=s[l],c=t.elements[u];$(c)&&o(c,u)}var h=n.collection();i.filter(function(t){return!a[t.id()]}).forEach(function(t){t.isParent()?h.merge(t):t.remove()}),h.forEach(function(t){return t.children().move({parent:null})}),h.forEach(function(t){return n.getElementById(t.id()).remove()})}t.style&&n.style(t.style),null!=t.zoom&&t.zoom!==r.zoom&&n.zoom(t.zoom),t.pan&&(t.pan.x===r.pan.x&&t.pan.y===r.pan.y||n.pan(t.pan)),t.data&&n.data(t.data);for(var d=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],f=0;f<d.length;f++){var p=d[f];null!=t[p]&&n[p](t[p])}return n.endBatch(),this}var g={};t?g.elements=this.elements().map(function(t){return t.json()}):(g.elements={},i.forEach(function(t){var n=t.group();g.elements[n]||(g.elements[n]=[]),g.elements[n].push(t.json())})),this._private.styleEnabled&&(g.style=n.style().json()),g.data=e2(n.data());var v=r.options;return g.zoomingEnabled=r.zoomingEnabled,g.userZoomingEnabled=r.userZoomingEnabled,g.zoom=r.zoom,g.minZoom=r.minZoom,g.maxZoom=r.maxZoom,g.panningEnabled=r.panningEnabled,g.userPanningEnabled=r.userPanningEnabled,g.pan=e2(r.pan),g.boxSelectionEnabled=r.boxSelectionEnabled,g.renderer=e2(v.renderer),g.hideEdgesOnViewport=v.hideEdgesOnViewport,g.textureOnViewport=v.textureOnViewport,g.wheelSensitivity=v.wheelSensitivity,g.motionBlur=v.motionBlur,g.multiClickDebounceTime=v.multiClickDebounceTime,g}}),oO.$id=oO.getElementById,[{add:function(t){var n;if(et(t)){if(t._private.cy===this)n=t.restore();else{for(var r=[],i=0;i<t.length;i++){var a=t[i];r.push(a.json())}n=new oc(this,r)}}else if($(t))n=new oc(this,t);else if(Q(t)&&($(t.nodes)||$(t.edges))){for(var o=[],s=["nodes","edges"],l=0,u=s.length;l<u;l++){var c=s[l],h=t[c];if($(h))for(var d=0,f=h.length;d<f;d++){var p=eb({group:c},h[d]);o.push(p)}}n=new oc(this,o)}else n=new ti(this,t).collection();return n},remove:function(t){if(et(t));else if(G(t)){var n=t;t=this.$(n)}return t.remove()}},ox,ok,oT,oC,{notify:function(t,n){var r=this._private;if(this.batching()){r.batchNotifications=r.batchNotifications||{};var i=r.batchNotifications[t]=r.batchNotifications[t]||this.collection();null!=n&&i.merge(n)}else if(r.notificationsEnabled){var a=this.renderer();!this.destroyed()&&a&&a.notify(t,n)}},notifications:function(t){var n=this._private;return void 0===t?n.notificationsEnabled:(n.notificationsEnabled=!!t,this)},noNotifications:function(t){this.notifications(!1),t(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var t=this._private;return null==t.batchCount&&(t.batchCount=0),0===t.batchCount&&(t.batchStyleEles=this.collection(),t.batchNotifications={}),t.batchCount++,this},endBatch:function(){var t=this._private;if(0===t.batchCount)return this;if(t.batchCount--,0===t.batchCount){t.batchStyleEles.updateStyle();var n=this.renderer();
1Object.keys(t.batchNotifications).forEach(function(r){var i=t.batchNotifications[r];i.empty()?n.notify(r):n.notify(r,i)})}return this},batch:function(t){return this.startBatch(),t(),this.endBatch(),this},batchData:function(t){var n=this;return this.batch(function(){for(var r=Object.keys(t),i=0;i<r.length;i++){var a=r[i],o=t[a];n.getElementById(a).data(o)}})}},oS,oB,{style:function(t){return t&&this.setStyle(t).update(),this._private.style},setStyle:function(t){var n=this._private;return ea(t)?n.style=t.generateStyle(this):$(t)?n.style=oR.fromJson(this,t):G(t)?n.style=oR.fromString(this,t):n.style=oR(this),n.style},updateStyle:function(){this.mutableElements().updateStyle()}},oN,oL].forEach(function(t){eb(oO,t)});var oV={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,n){return!0},ready:void 0,stop:void 0,transform:function(t,n){return n}},oF={maximal:!1,acyclic:!1},oj=function(t){return t.scratch("breadthfirst")},oX=function(t,n){return t.scratch("breadthfirst",n)};function oq(t){this.options=eb({},oV,oF,t)}oq.prototype.run=function(){var t,n=this.options,r=n.cy,i=n.eles,a=i.nodes().filter(function(t){return t.isChildless()}),o=n.directed,s=n.acyclic||n.maximal||n.maximalAdjustments>0,l=!!n.boundingBox,u=r.extent(),c=tM(l?n.boundingBox:{x1:u.x1,y1:u.y1,w:u.w,h:u.h});if(et(n.roots))t=n.roots;else if($(n.roots)){for(var h=[],d=0;d<n.roots.length;d++){var f=n.roots[d],p=r.getElementById(f);h.push(p)}t=r.collection(h)}else if(G(n.roots))t=r.$(n.roots);else if(o)t=a.roots();else{var g=i.components();t=r.collection();for(var v=0;v<g.length;v++)!function(){var n=g[v],r=n.maxDegree(!1),i=n.filter(function(t){return t.degree(!1)===r});t=t.add(i)}()}var y=[],m={},b=function(t,n){null==y[n]&&(y[n]=[]);var r=y[n].length;y[n].push(t),oX(t,{index:r,depth:n})};i.bfs({roots:t,directed:n.directed,visit:function(t,n,r,i,a){var o=t[0],s=o.id();o.isChildless()&&b(o,a),m[s]=!0}});for(var x=[],w=0;w<a.length;w++){var E=a[w];m[E.id()]||x.push(E)}var k=function(t){for(var n=y[t],r=0;r<n.length;r++){var i=n[r];null!=i?oX(i,{depth:t,index:r}):(n.splice(r,1),r--)}};if(o&&s){var T=[],C={},P=function(t){return T.push(t)};for(a.forEach(function(t){return T.push(t)});T.length>0;){var S=T.shift(),B=function(t,r){for(var a=oj(t),o=t.incomers().filter(function(t){return t.isNode()&&i.has(t)}),s=-1,l=t.id(),u=0;u<o.length;u++)s=Math.max(s,oj(o[u]).depth);if(a.depth<=s){if(!n.acyclic&&r[l])return null;var c,h,d,f=s+1;return h=(c=oj(t)).depth,d=c.index,y[h][d]=null,t.isChildless()&&b(t,f),r[l]=f,!0}return!1}(S,C);if(B)S.outgoers().filter(function(t){return t.isNode()&&i.has(t)}).forEach(P);else if(null===B){e1("Detected double maximal shift for node `"+S.id()+"`.  Bailing maximal adjustment due to cycle.  Use `options.maximal: true` only on DAGs.");break}}}var D=0;if(n.avoidOverlap)for(var _=0;_<a.length;_++){var A=a[_].layoutDimensions(n),M=A.w,R=A.h;D=Math.max(D,M,R)}var I={},N=function(t){if(I[t.id()])return I[t.id()];for(var n=oj(t).depth,r=t.neighborhood(),i=0,o=0,s=0;s<r.length;s++){var l=r[s];if(!l.isEdge()&&!l.isParent()&&a.has(l)){var u=oj(l);if(null!=u){var c=u.index,h=u.depth;if(null!=c&&null!=h){var d=y[h].length;h<n&&(i+=c/d,o++)}}}}return i/=o=Math.max(1,o),0===o&&(i=0),I[t.id()]=i,i},L=function(t,n){var r=N(t)-N(n);return 0===r?em(t.id(),n.id()):r};void 0!==n.depthSort&&(L=n.depthSort);for(var z=y.length,O=0;O<z;O++)y[O].sort(L),k(O);for(var V=[],F=0;F<x.length;F++)V.push(x[F]);V.length&&(y.unshift(V),z=y.length,function(){for(var t=0;t<z;t++)k(t)}());for(var j=0,X=0;X<z;X++)j=Math.max(y[X].length,j);var q=c.x1+c.w/2,Y=c.y1+c.h/2,W=a.reduce(function(t,r){var i;return i=r.boundingBox({includeLabels:n.nodeDimensionsIncludeLabels}),{w:-1===t.w?i.w:(t.w+i.w)/2,h:-1===t.h?i.h:(t.h+i.h)/2}},{w:-1,h:-1}),U=Math.max(1===z?0:l?(c.h-2*n.padding-W.h)/(z-1):(c.h-2*n.padding-W.h)/(z+1),D),H=y.reduce(function(t,n){return Math.max(t,n.length)},0);return i.nodes().layoutPositions(this,n,function(t){var r=oj(t),i=r.depth,a=r.index;if(n.circle){var o=Math.min(c.w/2/z,c.h/2/z),s=(o=Math.max(o,D))*i+o-(z>0&&y[0].length<=3?o/2:0),u=2*Math.PI/y[i].length*a;return 0===i&&1===y[0].length&&(s=1),{x:q+s*Math.cos(u),y:Y+s*Math.sin(u)}}var h=y[i].length,d=Math.max(1===h?0:l?(c.w-2*n.padding-W.w)/((n.grid?H:h)-1):(c.w-2*n.padding-W.w)/((n.grid?H:h)+1),D);return{x:q+(a+1-(h+1)/2)*d,y:Y+(i+1-(z+1)/2)*U}}),this};var oY={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,n){return!0},ready:void 0,stop:void 0,transform:function(t,n){return n}};function oW(t){this.options=eb({},oY,t)}oW.prototype.run=function(){var t=this.options,n=t.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=tM(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l=s.x1+s.w/2,u=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),h=0,d=0;d<a.length;d++){var f=a[d].layoutDimensions(t);h=Math.max(h,f.w,f.h)}if(o=J(t.radius)?t.radius:a.length<=1?0:Math.min(s.h,s.w)/2-h,a.length>
11&&t.avoidOverlap){var p=Math.cos(c)-1,g=Math.sin(c)-0;o=Math.max(Math.sqrt((h*=1.75)*h/(p*p+g*g)),o)}return r.nodes().layoutPositions(this,t,function(n,r){var a=t.startAngle+r*c*(i?1:-1);return{x:l+o*Math.cos(a),y:u+o*Math.sin(a)}}),this};var oU,oH,oK,oG,oZ,o$,oQ={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(t){return t.degree()},levelWidth:function(t){return t.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,n){return!0},ready:void 0,stop:void 0,transform:function(t,n){return n}};function oJ(t){this.options=eb({},oQ,t)}oJ.prototype.run=function(){for(var t=this.options,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=t.cy,i=t.eles,a=i.nodes().not(":parent"),o=tM(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,l=o.y1+o.h/2,u=[],c=0,h=0;h<a.length;h++){var d,f=a[h];d=t.concentric(f),u.push({value:d,node:f}),f._private.scratch.concentric=d}a.updateStyle();for(var p=0;p<a.length;p++){var g=a[p].layoutDimensions(t);c=Math.max(c,g.w,g.h)}u.sort(function(t,n){return n.value-t.value});for(var v=t.levelWidth(a),y=[[]],m=y[0],b=0;b<u.length;b++){var x=u[b];m.length>0&&Math.abs(m[0].value-x.value)>=v&&(m=[],y.push(m)),m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var E=y.length>0&&y[0].length>1,k=(Math.min(o.w,o.h)/2-w)/(y.length+E?1:0);w=Math.min(w,k)}for(var T=0,C=0;C<y.length;C++){var P=y[C],S=void 0===t.sweep?2*Math.PI-2*Math.PI/P.length:t.sweep,B=P.dTheta=S/Math.max(1,P.length-1);if(P.length>1&&t.avoidOverlap){var D=Math.cos(B)-1,_=Math.sin(B)-0;T=Math.max(Math.sqrt(w*w/(D*D+_*_)),T)}P.r=T,T+=w}if(t.equidistant){for(var A=0,M=0,R=0;R<y.length;R++)A=Math.max(A,y[R].r-M);M=0;for(var I=0;I<y.length;I++){var N=y[I];0===I&&(M=N.r),N.r=M,M+=A}}for(var L={},z=0;z<y.length;z++)for(var O=y[z],V=O.dTheta,F=O.r,j=0;j<O.length;j++){var X=O[j],q=t.startAngle+(n?1:-1)*V*j,Y={x:s+F*Math.cos(q),y:l+F*M
1ath.sin(q)};L[X.node.id()]=Y}return i.nodes().layoutPositions(this,t,function(t){return L[t.id()]}),this};var o0={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(t,n){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(t){return 2048},nodeOverlap:4,idealEdgeLength:function(t){return 32},edgeElasticity:function(t){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function o1(t){this.options=eb({},o0,t),this.options.layout=this;var n=this.options.eles.nodes(),r=this.options.eles.edges().filter(function(t){var r=t.source().data("id"),i=t.target().data("id"),a=n.some(function(t){return t.data("id")===r}),o=n.some(function(t){return t.data("id")===i});return!a||!o});this.options.eles=this.options.eles.not(r)}o1.prototype.run=function(){var t=this.options,n=t.cy,r=this;r.stopped=!1,!0!==t.animate&&!1!==t.animate||r.emit({type:"layoutstart",layout:r}),o$=!0===t.debug;var i=o2(n,r,t);o$&&(void 0)(i),t.randomize&&o4(i);var a=eR(),o=function(){o6(i,n,t),!0===t.fit&&n.fit(t.padding)},s=function(n){return!(r.stopped||n>=t.numIter)&&(o8(i,t),i.temperature=i.temperature*t.coolingFactor,!(i.temperature<t.minTemp))},l=function(){if(!0===t.animate||!1===t.animate)o(),r.one("layoutstop",t.stop),r.emit({type:"layoutstop",layout:r});else{var n=t.eles.nodes(),a=o9(i,t,n);n.layoutPositions(r,t,a)}},u=0,c=!0;if(!0===t.animate){var h=function(){for(var n=0;c&&n<t.refresh;)c=s(u),u++,n++;c?(eR()-a>=t.animationThreshold&&o(),eN(h)):(sc(i,t),l())};h()}else{for(;c;)c=s(u),u++;sc(i,t),l()}return this},o1.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},o1.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var o2=function(t,n,r){for(var i=r.eles.edges(),a=r.eles.nodes(),o=tM(r.boundingBox?r.boundingBox:{x1:0,y1:0,w:t.width(),h:t.height()}),s={isCompound:t.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:r.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},l=r.eles.components(),u={},c=0;c<l.length;c++)for(var h=l[c],d=0;d<h.length;d++)u[h[d].id()]=c;for(c=0;c<s.nodeSize;c++){var f=(m=a[c]).layoutDimensions(r);(I={}).isLocked=m.locked(),I.id=m.data("id"),I.parentId=m.data("parent"),I.cmptId=u[m.id()],I.children=[],I.positionX=m.position("x"),I.positionY=m.position("y"),I.offsetX=0,I.offsetY=0,I.height=f.w,I.width=f.h,I.maxX=I.positionX+I.width/2,I.minX=I.positionX-I.width/2,I.maxY=I.positionY+I.height/2,I.minY=I.positionY-I.height/2,I.padLeft=parseFloat(m.style("padding")),I.padRight=parseFloat(m.style("padding")),I.padTop=parseFloat(m.style("padding")),I.padBottom=parseFloat(m.style("padding")),I.nodeRepulsion=Z(r.nodeRepulsion)?r.nodeRepulsion(m):r.nodeRepulsion,s.layoutNodes.push(I),s.idToIndex[I.id]=c}var p=[],g=0,v=-1,y=[];for(c=0;c<s.nodeSize;c++){var m,b=(m=s.layoutNodes[c]).parentId;null!=b?s.layoutNodes[s.idToIndex[b]].children.push(m.id):(p[++v]=m.id,y.push(m.id))}for(s.graphSet.push(y);g<=v;){var x=p[g++],w=s.idToIndex[x],E=s.layoutNodes[w].children;if(E.length>0)for(s.graphSet.push(E),c=0;c<E.length;c++)p[++v]=E[c]}for(c=0;c<s.graphSet.length;c++){var k=s.graphSet[c];for(d=0;d<k.length;d++){var T=s.idToIndex[k[d]];s.indexToGraph[T]=c}}for(c=0;c<s.edgeSize;c++){var C=i[c],P={};P.id=C.data("id"),P.sourceId=C.data("source"),P.targetId=C.data("target");var S=Z(r.idealEdgeLength)?r.idealEdgeLength(C):r.idealEdgeLength,B=Z(r.edgeElasticity)?r.edgeElasticity(C):r.edgeElasticity,D=s.idToIndex[P.sourceId],_=s.idToIndex[P.targetId];if(s.indexToGraph[D]!=s.indexToGraph[_]){for(var A=o5(P.sourceId,P.targetId,s),M=s.graphSet[A],R=0,I=s.layoutNodes[D];-1===M.indexOf(I.id);)I=s.layoutNodes[s.idToIndex[I.parentId]],R++;for(I=s.layoutNodes[_];-1===M.indexOf(I.id);)I=s.layoutNodes[s.idToIndex[I.parentId]],R++;S*=R*r.nestingFactor}P.idealLength=S,P.elasticity=B,s.layoutEdges.push(P)}return s},o5=function(t,n,r){var i=o3(t,n,0,r);return 2>i.count?0:i.graph},o3=function(t,n,r,i){var a=i.graphSet[r];if(-1<a.indexOf(t)&&-1<a.indexOf(n))return{count:2,graph:r};for(var o=0,s=0;s<a.length;s++){var l=a[s],u=i.idToIndex[l],c=i.layoutNodes[u].children;if(0!==c.length){var h=o3(t,n,i.indexToGraph[i.idToIndex[c[0]]],i);if(0!==h.count){if(1!==h.count)return h;if(2==++o)break}}}return{count:o,graph:r}},o4=function(t,n){for(var r=t.clientWidth,i=t.clientHeight,a=0;a<t.nodeSize;a++){var o=t.layoutNodes[a];0!==o.children.length||o.isLocked||(o.positionX=Math.random()*r,o.positionY=Math.random()*i)}},o9=function(t,n,r){var i=t.boundingBox,a={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};
1return n.boundingBox&&(r.forEach(function(n){var r=t.layoutNodes[t.idToIndex[n.data("id")]];a.x1=Math.min(a.x1,r.positionX),a.x2=Math.max(a.x2,r.positionX),a.y1=Math.min(a.y1,r.positionY),a.y2=Math.max(a.y2,r.positionY)}),a.w=a.x2-a.x1,a.h=a.y2-a.y1),function(r,o){var s=t.layoutNodes[t.idToIndex[r.data("id")]];if(n.boundingBox){var l=(s.positionX-a.x1)/a.w,u=(s.positionY-a.y1)/a.h;return{x:i.x1+l*i.w,y:i.y1+u*i.h}}return{x:s.positionX,y:s.positionY}}},o6=function(t,n,r){var i=r.layout,a=r.eles.nodes(),o=o9(t,r,a);a.positions(o),!0!==t.ready&&(t.ready=!0,i.one("layoutready",r.ready),i.emit({type:"layoutready",layout:this}))},o8=function(t,n,r){o7(t,n),si(t),sa(t,n),so(t),ss(t)},o7=function(t,n){for(var r=0;r<t.graphSet.length;r++)for(var i=t.graphSet[r],a=i.length,o=0;o<a;o++)for(var s=t.layoutNodes[t.idToIndex[i[o]]],l=o+1;l<a;l++)st(s,t.layoutNodes[t.idToIndex[i[l]]],t,n)},se=function(t){return 2*t*Math.random()-1},st=function(t,n,r,i){if(t.cmptId===n.cmptId||r.isCompound){var a=n.positionX-t.positionX,o=n.positionY-t.positionY;0===a&&0===o&&(a=se(1),o=se(1));var s=sn(t,n,a,o);if(s>0)var l=(c=i.nodeOverlap*s)*a/(v=Math.sqrt(a*a+o*o)),u=c*o/v;else{var c,h=sr(t,a,o),d=sr(n,-1*a,-1*o),f=d.x-h.x,p=d.y-h.y,g=f*f+p*p,v=Math.sqrt(g);l=(c=(t.nodeRepulsion+n.nodeRepulsion)/g)*f/v,u=c*p/v}t.isLocked||(t.offsetX-=l,t.offsetY-=u),n.isLocked||(n.offsetX+=l,n.offsetY+=u)}},sn=function(t,n,r,i){if(r>0)var a=t.maxX-n.minX;else a=n.maxX-t.minX;if(i>0)var o=t.maxY-n.minY;else o=n.maxY-t.minY;return a>=0&&o>=0?Math.sqrt(a*a+o*o):0},sr=function(t,n,r){var i=t.positionX,a=t.positionY,o=t.height||1,s=t.width||1,l=r/n,u=o/s,c={};return 0===n&&0<r||0===n&&0>r?(c.x=i,c.y=a+o/2):0<n&&-1*u<=l&&l<=u?(c.x=i+s/2,c.y=a+s*r/2/n):0>n&&-1*u<=l&&l<=u?(c.x=i-s/2,c.y=a-s*r/2/n):0<r&&(l<=-1*u||l>=u)?(c.x=i+o*n/2/r,c.y=a+o/2):0>r&&(l<=-1*u||l>=u)&&(c.x=i-o*n/2/r,c.y=a-o/2),c},si=function(t,n){for(var r=0;r<t.edgeSize;r++){var i=t.layoutEdges[r],a=t.idToIndex[i.sourceId],o=t.layoutNodes[a],s=t.idToIndex[i.targetId],l=t.layoutNodes[s],u=l.positionX-o.positionX,c=l.positionY-o.positionY;if(0!==u||0!==c){var h=sr(o,u,c),d=sr(l,-1*u,-1*c),f=d.x-h.x,p=d.y-h.y,g=Math.sqrt(f*f+p*p),v=Math.pow(i.idealLength-g,2)/i.elasticity;if(0!==g)var y=v*f/g,m=v*p/g;else y=0,m=0;o.isLocked||(o.offsetX+=y,o.offsetY+=m),l.isLocked||(l.offsetX-=y,l.offsetY-=m)}}},sa=function(t,n){if(0!==n.gravity)for(var r=0;r<t.graphSet.length;r++){var i=t.graphSet[r],a=i.length;if(0===r)var o=t.clientHeight/2,s=t.clientWidth/2;else{var l=t.layoutNodes[t.idToIndex[i[0]]],u=t.layoutNodes[t.idToIndex[l.parentId]];o=u.positionX,s=u.positionY}for(var c=0;c<a;c++){var h=t.layoutNodes[t.idToIndex[i[c]]];if(!h.isLocked){var d=o-h.positionX,f=s-h.positionY,p=Math.sqrt(d*d+f*f);if(p>1){var g=n.gravity*d/p,v=n.gravity*f/p;h.offsetX+=g,h.offsetY+=v}}}}},so=function(t,n){var r=[],i=0,a=-1;for(r.push.apply(r,t.graphSet[0]),a+=t.graphSet[0].length;i<=a;){var o=r[i++],s=t.idToIndex[o],l=t.layoutNodes[s],u=l.children;if(0<u.length&&!l.isLocked){for(var c=l.offsetX,h=l.offsetY,d=0;d<u.length;d++){var f=t.layoutNodes[t.idToIndex[u[d]]];f.offsetX+=c,f.offsetY+=h,r[++a]=u[d]}l.offsetX=0,l.offsetY=0}}},ss=function(t,n){for(var r,i=0;i<t.nodeSize;i++)0<(r=t.layoutNodes[i]).children.length&&(r.maxX=void 0,r.minX=void 0,r.maxY=void 0,r.minY=void 0);for(i=0;i<t.nodeSize;i++)if(!(0<(r=t.layoutNodes[i]).children.length||r.isLocked)){var a=sl(r.offsetX,r.offsetY,t.temperature);r.positionX+=a.x,r.positionY+=a.y,r.offsetX=0,r.offsetY=0,r.minX=r.positionX-r.width,r.maxX=r.positionX+r.width,r.minY=r.positionY-r.height,r.maxY=r.positionY+r.height,su(r,t)}for(i=0;i<t.nodeSize;i++)0<(r=t.layoutNodes[i]).children.length&&!r.isLocked&&(r.positionX=(r.maxX+r.minX)/2,r.positionY=(r.maxY+r.minY)/2,r.width=r.maxX-r.minX,r.height=r.maxY-r.minY)},sl=function(t,n,r){var i=Math.sqrt(t*t+n*n);if(i>r)var a={x:r*t/i,y:r*n/i};else a={x:t,y:n};return a},su=function(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLeft<i.minX)&&(i.minX=t.minX-i.padLeft,a=!0),(null==i.maxY||t.maxY+i.padBottom>i.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTop<i.minY)&&(i.minY=t.minY-i.padTop,a=!0),a?su(i,n):void 0}},sc=function(t,n){for(var r,i=t.layoutNodes,a=[],o=0;o<i.length;o++){var s=i[o],l=s.cmptId;(a[l]=a[l]||[]).push(s)}var u=0;for(o=0;o<a.length;o++)if(r=a[o]){r.x1=1/0,r.x2=-1/0,r.y1=1/0,r.y2=-1/0;for(var c=0;c<r.length;c++){var h=r[c];r.x1=Math.min(r.x1,h.positionX-h.width/2),r.x2=Math.max(r.x2,h.positionX+h.width/2),r.y1=Math.min(r.y1,h.positionY-h.height/2),r.y2=Math.max(r.y2,h.positionY+h.height/2)}r.w=r.x2-r.x1,r.h=r.y2-r.y1,u+=r.w*r.h}a.sort(function(t,n){return n.w*n.h-t.w*t.h});var d=0,f=0,p=0,g=0,v=Math.sqrt(u)*t.clientWidth/t.clientHeight;for(o=0;o<a.length;o++)if(r=a[o]){for(c=0;c<r.length;c++)(h=r[c]).isLocked||(h.positionX+=d-r.x1,h.positionY+=f-r.y1);d+=r.w+n.componentSpacing,p+=r.w+n.componentSpacing,g=Math.max(g,r.h),p>v&&(f+=g+n.componentSpacing,d=0,p=0,g=0)}},sh={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(t){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,n){return!0},ready:void 0,stop:void 0,transform:function(t,n){return n}};function sd(t){this.options=eb({},sh,t)}sd.prototype.run=function(){var t=this.options,n=t.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=tM(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,function(t){return{x:a.x1,y:a.y1}});else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),l=Math.round(s),u=Math.round(a.w/a.h*s),c=function(t){if(null==t)return Math.min(l,u);Math.min(l,u)==l?l=t:u=t},h=function(t){if(null==t)return Math.max(l,u);Math.max(l,u)==l?l=t:u=t},d=t.rows,f=null!=t.cols?t.cols:t.columns;if(null!=d&&null!=f)l=d,u=f;else if(null!=d&&null==f)u=Math.ceil(o/(l=d));else if(null==d&&null!=f)l=Math.ceil(o/(u=f));else if(u*l>o){var p=c(),g=h();(p-1)*g>=o?c(p-1):(g-1)*p>=o&&h(g-1)}else for(;u*l<o;){var v=c(),y=h();(y+1)*v>=o?h(y+1):c(v+1)}var m=a.w/u,b=a.h/l;
1if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x<i.length;x++){var w=i[x],E=w._private.position;null!=E.x&&null!=E.y||(E.x=0,E.y=0);var k=w.layoutDimensions(t),T=t.avoidOverlapPadding,C=k.w+T,P=k.h+T;m=Math.max(m,C),b=Math.max(b,P)}for(var S={},B=function(t,n){return!!S["c-"+t+"-"+n]},D=function(t,n){S["c-"+t+"-"+n]=!0},_=0,A=0,M=function(){++A>=u&&(A=0,_++)},R={},I=0;I<i.length;I++){var N=i[I],L=t.position(N);if(L&&(void 0!==L.row||void 0!==L.col)){var z={row:L.row,col:L.col};if(void 0===z.col)for(z.col=0;B(z.row,z.col);)z.col++;else if(void 0===z.row)for(z.row=0;B(z.row,z.col);)z.row++;R[N.id()]=z,D(z.row,z.col)}}i.layoutPositions(this,t,function(t,n){if(t.locked()||t.isParent())return!1;var r,i,o=R[t.id()];if(o)r=o.col*m+m/2+a.x1,i=o.row*b+b/2+a.y1;else{for(;B(_,A);)M();r=A*m+m/2+a.x1,i=_*b+b/2+a.y1,D(_,A),M()}return{x:r,y:i}})}return this};var sf={ready:function(){},stop:function(){}};function sp(t){this.options=eb({},sf,t)}sp.prototype.run=function(){var t=this.options,n=t.eles;return t.cy,this.emit("layoutstart"),n.nodes().positions(function(){return{x:0,y:0}}),this.one("layoutready",t.ready),this.emit("layoutready"),this.one("layoutstop",t.stop),this.emit("layoutstop"),this},sp.prototype.stop=function(){return this};var sg={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,n){return!0},ready:void 0,stop:void 0,transform:function(t,n){return n}};function sv(t){this.options=eb({},sg,t)}sv.prototype.run=function(){var t=this.options,n=t.eles.nodes(),r=Z(t.positions);return n.layoutPositions(this,t,function(n,i){var a=function(n){if(null==t.positions){var i;return{x:(i=n.position()).x,y:i.y}}if(r)return t.positions(n);var a=t.positions[n._private.data.id];return null==a?null:a}(n);return!n.locked()&&null!=a&&a}),this};var sy={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(t,n){return!0},ready:void 0,stop:void 0,transform:function(t,n){return n}};function sm(t){this.options=eb({},sy,t)}function sb(t){this.options=t,this.notifications=0}sm.prototype.run=function(){var t=this.options,n=t.cy,r=t.eles,i=tM(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});return r.nodes().layoutPositions(this,t,function(t,n){return{x:i.x1+Math.round(Math.random()*i.w),y:i.y1+Math.round(Math.random()*i.h)}}),this};var sx=function(){},sw=function(){throw Error("A headless instance can not render images")};sb.prototype={recalculateRenderedStyle:sx,notify:function(){this.notifications++},init:sx,isHeadless:function(){return!0},png:sw,jpg:sw};var sE={calculateArrowAngles:function(t){var n,r,i,a,o,s,l=t._private.rscratch,u="haystack"===l.edgeType,c="bezier"===l.edgeType,h="multibezier"===l.edgeType,d="segments"===l.edgeType,f="compound"===l.edgeType,p="self"===l.edgeType;if(u?(i=l.haystackPts[0],a=l.haystackPts[1],o=l.haystackPts[2],s=l.haystackPts[3]):(i=l.arrowStartX,a=l.arrowStartY,o=l.arrowEndX,s=l.arrowEndY),v=l.midX,y=l.midY,d)n=i-l.segpts[0],r=a-l.segpts[1];else if(h||f||p||c){var g=l.allpts;n=i-tD(g[0],g[2],g[4],.1),r=a-tD(g[1],g[3],g[5],.1)}else n=i-v,r=a-y;l.srcArrowAngle=tk(n,r);var v=l.midX,y=l.midY;if(u&&(v=(i+o)/2,y=(a+s)/2),n=o-i,r=s-a,d){if((g=l.allpts).length/2%2==0){var m=(P=g.length/2)-2;n=g[P]-g[m],r=g[P+1]-g[m+1]}else l.isRound?(n=l.midVector[1],r=-l.midVector[0]):(m=(P=g.length/2-1)-2,n=g[P]-g[m],r=g[P+1]-g[m+1])}else if(h||f||p){var b,x,w,E,k,T,g=l.allpts;if(l.ctrlpts.length/2%2==0){var C=(b=(x=g.length/2-1)+2)+2;w=tD(g[x],g[b],g[C],0),E=tD(g[x+1],g[b+1],g[C+1],0),k=tD(g[x],g[b],g[C],1e-4),T=tD(g[x+1],g[b+1],g[C+1],1e-4)}else C=(b=g.length/2-1)+2,w=tD(g[x=b-2],g[b],g[C],.4999),E=tD(g[x+1],g[b+1],g[C+1],.4999),k=tD(g[x],g[b],g[C],.5),T=tD(g[x+1],g[b+1],g[C+1],.5);n=k-w,r=T-E}if(l.midtgtArrowAngle=tk(n,r),l.midDispX=n,l.midDispY=r,n*=-1,r*=-1,d){if((g=l.allpts).length/2%2==0);else if(!l.isRound){var P,S=(P=g.length/2-1)+2;n=-(g[S]-g[P]),r=-(g[S+1]-g[P+1])}}if(l.midsrcArrowAngle=tk(n,r),d)n=o-l.segpts[l.segpts.length-2],r=s-l.segpts[l.segpts.length-1];else if(h||f||p||c){var B=(g=l.allpts).length;n=o-tD(g[B-6],g[B-4],g[B-2],.9),r=s-tD(g[B-5],g[B-3],g[B-1],.9)}else n=o-v,r=s-y;l.tgtArrowAngle=tk(n,r)}};sE.getArrowWidth=sE.getArrowHeight=function(t,n){var r=this.arrowWidthCache=this.arrowWidthCache||{},i=r[t+", "+n];
1return i||(i=Math.max(Math.pow(13.37*t,.9),29)*n,r[t+", "+n]=i,i)};var sk,sT,sC,sP,sS,sB,sD,s_,sA,sM,sR,sI,sN,sL,sz,sO,sV,sF={},sj={},sX=function(t,n,r){r.x=n.x-t.x,r.y=n.y-t.y,r.len=Math.sqrt(r.x*r.x+r.y*r.y),r.nx=r.x/r.len,r.ny=r.y/r.len,r.ang=Math.atan2(r.ny,r.nx)},sq=function(t,n,r,i,a){if(t!==sV?sX(n,t,sF):(sF.x=-1*sj.x,sF.y=-1*sj.y,sF.nx=-1*sj.nx,sF.ny=-1*sj.ny,sF.ang=sj.ang>0?-(Math.PI-sj.ang):Math.PI+sj.ang),sX(n,r,sj),sC=sF.nx*sj.ny-sF.ny*sj.nx,sP=sF.nx*sj.nx- -(sF.ny*sj.ny),1e-6>Math.abs(sD=Math.asin(Math.max(-1,Math.min(1,sC)))))return sk=n.x,sT=n.y,void(sA=sR=0);sS=1,sB=!1,sP<0?sD<0?sD=Math.PI+sD:(sD=Math.PI-sD,sS=-1,sB=!0):sD>0&&(sS=-1,sB=!0),sR=void 0!==n.radius?n.radius:i,s_=sD/2,sI=Math.min(sF.len/2,sj.len/2),sA=a?(sM=Math.abs(Math.cos(s_)*sR/Math.sin(s_)))>sI?Math.abs((sM=sI)*Math.sin(s_)/Math.cos(s_)):sR:Math.abs((sM=Math.min(sI,sR))*Math.sin(s_)/Math.cos(s_)),sz=n.x+sj.nx*sM,sO=n.y+sj.ny*sM,sk=sz-sj.ny*sA*sS,sT=sO+sj.nx*sA*sS,sN=n.x+sF.nx*sM,sL=n.y+sF.ny*sM,sV=n};function sY(t,n){0===n.radius?t.lineTo(n.cx,n.cy):t.arc(n.cx,n.cy,n.radius,n.startAngle,n.endAngle,n.counterClockwise)}function sW(t,n,r,i){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return 0===i||0===n.radius?{cx:n.x,cy:n.y,radius:0,startX:n.x,startY:n.y,stopX:n.x,stopY:n.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(sq(t,n,r,i,a),{cx:sk,cy:sT,radius:sA,startX:sN,startY:sL,stopX:sz,stopY:sO,startAngle:sF.ang+Math.PI/2*sS,endAngle:sj.ang-Math.PI/2*sS,counterClockwise:sB})}var sU=Math.sqrt(.02),sH={};function sK(t){var n=[];if(null!=t){for(var r=0;r<t.length;r+=2){var i=t[r],a=t[r+1];n.push({x:i,y:a})}return n}}sH.findMidptPtsEtc=function(t,n){var r,i=n.posPts,a=n.intersectionPts,o=n.vectorNormInverse,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),c=null!=s.units&&null!=l.units;switch(t.pstyle("edge-distances").value){case"node-position":r=i;break;case"intersection":r=a;break;case"endpoints":if(c){var h,d,f,p=u(this.manualEndptToPx(t.source()[0],s),2),g=p[0],v=p[1],y=u(this.manualEndptToPx(t.target()[0],l),2),m=y[0],b=y[1];h=b-v,f=Math.sqrt((d=m-g)*d+h*h),o={x:-h/f,y:d/f},r={x1:g,y1:v,x2:m,y2:b}}else e1("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint.  Falling back on edge-distances:intersection (default).")),r=a}return{midptPts:r,vectorNormInverse:o}},sH.findHaystackPoints=function(t){for(var n=0;n<t.length;n++){var r=t[n],i=r._private,a=i.rscratch;if(!a.haystack){var o=2*Math.random()*Math.PI;a.source={x:Math.cos(o),y:Math.sin(o)},o=2*Math.random()*Math.PI,a.target={x:Math.cos(o),y:Math.sin(o)}}var s=i.source,l=i.target,u=s.position(),c=l.position(),h=s.width(),d=l.width(),f=s.height(),p=l.height(),g=r.pstyle("haystack-radius").value/2;a.haystackPts=a.allpts=[a.source.x*h*g+u.x,a.source.y*f*g+u.y,a.target.x*d*g+c.x,a.target.y*p*g+c.y],a.midX=(a.allpts[0]+a.allpts[2])/2,a.midY=(a.allpts[1]+a.allpts[3])/2,a.edgeType="haystack",a.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}},sH.findSegmentsPoints=function(t,n){var r=t._private.rscratch,i=t.pstyle("segment-weights"),a=t.pstyle("segment-distances"),o=t.pstyle("segment-radii"),s=t.pstyle("radius-type"),l=Math.min(i.pfValue.length,a.pfValue.length),u=o.pfValue[o.pfValue.length-1],c=s.pfValue[s.pfValue.length-1];r.edgeType="segments",r.segpts=[],r.radii=[],r.isArcRadius=[];for(var h=0;h<l;h++){var d=i.pfValue[h],f=a.pfValue[h],p=1-d,g=this.findMidptPtsEtc(t,n),v=g.midptPts,y=g.vectorNormInverse,m={x:v.x1*p+v.x2*d,y:v.y1*p+v.y2*d};r.segpts.push(m.x+y.x*f,m.y+y.y*f),r.radii.push(void 0!==o.pfValue[h]?o.pfValue[h]:u),r.isArcRadius.push("arc-radius"===(void 0!==s.pfValue[h]?s.pfValue[h]:c))}},sH.findLoopPoints=function(t,n,r,i){var a=t._private.rscratch,o=n.dirCounts,s=n.srcPos,l=t.pstyle("control-point-distances"),u=l?l.pfValue[0]:void 0,c=t.pstyle("loop-direction").pfValue,h=t.pstyle("loop-sweep").pfValue,d=t.pstyle("control-point-step-size").pfValue;a.edgeType="self";var f=r,p=d;i&&(f=0,p=u);var g=c-Math.PI/2,v=g-h/2,y=g+h/2,m=String(c+"_"+h);f=void 0===o[m]?o[m]=0:++o[m],a.ctrlpts=[s.x+1.4*Math.cos(v)*p*(f/3+1),s.y+1.4*Math.sin(v)*p*(f/3+1),s.x+1.4*Math.cos(y)*p*(f/3+1),s.y+1.4*Math.sin(y)*p*(f/3+1)]},sH.findCompoundLoopPoints=function(t,n,r,i){var a=t._private.rscratch;a.edgeType="compound";var o=n.srcPos,s=n.tgtPos,l=n.srcW,u=n.srcH,c=n.tgtW,h=n.tgtH,d=t.pstyle("control-point-step-size").pfValue,f=t.pstyle("control-point-distances"),p=f?f.pfValue[0]:void 0,g=r,v=d;i&&(g=0,v=p);var y={x:o.x-l/2,y:o.y-u/2},m={x:s.x-c/2,y:s.y-h/2},b={x:Math.min(y.x,m.x),y:Math.min(y.y,m.y)},x=Math.max(.5,Math.log(.01*l)),w=Math.max(.5,Math.log(.01*c));a.ctrlpts=[b.x,b.y-1.7995514309304248*v*(g/3+1)*x,b.x-1.7995514309304248*v*(g/3+1)*w,b.y]},sH.findStraightEdgePoints=function(t){t._private.rscratch.edgeType="straight"},sH.findBezierPoints=function(t,n,r,i,a){var o=t._private.rscratch,s=t.pstyle("control-point-step-size").pfValue,l=t.pstyle("control-point-distances"),u=t.pstyle("control-point-we
1ights"),c=l&&u?Math.min(l.value.length,u.value.length):1,h=l?l.pfValue[0]:void 0,d=u.value[0];o.edgeType=i?"multibezier":"bezier",o.ctrlpts=[];for(var f=0;f<c;f++){var p=(.5-n.eles.length/2+r)*s*(a?-1:1),g=void 0,v=tC(p);i&&(h=l?l.pfValue[f]:s,d=u.value[f]);var y=void 0!==(g=i?h:void 0!==h?v*h:void 0)?g:p,m=1-d,b=d,x=this.findMidptPtsEtc(t,n),w=x.midptPts,E=x.vectorNormInverse,k={x:w.x1*m+w.x2*b,y:w.y1*m+w.y2*b};o.ctrlpts.push(k.x+E.x*y,k.y+E.y*y)}},sH.findTaxiPoints=function(t,n){var r=t._private.rscratch;r.edgeType="segments";var i="vertical",a="horizontal",o="leftward",s="rightward",l="downward",u="upward",c=n.posPts,h=n.srcW,d=n.srcH,f=n.tgtW,p=n.tgtH,g="node-position"!==t.pstyle("edge-distances").value,v=t.pstyle("taxi-direction").value,y=v,m=t.pstyle("taxi-turn"),b="%"===m.units,x=m.pfValue,w=t.pstyle("taxi-turn-min-distance").pfValue,E=c.x2-c.x1,k=c.y2-c.y1,T=function(t,n){return t>0?Math.max(t-n,0):Math.min(t+n,0)},C=T(E,g?(h+f)/2:0),P=T(k,g?(d+p)/2:0),S=!1;"auto"===y?v=Math.abs(C)>Math.abs(P)?a:i:y===u||y===l?(v=i,S=!0):y!==o&&y!==s||(v=a,S=!0);var B,D=v===i,_=D?P:C,A=D?k:E,M=tC(A),R=!1;S&&(b||x<0)||!(y===l&&A<0||y===u&&A>0||y===o&&A>0||y===s&&A<0)||(_=(M*=-1)*Math.abs(_),R=!0);var I=function(t){return Math.abs(t)<w||Math.abs(t)>=Math.abs(_)},N=I(B=b?(x<0?1+x:x)*_:(x<0?_:0)+x*M),L=I(Math.abs(_)-Math.abs(B));if((N||L)&&!R){if(D){var z=Math.abs(E)<=f/2;if(Math.abs(A)<=d/2){var O=(c.x1+c.x2)/2,V=c.y1,F=c.y2;r.segpts=[O,V,O,F]}else if(z){var j=(c.y1+c.y2)/2,X=c.x1,q=c.x2;r.segpts=[X,j,q,j]}else r.segpts=[c.x1,c.y2]}else{var Y=Math.abs(k)<=p/2;if(Math.abs(A)<=h/2){var W=(c.y1+c.y2)/2,U=c.x1,H=c.x2;r.segpts=[U,W,H,W]}else if(Y){var K=(c.x1+c.x2)/2,G=c.y1,Z=c.y2;r.segpts=[K,G,K,Z]}else r.segpts=[c.x2,c.y1]}}else if(D){var $=c.y1+B+(g?d/2*M:0),Q=c.x1,J=c.x2;r.segpts=[Q,$,J,$]}else{var ee=c.x1+B+(g?h/2*M:0),et=c.y1,en=c.y2;r.segpts=[ee,et,ee,en]}if(r.isRound){var er=t.pstyle("taxi-radius").value,ei="arc-radius"===t.pstyle("radius-type").value[0];r.radii=Array(r.segpts.length/2).fill(er),r.isArcRadius=Array(r.segpts.length/2).fill(ei)}},sH.tryToCorrectInvalidPoints=function(t,n){var r=t._private.rscratch;if("bezier"===r.edgeType){var i=n.srcPos,a=n.tgtPos,o=n.srcW,s=n.srcH,l=n.tgtW,u=n.tgtH,c=n.srcShape,h=n.tgtShape,d=n.srcCornerRadius,f=n.tgtCornerRadius,p=n.srcRs,g=n.tgtRs,v=!J(r.startX)||!J(r.startY),y=!J(r.arrowStartX)||!J(r.arrowStartY),m=!J(r.endX)||!J(r.endY),b=!J(r.arrowEndX)||!J(r.arrowEndY),x=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth*3,w=tP({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=w<x,k=tP({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),T=k<x,C=!1;if(v||y||E){C=!0;var P={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},S=Math.sqrt(P.x*P.x+P.y*P.y),B={x:P.x/S,y:P.y/S},D=Math.max(o,s),_={x:r.ctrlpts[0]+2*B.x*D,y:r.ctrlpts[1]+2*B.y*D},A=c.intersectLine(i.x,i.y,o,s,_.x,_.y,0,d,p);E?(r.ctrlpts[0]=r.ctrlpts[0]+B.x*(x-w),r.ctrlpts[1]=r.ctrlpts[1]+B.y*(x-w)):(r.ctrlpts[0]=A[0]+B.x*x,r.ctrlpts[1]=A[1]+B.y*x)}if(m||b||T){C=!0;var M={x:r.ctrlpts[0]-a.x,y:r.ctrlpts[1]-a.y},R=Math.sqrt(M.x*M.x+M.y*M.y),I={x:M.x/R,y:M.y/R},N=Math.max(o,s),L={x:r.ctrlpts[0]+2*I.x*N,y:r.ctrlpts[1]+2*I.y*N},z=h.intersectLine(a.x,a.y,l,u,L.x,L.y,0,f,g);T?(r.ctrlpts[0]=r.ctrlpts[0]+I.x*(x-k),r.ctrlpts[1]=r.ctrlpts[1]+I.y*(x-k)):(r.ctrlpts[0]=z[0]+I.x*x,r.ctrlpts[1]=z[1]+I.y*x)}C&&this.findEndpoints(t)}},sH.storeAllpts=function(t){var n=t._private.rscratch;if("multibezier"===n.edgeType||"bezier"===n.edgeType||"self"===n.edgeType||"compound"===n.edgeType){n.allpts=[],n.allpts.push(n.startX,n.startY);for(var r,i=0;i+1<n.ctrlpts.length;i+=2)n.allpts.push(n.ctrlpts[i],n.ctrlpts[i+1]),i+3<n.ctrlpts.length&&n.allpts.push((n.ctrlpts[i]+n.ctrlpts[i+2])/2,(n.ctrlpts[i+1]+n.ctrlpts[i+3])/2);n.allpts.push(n.endX,n.endY),n.ctrlpts.length/2%2==0?(r=n.allpts.length/2-1,n.midX=n.allpts[r],n.midY=n.allpts[r+1]):(r=n.allpts.length/2-3,n.midX=tD(n.allpts[r],n.allpts[r+2],n.allpts[r+4],.5),n.midY=tD(n.allpts[r+1],n.allpts[r+3],n.allpts[r+5],.5))}else if("straight"===n.edgeType)n.allpts=[n.startX,n.startY,n.endX,n.endY],n.midX=(n.startX+n.endX+n.arrowStartX+n.arrowEndX)/4,n.midY=(n.startY+n.endY+n.arrowStartY+n.arrowEndY)/4;else if("segments"===n.edgeType){if(n.allpts=[],n.allpts.push(n.startX,n.startY),n.allpts.push.apply(n.allpts,n.segpts),n.allpts.push(n.endX,n.endY),n.isRound){n.roundCorners=[];for(var a=2;a+3<n.allpts.length;a+=2){var o=n.radii[a/2-1],s=n.isArcRadius[a/2-1];n.roundCorners.push(sW({x:n.allpts[a-2],y:n.allpts[a-1]},{x:n.allpts[a],y:n.allpts[a+1],radius:o},{x:n.allpts[a+2],y:n.allpts[a+3]},o,s))}}if(n.segpts.length%4==0){var l=n.segpts.length/2,u=l-2;n.midX=(n.segpts[u]+n.segpts[l])/2,n.midY=(n.segpts[u+1]+n.segpts[l+1])/2}else{var c=n.segpts.length/2-1;if(n.isRound){var h={x:n.segpts[c],y:n.segpts[c+1]},d=n.roundCorners[c/2];if(0===d.radius){var f={x:n.segpts[c+2],y:n.segpts[c+3]};n.midX=h.x,n.midY=h.y,n.midVector=[h.y-f.y,f.x-h.x]}else{var p=[h.x-d.cx,h.y-d.cy],g=d.radius/Math.sqrt(Math.pow(p[0],2)+Math.pow(p[1],2));p=p.map(function(t){return t*g}),n.midX=d.cx+p[0],n.midY=d.cy+p[1],n.midVector=p}}else n.midX=n.segpts[c],n.midY=n.segpts[c+1]}}},sH.checkForInvalidEdgeWarning=function(t){var n=t[0]._private.rscratch;n.nodesOverlap||J(n.startX)&&J(n.startY)&&J(n.endX)&&J(n.endY)?n.loggedErr=!1:n.loggedErr||(n.loggedErr=!0,e1("Edge `"+t.id()+"` has invali
1d endpoints and so it is impossible to draw.  Adjust your edge style (e.g. control points) accordingly or use an alternative edge type.  This is expected behaviour when the source node and the target node overlap."))},sH.findEdgeControlPoints=function(t){var n=this;if(t&&0!==t.length){for(var r=this,i=r.cy.hasCompoundNodes(),a=new tt,o=function(t,n){return[].concat(c(t),[n?1:0]).join("-")},s=[],l=[],u=0;u<t.length;u++){var h=t[u],d=h._private,f=h.pstyle("curve-style").value;if(!h.removed()&&h.takesUpSpace()){if("haystack"!==f){var p="unbundled-bezier"===f||f.endsWith("segments")||"straight"===f||"straight-triangle"===f||f.endsWith("taxi"),g="unbundled-bezier"===f||"bezier"===f,v=d.source,y=d.target,m=[v.poolIndex(),y.poolIndex()].sort(),b=o(m,p),x=a.get(b);null==x&&(x={eles:[]},s.push({pairId:m,edgeIsUnbundled:p}),a.set(b,x)),x.eles.push(h),p&&(x.hasUnbundled=!0),g&&(x.hasBezier=!0)}else l.push(h)}}for(var w=0;w<s.length;w++)(function(){var t,l=s[w],u=o(l.pairId,l.edgeIsUnbundled),c=a.get(u);if(!c.hasUnbundled){var h=c.eles[0].parallelEdges().filter(function(t){return t.isBundledBezier()});e8(c.eles),h.forEach(function(t){return c.eles.push(t)}),c.eles.sort(function(t,n){return t.poolIndex()-n.poolIndex()})}var d=c.eles[0],f=d.source(),p=d.target();if(f.poolIndex()>p.poolIndex()){var g=f;f=p,p=g}var v=c.srcPos=f.position(),y=c.tgtPos=p.position(),m=c.srcW=f.outerWidth(),b=c.srcH=f.outerHeight(),x=c.tgtW=p.outerWidth(),E=c.tgtH=p.outerHeight(),k=c.srcShape=r.nodeShapes[n.getNodeShape(f)],T=c.tgtShape=r.nodeShapes[n.getNodeShape(p)],C=c.srcCornerRadius="auto"===f.pstyle("corner-radius").value?"auto":f.pstyle("corner-radius").pfValue,P=c.tgtCornerRadius="auto"===p.pstyle("corner-radius").value?"auto":p.pstyle("corner-radius").pfValue,S=c.tgtRs=p._private.rscratch,B=c.srcRs=f._private.rscratch;c.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var D=0;D<c.eles.length;D++){var _=c.eles[D],A=_[0]._private.rscratch,M=_.pstyle("curve-style").value,R="unbundled-bezier"===M||M.endsWith("segments")||M.endsWith("taxi"),I=!f.same(_.source());if(!c.calculatedIntersection&&f!==p&&(c.hasBezier||c.hasUnbundled)){c.calculatedIntersection=!0;var N=k.intersectLine(v.x,v.y,m,b,y.x,y.y,0,C,B),L=c.srcIntn=N,z=T.intersectLine(y.x,y.y,x,E,v.x,v.y,0,P,S),O=c.tgtIntn=z,V=c.intersectionPts={x1:N[0],x2:z[0],y1:N[1],y2:z[1]},F=c.posPts={x1:v.x,x2:y.x,y1:v.y,y2:y.y},j=z[1]-N[1],X=z[0]-N[0],q=Math.sqrt(X*X+j*j);J(q)&&q>=sU||(q=Math.sqrt(Math.max(X*X,.01)+Math.max(j*j,.01)));var Y=c.vector={x:X,y:j},W=c.vectorNorm={x:Y.x/q,y:Y.y/q},U={x:-W.y,y:W.x};c.nodesOverlap=!J(q)||T.checkPoint(N[0],N[1],0,x,E,y.x,y.y,P,S)||k.checkPoint(z[0],z[1],0,m,b,v.x,v.y,C,B),c.vectorNormInverse=U,t={nodesOverlap:c.nodesOverlap,dirCounts:c.dirCounts,calculatedIntersection:!0,hasBezier:c.hasBezier,hasUnbundled:c.hasUnbundled,eles:c.eles,srcPos:y,srcRs:S,tgtPos:v,tgtRs:B,srcW:x,srcH:E,tgtW:m,tgtH:b,srcIntn:O,tgtIntn:L,srcShape:T,tgtShape:k,posPts:{x1:F.x2,y1:F.y2,x2:F.x1,y2:F.y1},intersectionPts:{x1:V.x2,y1:V.y2,x2:V.x1,y2:V.y1},vector:{x:-Y.x,y:-Y.y},vectorNorm:{x:-W.x,y:-W.y},vectorNormInverse:{x:-U.x,y:-U.y}}}var H=I?t:c;A.nodesOverlap=H.nodesOverlap,A.srcIntn=H.srcIntn,A.tgtIntn=H.tgtIntn,A.isRound=M.startsWith("round"),i&&(f.isParent()||f.isChild()||p.isParent()||p.isChild())&&(f.parents().anySame(p)||p.parents().anySame(f)||f.same(p)&&f.isParent())?n.findCompoundLoopPoints(_,H,D,R):f===p?n.findLoopPoints(_,H,D,R):M.endsWith("segments")?n.findSegmentsPoints(_,H):M.endsWith("taxi")?n.findTaxiPoints(_,H):"straight"!==M&&(R||c.eles.length%2!=1||D!==Math.floor(c.eles.length/2))?n.findBezierPoints(_,H,D,R,I):n.findStraightEdgePoints(_),n.findEndpoints(_),n.tryToCorrectInvalidPoints(_,H),n.checkForInvalidEdgeWarning(_),n.storeAllpts(_),n.storeEdgeProjections(_),n.calculateArrowAngles(_),n.recalculateEdgeLabelProjections(_),n.calculateLabelAngles(_)}})();this.findHaystackPoints(l)}},sH.getSegmentPoints=function(t){var n=t[0]._private.rscratch;if(this.recalculateRenderedStyle(t),"segments"===n.edgeType)return sK(n.segpts)},sH.getControlPoints=function(t){var n=t[0]._private.rscratch;this.recalculateRenderedStyle(t);var r=n.edgeType;if("bezier"===r||"multibezier"===r||"self"===r||"compound"===r)return sK(n.ctrlpts)},sH.getEdgeMidpoint=function(t){var n=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),{x:n.midX,y:n.midY}};var sG={};sG.storeEdgeProjections=function(t){var n=t._private,r=n.rscratch,i=r.edgeType;if(n.rstyle.bezierPts=null,n.rstyle.linePts=null,n.rstyle.haystackPts=null,"multibezier"===i||"bezier"===i||"self"===i||"compound"===i){n.rstyle.bezierPts=[];for(var a=0;a+5<r.allpts.length;a+=4)(function(t,n,r){for(var i=function(t,n,r,i){return tD(t,n,r,i)},a=n._private.rstyle.bezierPts,o=0;o<t.bezierProjPcts.length;o++){var s=t.bezierProjPcts[o];a.push({x:i(r[0],r[2],r[4],s),y:i(r[1],r[3],r[5],s)})}})(this,t,r.allpts.slice(a,a+6))}else if("segments"===i){var o=n.rstyle.linePts=[];for(a=0;a+1<r.allpts.length;a+=2)o.push({x:r.allpts[a],y:r.allpts[a+1]})}else if("haystack"===i){var s=r.haystackPts;n.rstyle.haystackPts=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}]}n.rstyle.arrowWidth=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth},sG.recalculateEdgeProjections=function(t){this.findEdgeControlPoints(t)};var sZ={recalculateNodeLabelProjection:function(t){if(!eo(t.pstyle("label").strValue)){var n,r,i=t._private,a=t.width(),o=t.height(),s=t.padding(),l=t.position(),u=t.pstyle("text-halign").strValue,c=t.pstyle("text-valign").strValue,h=i.rscratch,d=i.rstyle;switch(u){case"left":n=l.x-a/2-s;break;case"right":n=l.x+a/2+s;break;default:n=l.x}switch(c){case"top":r=l.y-o/2-s;break;case"bottom":r=l.y+o/2+s;break;default:r=l.y}h.labelX=n,h.labelY=r,d.labelX=n,d.labelY=r,this.calculateLabelAngles(t),this.applyLabelDimensions(t)}}},s$=function(t,n){var r=Math.atan(n/t);return 0===t&&r<0&&(r*=-1),r},sQ=function(t,n){return s$(n.x-t.x,n.y-t.y)};sZ.recalculateEdgeLabelProjections=function(t){var n,r=t._private,i=r.rscratch,a=this,o={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(o.mid||o.source||o.target){n={x:i.midX,y:i.midY};var s=function(t,n,i){te(r.rscratch,t,n,i),te(r.rstyle,t,n,i)};s("labelX",null,n.x),s("labelY",null,n.y),s("labelAutoAngle",null,s$(i.midDispX,i.midDispY));
1var l=function(){if(l.cache)return l.cache;for(var t=[],n=0;n+5<i.allpts.length;n+=4){var o={x:i.allpts[n],y:i.allpts[n+1]},s={x:i.allpts[n+2],y:i.allpts[n+3]},u={x:i.allpts[n+4],y:i.allpts[n+5]};t.push({p0:o,p1:s,p2:u,startDist:0,length:0,segments:[]})}var c=r.rstyle.bezierPts,h=a.bezierProjPcts.length;function d(t,n,r,i,a){var o=tP(n,r),s=t.segments[t.segments.length-1],l={p0:n,p1:r,t0:i,t1:a,startDist:s?s.startDist+s.length:0,length:o};t.segments.push(l),t.length+=o}for(var f=0;f<t.length;f++){var p=t[f],g=t[f-1];g&&(p.startDist=g.startDist+g.length),d(p,p.p0,c[f*h],0,a.bezierProjPcts[0]);for(var v=0;v<h-1;v++)d(p,c[f*h+v],c[f*h+v+1],a.bezierProjPcts[v],a.bezierProjPcts[v+1]);d(p,c[f*h+h-1],p.p2,a.bezierProjPcts[h-1],1)}return l.cache=t},u=function(r){var a,u="source"===r;if(o[r]){var c=t.pstyle(r+"-text-offset").pfValue;switch(i.edgeType){case"self":case"compound":case"bezier":case"multibezier":for(var h,d,f,p,g,v,y,m=l(),b=0,x=0,w=0;w<m.length;w++){for(var E=m[u?w:m.length-1-w],k=0;k<E.segments.length;k++){var T=E.segments[u?k:E.segments.length-1-k],C=w===m.length-1&&k===E.segments.length-1;if(b=x,(x+=T.length)>=c||C){y={cp:E,segment:T};break}}if(y)break}var P=y.cp,S=y.segment,B=(c-b)/S.length,D=S.t1-S.t0,_=u?S.t0+D*B:S.t1-D*B;_=tA(0,_,1),n=t_(P.p0,P.p1,P.p2,_),h=P.p0,d=P.p1,f=P.p2,g=tA(0,(p=_)-.001,1),v=tA(0,p+.001,1),a=sQ(t_(h,d,f,g),t_(h,d,f,v));break;case"straight":case"segments":case"haystack":for(var A,M,R,I,N,L,z,O,V,F,j,X=0,q=i.allpts.length,Y=0;Y+3<q&&(u?(F={x:i.allpts[Y],y:i.allpts[Y+1]},j={x:i.allpts[Y+2],y:i.allpts[Y+3]}):(F={x:i.allpts[q-2-Y],y:i.allpts[q-1-Y]},j={x:i.allpts[q-4-Y],y:i.allpts[q-3-Y]}),V=X,!((X+=O=tP(F,j))>=c));Y+=2);var W=(c-V)/O;W=tA(0,W,1),A=F,M=j,R=W,N=M.x-A.x,L=M.y-A.y,z=tP(A,M),R=null==R?0:R,I=null!=I?I:R*z,n={x:A.x+N/z*I,y:A.y+L/z*I},a=sQ(F,j)}s("labelX",r,n.x),s("labelY",r,n.y),s("labelAutoAngle",r,a)}};u("source"),u("target"),this.applyLabelDimensions(t)}},sZ.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},sZ.applyPrefixedLabelDimensions=function(t,n){var r=t._private,i=this.getLabelText(t,n),a=eX(i,t._private.labelDimsKey);if(e7(r.rscratch,"prefixedLabelDimsKey",n)!==a){te(r.rscratch,"prefixedLabelDimsKey",n,a);var o=this.calculateLabelDimensions(t,i),s=t.pstyle("line-height").pfValue,l=t.pstyle("text-wrap").strValue,u=e7(r.rscratch,"labelWrapCachedLines",n)||[],c="wrap"!==l?1:Math.max(u.length,1),h=o.height/c,d=o.width,f=o.height+(c-1)*(s-1)*h;te(r.rstyle,"labelWidth",n,d),te(r.rscratch,"labelWidth",n,d),te(r.rstyle,"labelHeight",n,f),te(r.rscratch,"labelHeight",n,f),te(r.rscratch,"labelLineHeight",n,h*s)}},sZ.getLabelText=function(t,n){var r=t._private,i=n?n+"-":"",a=t.pstyle(i+"label").strValue,o=t.pstyle("text-transform").value,l=function(t,i){return i?(te(r.rscratch,t,n,i),i):e7(r.rscratch,t,n)};if(!a)return"";"none"==o||("uppercase"==o?a=a.toUpperCase():"lowercase"==o&&(a=a.toLowerCase()));var u=t.pstyle("text-wrap").value;if("wrap"===u){var c=l("labelKey");if(null!=c&&l("labelWrapKey")===c)return l("labelWrapCachedText");for(var h=a.split("\n"),d=t.pstyle("text-max-width").pfValue,f="anywhere"===t.pstyle("text-overflow-wrap").value,p=[],g=/[\s\u200b]+|$/g,v=0;v<h.length;v++){var y=h[v],m=this.calculateLabelDimensions(t,y).width;if(f&&(y=y.split("").join("​")),m>d){var b,x="",w=0,E=s(y.matchAll(g));try{for(E.s();!(b=E.n()).done;){var k=b.value,T=k[0],C=y.substring(w,k.index);w=k.index+T.length;var P=0===x.length?C:x+C+T;this.calculateLabelDimensions(t,P).width<=d?x+=C+T:(x&&p.push(x),x=C+T)}}catch(t){E.e(t)}finally{E.f()}x.match(/^[\s\u200b]+$/)||p.push(x)}else p.push(y)}l("labelWrapCachedLines",p),a=l("labelWrapCachedText",p.join("\n")),l("labelWrapKey",c)}else if("ellipsis"===u){var S=t.pstyle("text-max-width").pfValue,B="",D=!1;if(this.calculateLabelDimensions(t,a).width<S)return a;for(var _=0;_<a.length&&!(this.calculateLabelDimensions(t,B+a[_]+"…").width>S);_++)B+=a[_],_===a.length-1&&(D=!0);return D||(B+="…"),B}return a}
1,sZ.getLabelJustification=function(t){var n=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if("auto"!==n)return n;if(!t.isNode())return"center";switch(r){case"left":return"right";case"right":return"left";default:return"center"}},sZ.calculateLabelDimensions=function(t,n){var r=this.cy.window().document,i=t.pstyle("font-style").strValue,a=t.pstyle("font-size").pfValue,o=t.pstyle("font-family").strValue,s=t.pstyle("font-weight").strValue,l=this.labelCalcCanvas,u=this.labelCalcCanvasContext;if(!l){l=this.labelCalcCanvas=r.createElement("canvas"),u=this.labelCalcCanvasContext=l.getContext("2d");var c=l.style;c.position="absolute",c.left="-9999px",c.top="-9999px",c.zIndex="-1",c.visibility="hidden",c.pointerEvents="none"}u.font="".concat(i," ").concat(s," ").concat(a,"px ").concat(o);for(var h=0,d=0,f=n.split("\n"),p=0;p<f.length;p++){var g=f[p];h=Math.max(Math.ceil(u.measureText(g).width),h),d+=a}return{width:h+=0,height:d+=0}},sZ.calculateLabelAngle=function(t,n){var r=t._private.rscratch,i=t.isEdge(),a=t.pstyle((n?n+"-":"")+"text-rotation"),o=a.strValue;return"none"===o?0:i&&"autorotate"===o?r.labelAutoAngle:"autorotate"===o?0:a.pfValue},sZ.calculateLabelAngles=function(t){var n=t.isEdge(),r=t._private.rscratch;r.labelAngle=this.calculateLabelAngle(t),n&&(r.sourceLabelAngle=this.calculateLabelAngle(t,"source"),r.targetLabelAngle=this.calculateLabelAngle(t,"target"))};var sJ={},s0=!1;sJ.getNodeShape=function(t){var n=t.pstyle("shape").value;if("cutrectangle"===n&&(28>t.width()||28>t.height()))return s0||(e1("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),s0=!0),"rectangle";if(t.isParent())return"rectangle"===n||"roundrectangle"===n||"round-rectangle"===n||"cutrectangle"===n||"cut-rectangle"===n||"barrel"===n?n:"rectangle";if("polygon"===n){var r=t.pstyle("shape-polygon-points").value;return this.nodeShapes.makePolygon(r).name}return n};var s1={};[{projectIntoViewport:function(t,n){var r=this.cy,i=this.findContainerClientCoords(),a=i[0],o=i[1],s=i[4],l=r.pan(),u=r.zoom();return[((t-a)/s-l.x)/u,((n-o)/s-l.y)/u]},findContainerClientCoords:function(){if(this.containerBB)return this.containerBB;var t=this.container,n=t.getBoundingClientRect(),r=this.cy.window().getComputedStyle(t),i=function(t){return parseFloat(r.getPropertyValue(t))},a=i("padding-left"),o=i("padding-right"),s=i("padding-top"),l=i("padding-bottom"),u=i("border-left-width"),c=i("border-right-width"),h=i("border-top-width"),d=(i("border-bottom-width"),t.clientWidth),f=t.clientHeight,p=n.width/(d+(u+c)),g=n.left+a+u,v=n.top+s+h;return this.containerBB=[g,v,d-(a+o),f-(s+l),p]},invalidateContainerClientCoordsCache:function(){this.containerBB=null},findNearestElement:function(t,n,r,i){return this.findNearestElements(t,n,r,i)[0]},findNearestElements:function(t,n,r,i){var a,o,s=this,l=this,u=l.getCachedZSortedEles(),c=[],h=l.cy.zoom(),d=l.cy.hasCompoundNodes(),f=(i?24:8)/h,p=(i?8:2)/h,g=(i?8:2)/h,v=1/0;function y(t,n){if(t.isNode()){if(o)return;o=t,c.push(t)}if(t.isEdge()&&(null==n||n<v)){if(a){if(a.pstyle("z-compound-depth").value===t.pstyle("z-compound-depth").value&&a.pstyle("z-compound-depth").value===t.pstyle("z-compound-depth").value){for(var r=0;r<c.length;r++)if(c[r].isEdge()){c[r]=t,a=t,v=null!=n?n:v;break}}}else c.push(t),a=t,v=null!=n?n:v}}function m(r){var i=r.outerWidth()+2*p,a=r.outerHeight()+2*p,o=i/2,u=a/2,c=r.position(),h="auto"===r.pstyle("corner-radius").value?"auto":r.pstyle("corner-radius").pfValue,d=r._private.rscratch;if(c.x-o<=t&&t<=c.x+o&&c.y-u<=n&&n<=c.y+u&&l.nodeShapes[s.getNodeShape(r)].checkPoint(t,n,0,i,a,c.x,c.y,h,d))return y(r,0),!0}function b(r,i){var a,o=r._private;a=i?i+"-":"",r.boundingBox();var s=o.labelBounds[i||"main"],l=r.pstyle(a+"label").value;if("yes"===r.pstyle("text-events").strValue&&l){var u=e7(o.rscratch,"labelX",i),c=e7(o.rscratch,"labelY",i),h=e7(o.rscratch,"labelAngle",i),d=r.pstyle(a+"text-margin-x").pfValue,f=r.pstyle(a+"text-margin-y").pfValue,p=s.x1-g-d,v=s.x2+g-d,m=s.y1-g-f,b=s.y2+g-f;if(h){var x=Math.cos(h),w=Math.sin(h),E=function(t,n){return{x:(t-=u)*x-(n-=c)*w+u,y:t*w+n*x+c}},k=E(p,m),T=E(p,b),C=E(v,m),P=E(v,b);if(tW(t,n,[k.x+d,k.y+f,C.x+d,C.y+f,P.x+d,P.y+f,T.x+d,T.y+f]))return y(r),!0}else if(tV(s,t,n))return y(r),!0}}r&&(u=u.interactive);for(var x=u.length-1;x>=0;x--){var w=u[x];w.isNode()?m(w)||b(w):function(r){var i,a=r._private,o=a.rscratch,u=r.pstyle("width").pfValue,h=r.pstyle("arrow-scale").value,p=u/2+f,g=p*p,v=2*p,b=a.source,x=a.target;if("segments"===o.edgeType||"straight"===o.edgeType||"haystack"===o.edgeType){for(var w=o.allpts,E=0;E+3<w.length;E+=2)if(tj(t,n,w[E],w[E+1],w[E+2],w[E+3],v)&&g>(i=tY(t,n,w[E],w[E+1],w[E+2],w[E+3])))return y(r,i),!0}else if("bezier"===o.edgeType||"multibezier"===o.edgeType||"self"===o.edgeType||"compound"===o.edgeType){for(w=o.allpts,E=0;E+5<o.allpts.length;E+=4)if(tX(t,n,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5],v)&&g>(i=tq(t,n,w[E],w[E+1],w[E+2],w[E+3],w[E+4],w[E+5])))return y(r,i),!0}b=b||a.source,x=x||a.target;var k=s.getArrowWidth(u,h),T=[{name:"source",x:o.arrowStartX,y:o.arrowStartY,angle:o.srcArrowAngle},{name:"target",x:o.arrowEndX,y:o.arrowEndY,angle:o.tgtArrowAngle},{name:"mid-source",x:o.midX,y:o.midY,angle:o.midsrcArrowAngle},{name:"mid-target",x:o.midX,y:o.midY,angle:o.midtgtArrowAngle}];for(E=0;E<T.length;E++){var C=T[E],P=l.arrowShapes[r.pstyle(C.name+"-arrow-shape").value],S=r.pstyle("width").pfValue;
1if(P.roughCollide(t,n,k,C.angle,{x:C.x,y:C.y},S,f)&&P.collide(t,n,k,C.angle,{x:C.x,y:C.y},S,f))return y(r),!0}d&&c.length>0&&(m(b),m(x))}(w)||b(w)||b(w,"source")||b(w,"target")}return c},getAllInBox:function(t,n,r,i){for(var a,o=this.getCachedZSortedEles().interactive,l=2/this.cy.zoom(),u=[],h=Math.min(t,r),d=Math.max(t,r),f=Math.min(n,i),p=Math.max(n,i),g=tM({x1:t=h,y1:n=f,x2:r=d,y2:i=p}),v=0;v<o.length;v++){var y=o[v];if(y.isNode()){var m="yes"===y.pstyle("text-events").strValue,b="yes"===y.pstyle("box-select-labels").strValue;tO(g,y.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:b&&m}))&&function(t,n){function r(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=t[(r+1)%t.length],o={x:a.x-i.x,y:a.y-i.y},s={x:-o.y,y:o.x},l=Math.sqrt(s.x*s.x+s.y*s.y);n.push({x:s.x/l,y:s.y/l})}return n}function i(t,n){var r,i=1/0,a=-1/0,o=s(t);try{for(o.s();!(r=o.n()).done;){var l=r.value,u=l.x*n.x+l.y*n.y;i=Math.min(i,u),a=Math.max(a,u)}}catch(t){o.e(t)}finally{o.f()}return{min:i,max:a}}var a,o=s([].concat(c(r(t)),c(r(n))));try{for(o.s();!(a=o.n()).done;){var l,u,h=a.value;if(l=i(t,h),u=i(n,h),l.max<u.min||u.max<l.min)return!1}}catch(t){o.e(t)}finally{o.f()}return!0}(function(t,n){var r=t._private;t.boundingBox();var i=r.labelBounds.main,a=e7(r.rscratch,"labelX",void 0),o=e7(r.rscratch,"labelY",void 0),s=e7(r.rscratch,"labelAngle",void 0),u=t.pstyle("text-margin-x").pfValue,c=t.pstyle("text-margin-y").pfValue,h=i.x1-l-u,d=i.x2+l-u,f=i.y1-l-c,p=i.y2+l-c;if(s){var g=Math.cos(s),v=Math.sin(s),y=function(t,n){return{x:(t-=a)*g-(n-=o)*v+a,y:t*v+n*g+o}};return[y(h,f),y(d,f),y(d,p),y(h,p)]}return[{x:h,y:f},{x:d,y:f},{x:d,y:p},{x:h,y:p}]}(y),[{x:g.x1,y:g.y1},{x:g.x2,y:g.y1},{x:g.x2,y:g.y2},{x:g.x1,y:g.y2}])&&u.push(y)}else{var x=y._private,w=x.rscratch;if(null!=w.startX&&null!=w.startY&&!tV(g,w.startX,w.startY)||null!=w.endX&&null!=w.endY&&!tV(g,w.endX,w.endY))continue;if("bezier"===w.edgeType||"multibezier"===w.edgeType||"self"===w.edgeType||"compound"===w.edgeType||"segments"===w.edgeType||"haystack"===w.edgeType){for(var E=x.rstyle.bezierPts||x.rstyle.linePts||x.rstyle.haystackPts,k=!0,T=0;T<E.length;T++)if(!tV(g,(a=E[T]).x,a.y)){k=!1;break}k&&u.push(y)}else"haystack"!==w.edgeType&&"straight"!==w.edgeType||u.push(y)}}return u}},sE,sH,{manualEndptToPx:function(t,n){var r=t.position(),i=t.outerWidth(),a=t.outerHeight(),o=t._private.rscratch;if(2===n.value.length){var s=[n.pfValue[0],n.pfValue[1]];return"%"===n.units[0]&&(s[0]=s[0]*i),"%"===n.units[1]&&(s[1]=s[1]*a),s[0]+=r.x,s[1]+=r.y,s}var l=n.pfValue[0];l=-Math.PI/2+l;var u=2*Math.max(i,a),c=[r.x+Math.cos(l)*u,r.y+Math.sin(l)*u];return this.nodeShapes[this.getNodeShape(t)].intersectLine(r.x,r.y,i,a,c[0],c[1],0,"auto"===t.pstyle("corner-radius").value?"auto":t.pstyle("corner-radius").pfValue,o)},findEndpoints:function(t){var n,r,i,a,o,s=t.source()[0],l=t.target()[0],u=s.position(),c=l.position(),h=t.pstyle("target-arrow-shape").value,d=t.pstyle("source-arrow-shape").value,f=t.pstyle("target-distance-from-node").pfValue,p=t.pstyle("source-distance-from-node").pfValue,g=s._private.rscratch,v=l._private.rscratch,y=t.pstyle("curve-style").value,m=t._private.rscratch,b=m.edgeType,x="self"===b||"compound"===b,w="bezier"===b||"multibezier"===b||x,E="bezier"!==b,k="straight"===b||"segments"===b,T="segments"===b,C=x||"taxi"===y,P=t.pstyle("source-endpoint"),S=C?"outside-to-node":P.value,B="auto"===s.pstyle("corner-radius").value?"auto":s.pstyle("corner-radius").pfValue,D=t.pstyle("target-endpoint"),_=C?"outside-to-node":D.value,A="auto"===l.pstyle("corner-radius").value?"auto":l.pstyle("corner-radius").pfValue;if(m.srcManEndpt=P,m.tgtManEndpt=D,w){var M=[m.ctrlpts[0],m.ctrlpts[1]];r=E?[m.ctrlpts[m.ctrlpts.length-2],m.ctrlpts[m.ctrlpts.length-1]]:M,i=M}else if(k){var R=T?m.segpts.slice(0,2):[c.x,c.y];r=T?m.segpts.slice(m.segpts.length-2):[u.x,u.y],i=R}if("inside-to-node"===_)n=[c.x,c.y];else if(D.units)n=this.manualEndptToPx(l,D);else if("outside-to-line"===_)n=m.tgtIntn;else if("outside-to-node"===_||"outside-to-node-or-label"===_?a=r:"outside-to-line"!==_&&"outside-to-line-or-label"!==_||(a=[u.x,u.y]),n=this.nodeShapes[this.getNodeShape(l)].intersectLine(c.x,c.y,l.outerWidth(),l.outerHeight(),a[0],a[1],0,A,v),"outside-to-node-or-label"===_||"outside-to-line-or-label"===_){var I=l._private.rscratch,N=I.labelWidth,L=I.labelHeight,z=I.labelX,O=I.labelY,V=N/2,F=L/2,j=l.pstyle("text-valign").value;"top"===j?O-=F:"bottom"===j&&(O+=F);var X=l.pstyle("text-halign").value;"left"===X?z-=V:"right"===X&&(z+=V);var q=tJ(a[0],a[1],[z-V,O-F,z+V,O-F,z+V,O+F,z-V,O+F],c.x,c.y);if(q.length>0){var Y=tS(u,tE(n)),W=tS(u,tE(q)),U=Y;W<Y&&(n=q,U=W),q.length>2&&tS(u,{x:q[2],y:q[3]})<U&&(n=[q[2],q[3]])}}var H=t0(n,r,this.arrowShapes[h].spacing(t)+f),K=t0(n,r,this.arrowShapes[h].gap(t)+f);if(m.endX=K[0],m.endY=K[1],m.arrowEndX=H[0],m.arrowEndY=H[1],"inside-to-node"===S)n=[u.x,u.y];else if(P.units)n=this.manualEndptToPx(s,P);else if("outside-to-line"===S)n=m.srcIntn;else if("outside-to-node"===S||"outside-to-node-or-label"===S?o=i:"outside-to-line"!==S&&"outside-to-line-or-label"!==S||(o=[c.x,c.y]),n=this.nodeShapes[this.getNodeShape(s)].intersectLine(u.x,u.y,s.outerWidth(),s.outerHeight(),o[0],o[1],0,B,g),"outside-to-node-or-label"===S||"outside-to-line-or-label"===S){var G=s._private.rscratch,Z=G.labelWidth,$=G.labelHeight,Q=G.labelX,ee=G.labelY,et=Z/2,en=$/2,er=s.pstyle("text-valign").value;"top"===er?ee-=en:"bottom"===er&&(ee+=en);var ei=s.pstyle("text-halign").value;
1"left"===ei?Q-=et:"right"===ei&&(Q+=et);var ea=tJ(o[0],o[1],[Q-et,ee-en,Q+et,ee-en,Q+et,ee+en,Q-et,ee+en],u.x,u.y);if(ea.length>0){var eo=tS(c,tE(n)),es=tS(c,tE(ea)),el=eo;es<eo&&(n=[ea[0],ea[1]],el=es),ea.length>2&&tS(c,{x:ea[2],y:ea[3]})<el&&(n=[ea[2],ea[3]])}}var eu=t0(n,i,this.arrowShapes[d].spacing(t)+p),ec=t0(n,i,this.arrowShapes[d].gap(t)+p);m.startX=ec[0],m.startY=ec[1],m.arrowStartX=eu[0],m.arrowStartY=eu[1],(w||E||k)&&(J(m.startX)&&J(m.startY)&&J(m.endX)&&J(m.endY)?m.badLine=!1:m.badLine=!0)},getSourceEndpoint:function(t){var n=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),"haystack"===n.edgeType?{x:n.haystackPts[0],y:n.haystackPts[1]}:{x:n.arrowStartX,y:n.arrowStartY}},getTargetEndpoint:function(t){var n=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),"haystack"===n.edgeType?{x:n.haystackPts[2],y:n.haystackPts[3]}:{x:n.arrowEndX,y:n.arrowEndY}}},sG,sZ,sJ,{registerCalculationListeners:function(){var t=this.cy,n=t.collection(),r=this,i=function(t){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(n.merge(t),r)for(var i=0;i<t.length;i++){var a=t[i]._private.rstyle;a.clean=!1,a.cleanConnected=!1}};r.binder(t).on("bounds.* dirty.*",function(t){i(t.target)}).on("style.* background.*",function(t){i(t.target,!1)});var a=function(a){if(a){var o=r.onUpdateEleCalcsFns;n.cleanStyle();for(var s=0;s<n.length;s++){var l=n[s],u=l._private.rstyle;l.isNode()&&!u.cleanConnected&&(i(l.connectedEdges()),u.cleanConnected=!0)}if(o)for(var c=0;c<o.length;c++)(0,o[c])(a,n);r.recalculateRenderedStyle(n),n=t.collection()}};r.flushRenderedStyleQueue=function(){a(!0)},r.beforeRender(a,r.beforeRenderPriorities.eleCalcs)},onUpdateEleCalcs:function(t){(this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[]).push(t)},recalculateRenderedStyle:function(t,n){var r=function(t){return t._private.rstyle.cleanConnected};if(0!==t.length){var i=[],a=[];if(!this.destroyed){void 0===n&&(n=!0);for(var o=0;o<t.length;o++){var s=t[o],l=s._private,u=l.rstyle;!s.isEdge()||r(s.source())&&r(s.target())||(u.clean=!1),s.isEdge()&&s.isBundledBezier()&&s.parallelEdges().some(function(t){return!t._private.rstyle.clean&&t.isBundledBezier()})&&(u.clean=!1),n&&u.clean||s.removed()||"none"!==s.pstyle("display").value&&("nodes"===l.group?a.push(s):i.push(s),u.clean=!0)}for(var c=0;c<a.length;c++){var h=a[c],d=h._private.rstyle,f=h.position();this.recalculateNodeLabelProjection(h),d.nodeX=f.x,d.nodeY=f.y,d.nodeW=h.pstyle("width").pfValue,d.nodeH=h.pstyle("height").pfValue}this.recalculateEdgeProjections(i);for(var p=0;p<i.length;p++){var g=i[p]._private,v=g.rstyle,y=g.rscratch;v.srcX=y.arrowStartX,v.srcY=y.arrowStartY,v.tgtX=y.arrowEndX,v.tgtY=y.arrowEndY,v.midX=y.midX,v.midY=y.midY,v.labelAngle=y.labelAngle,v.sourceLabelAngle=y.sourceLabelAngle,v.targetLabelAngle=y.targetLabelAngle}}}}},{updateCachedGrabbedEles:function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var n=[],r=0;r<t.length;r++){var i=(a=t[r])._private.rscratch;a.grabbed()&&!a.isParent()?n.push(a):i.inDragLayer?t.drag.push(a):t.nondrag.push(a)}for(r=0;r<n.length;r++){var a=n[r];t.drag.push(a)}}},invalidateCachedZSortedEles:function(){this.cachedZSortedEles=null},getCachedZSortedEles:function(t){if(t||!this.cachedZSortedEles){var n=this.cy.mutableElements().toArray();n.sort(aZ),n.interactive=n.filter(function(t){return t.interactive()}),this.cachedZSortedEles=n,this.updateCachedGrabbedEles()}else n=this.cachedZSortedEles;return n}}].forEach(function(t){eb(s1,t)});var s2={registerBinding:function(t,n,r,i){var a=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(t)){for(var o=[],s=0;s<t.length;s++){var l=t[s];if(void 0!==l){var u=this.binder(l);o.push(u.on.apply(u,a))}}return o}return(u=this.binder(t)).on.apply(u,a)}};s2.binder=function(t){var n=this,r=n.cy.window(),i=t===r||t===r.document||t===r.document.body||"undefined"!=typeof HTMLElement&&t instanceof HTMLElement;if(null==n.supportsPassiveEvents){var a=!1;try{var o=Object.defineProperty({},"passive",{get:function(){return a=!0,!0}});r.addEventListener("test",null,o)}catch(t){}n.supportsPassiveEvents=a}var s=function(r,a,o){var s=Array.prototype.slice.call(arguments);return i&&n.supportsPassiveEvents&&(s[2]={capture:null!=o&&o,passive:!1,once:!1}),n.bindings.push({target:t,args:s}),(t.addEventListener||t.on).apply(t,s),this};return{on:s,addEventListener:s,addListener:s,bind:s}},s2.nodeIsDraggable=function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},s2.nodeIsGrabbable=function(t){return this.nodeIsDraggable(t)&&t.interactive()},s2.load=function(){var t=this,n=t.cy.window(),r=function(t){return t.selected()},i=function(n,r,i,a){null==n&&(n=t.cy);for(var o=0;o<r.length;o++){var s=r[o];n.emit({originalEvent:i,type:s,position:a})}},a=function(t){return t.shiftKey||t.metaKey||t.ctrlKey},o=function(n,r){var i=!0;if(t.cy.hasCompoundNodes()&&n&&n.pannable()){for(var a=0;r&&a<r.length;a++)if((n=r[a]).isNode()&&n.isParent()&&!n.pannable()){i=!1;break}}else i=!0;return i},s=function(t){t[0]._private.rscratch.inDragLayer=!0},l=function(t){t[0]._private.rscratch.isGrabTarget=!0},u=function(t,n){var r=n.addToList;r.has(t)||!t.grabbable()||t.locked()||(r.merge(t),t[0]._private.grabbed=!0)},c=function(n,r){r=r||{};var i=n.cy().hasCompoundNodes();r.inDragLayer&&(n.forEach(s),n.neighborhood().stdFilter(function(t){return!i||t.isEdge()}
1).forEach(s)),r.addToList&&n.forEach(function(t){u(t,r)}),function(t,n){if(t.cy().hasCompoundNodes()&&(null!=n.inDragLayer||null!=n.addToList)){var r=t.descendants();n.inDragLayer&&(r.forEach(s),r.connectedEdges().forEach(s)),n.addToList&&u(r,n)}}(n,r),d(n,{inDragLayer:r.inDragLayer}),t.updateCachedGrabbedEles()},h=function(n){n&&(t.getCachedZSortedEles().forEach(function(t){t[0]._private.grabbed=!1,t[0]._private.rscratch.inDragLayer=!1,t[0]._private.rscratch.isGrabTarget=!1}),t.updateCachedGrabbedEles())},d=function(t,n){if((null!=n.inDragLayer||null!=n.addToList)&&t.cy().hasCompoundNodes()){var r=t.ancestors().orphans();if(!r.same(t)){var i=r.descendants().spawnSelf().merge(r).unmerge(t).unmerge(t.descendants()),a=i.connectedEdges();n.inDragLayer&&(a.forEach(s),i.forEach(s)),n.addToList&&i.forEach(function(t){u(t,n)})}}},f=function(){null!=document.activeElement&&null!=document.activeElement.blur&&document.activeElement.blur()},p="undefined"!=typeof MutationObserver,g="undefined"!=typeof ResizeObserver;p?(t.removeObserver=new MutationObserver(function(n){for(var r=0;r<n.length;r++){var i=n[r].removedNodes;if(i){for(var a=0;a<i.length;a++)if(i[a]===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(n){t.destroy()});var v=eA(function(){t.cy.resize()},100);p&&(t.styleObserver=new MutationObserver(v),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(n,"resize",v),g&&(t.resizeObserver=new ResizeObserver(v),t.resizeObserver.observe(t.container));var y=function(){t.invalidateContainerClientCoordsCache()};(function(t,n){for(;null!=t;)n(t),t=t.parentNode})(t.container,function(n){t.registerBinding(n,"transitionend",y),t.registerBinding(n,"animationend",y),t.registerBinding(n,"scroll",y)}),t.registerBinding(t.container,"contextmenu",function(t){t.preventDefault()});var m=function(n){for(var r=t.findContainerClientCoords(),i=r[0],a=r[1],o=r[2],s=r[3],l=n.touches?n.touches:[n],u=!1,c=0;c<l.length;c++){var h=l[c];if(i<=h.clientX&&h.clientX<=i+o&&a<=h.clientY&&h.clientY<=a+s){u=!0;break}}if(!u)return!1;for(var d=t.container,f=n.target.parentNode,p=!1;f;){if(f===d){p=!0;break}f=f.parentNode}return!!p};t.registerBinding(t.container,"mousedown",function(n){if(m(n)&&(1!==t.hoverData.which||1===n.which)){n.preventDefault(),f(),t.hoverData.capture=!0,t.hoverData.which=n.which;var r=t.cy,a=[n.clientX,n.clientY],o=t.projectIntoViewport(a[0],a[1]),s=t.selection,u=t.findNearestElements(o[0],o[1],!0,!1),h=u[0],d=t.dragData.possibleDragElements;if(t.hoverData.mdownPos=o,t.hoverData.mdownGPos=a,3==n.which){t.hoverData.cxtStarted=!0;var p={originalEvent:n,type:"cxttapstart",position:{x:o[0],y:o[1]}};h?(h.activate(),h.emit(p),t.hoverData.down=h):r.emit(p),t.hoverData.downTime=(new Date).getTime(),t.hoverData.cxtDragged=!1}else if(1==n.which){if(h&&h.activate(),null!=h&&t.nodeIsGrabbable(h)){var g=function(t){return{originalEvent:n,type:t,position:{x:o[0],y:o[1]}}};if(l(h),h.selected()){d=t.dragData.possibleDragElements=r.collection();var v=r.$(function(n){return n.isNode()&&n.selected()&&t.nodeIsGrabbable(n)});c(v,{addToList:d}),h.emit(g("grabon")),v.forEach(function(t){t.emit(g("grab"))})}else c(h,{addToList:d=t.dragData.possibleDragElements=r.collection()}),h.emit(g("grabon")).emit(g("grab"));t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=h,t.hoverData.downs=u,t.hoverData.downTime=(new Date).getTime(),i(h,["mousedown","tapstart","vmousedown"],n,{x:o[0],y:o[1]}),null==h?(s[4]=1,t.data.bgActivePosistion={x:o[0],y:o[1]},t.redrawHint("select",!0),t.redraw()):h.pannable()&&(s[4]=1),t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var i=t.hoverData.down;i?i.emit({originalEvent:n,type:"taphold",position:{x:o[0],y:o[1]}}):r.emit({originalEvent:n,type:"taphold",position:{x:o[0],y:o[1]}})}},t.tapholdDuration)}s[0]=s[2]=o[0],s[1]=s[3]=o[1]}},!1);var b,x,w,E=function(t){var n=t.getRootNode();if(n&&11===n.nodeType&&void 0!==n.host)return n}(t.container);t.registerBinding([n,E],"mousemove",function(n){if(t.hoverData.capture||m(n)){var r,s=!1,l=t.cy,u=l.zoom(),d=[n.clientX,n.clientY],f=t.projectIntoViewport(d[0],d[1]),p=t.hoverData.mdownPos,g=t.hoverData.mdownGPos,v=t.selection,y=null;t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.selecting||(y=t.findNearestElement(f[0],f[1],!0,!1));var b,x=t.hoverData.last,w=t.hoverData.down,E=[f[0]-v[2],f[1]-v[3]],k=t.dragData.possibleDragElements;if(g){var T=d[0]-g[0],C=d[1]-g[1];t.hoverData.isOverThresholdDrag=b=T*T+C*C>=t.desktopTapThreshold2}var P=a(n);b&&(t.hoverData.tapholdCancelled=!0),s=!0,i(y,["mousemove","vmousemove","tapdrag"],n,{x:f[0],y:f[1]});var S=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||l.emit({originalEvent:n,type:"boxstart",position:{x:f[0],y:f[1]}}),v[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(3===t.hoverData.which){if(b){var B={originalEvent:n,type:"cxtdrag",position:{x:f[0],y:f[1]}};w?w.emit(B):l.emit(B),t.hoverData.cxtDragged=!0,t.hoverData.cxtOver&&y===t.hoverData.cxtOver||(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:f[0],y:f[1]}}
1),t.hoverData.cxtOver=y,y&&y.emit({originalEvent:n,type:"cxtdragover",position:{x:f[0],y:f[1]}}))}}else if(t.hoverData.dragging){if(s=!0,l.panningEnabled()&&l.userPanningEnabled()){if(t.hoverData.justStartedPan){var D=t.hoverData.mdownPos;r={x:(f[0]-D[0])*u,y:(f[1]-D[1])*u},t.hoverData.justStartedPan=!1}else r={x:E[0]*u,y:E[1]*u};l.panBy(r),l.emit("dragpan"),t.hoverData.dragged=!0}f=t.projectIntoViewport(n.clientX,n.clientY)}else if(1==v[4]&&(null==w||w.pannable()))b&&(t.hoverData.dragging||!l.boxSelectionEnabled()||!P&&l.panningEnabled()&&l.userPanningEnabled()?!t.hoverData.selecting&&l.panningEnabled()&&l.userPanningEnabled()&&o(w,t.hoverData.downs)&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,v[4]=0,t.data.bgActivePosistion=tE(p),t.redrawHint("select",!0),t.redraw()):S(),w&&w.pannable()&&w.active()&&w.unactivate());else{if(w&&w.pannable()&&w.active()&&w.unactivate(),w&&w.grabbed()||y==x||(x&&i(x,["mouseout","tapdragout"],n,{x:f[0],y:f[1]}),y&&i(y,["mouseover","tapdragover"],n,{x:f[0],y:f[1]}),t.hoverData.last=y),w){if(b){if(l.boxSelectionEnabled()&&P)w&&w.grabbed()&&(h(k),w.emit("freeon"),k.emit("free"),t.dragData.didDrag&&(w.emit("dragfreeon"),k.emit("dragfree"))),S();else if(w&&w.grabbed()&&t.nodeIsDraggable(w)){var _,A=!t.dragData.didDrag;A&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||c(k,{inDragLayer:!0});var M={x:0,y:0};if(J(E[0])&&J(E[1])&&(M.x+=E[0],M.y+=E[1],A)){var R=t.hoverData.dragDelta;R&&J(R[0])&&J(R[1])&&(M.x+=R[0],M.y+=R[1])}t.hoverData.draggingEles=!0,k.silentShift(M).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else 0===(_=t.hoverData.dragDelta=t.hoverData.dragDelta||[]).length?(_.push(E[0]),_.push(E[1])):(_[0]+=E[0],_[1]+=E[1])}s=!0}return v[2]=f[0],v[3]=f[1],s?(n.stopPropagation&&n.stopPropagation(),n.preventDefault&&n.preventDefault(),!1):void 0}},!1),t.registerBinding(n,"mouseup",function(n){if((1!==t.hoverData.which||1===n.which||!t.hoverData.capture)&&t.hoverData.capture){t.hoverData.capture=!1;var o=t.cy,s=t.projectIntoViewport(n.clientX,n.clientY),l=t.selection,u=t.findNearestElement(s[0],s[1],!0,!1),c=t.dragData.possibleDragElements,d=t.hoverData.down,f=a(n);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,d&&d.unactivate(),3===t.hoverData.which){var p={originalEvent:n,type:"cxttapend",position:{x:s[0],y:s[1]}};if(d?d.emit(p):o.emit(p),!t.hoverData.cxtDragged){var g={originalEvent:n,type:"cxttap",position:{x:s[0],y:s[1]}};d?d.emit(g):o.emit(g)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(1===t.hoverData.which){if(i(u,["mouseup","tapend","vmouseup"],n,{x:s[0],y:s[1]}),t.dragData.didDrag||t.hoverData.dragged||t.hoverData.selecting||t.hoverData.isOverThresholdDrag||(i(d,["click","tap","vclick"],n,{x:s[0],y:s[1]}),x=!1,n.timeStamp-w<=o.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,i(d,["dblclick","dbltap","vdblclick"],n,{x:s[0],y:s[1]})):(b=setTimeout(function(){x||i(d,["oneclick","onetap","voneclick"],n,{x:s[0],y:s[1]})},o.multiClickDebounceTime()),w=n.timeStamp)),null!=d||t.dragData.didDrag||t.hoverData.selecting||t.hoverData.dragged||a(n)||(o.$(r).unselect(["tapunselect"]),c.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=c=o.collection()),u!=d||t.dragData.didDrag||t.hoverData.selecting||null!=u&&u._private.selectable&&(t.hoverData.dragging||("additive"===o.selectionType()||f?u.selected()?u.unselect(["tapunselect"]):u.select(["tapselect"]):f||(o.$(r).unmerge(u).unselect(["tapunselect"]),u.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var v=o.collection(t.getAllInBox(l[0],l[1],l[2],l[3]));t.redrawHint("select",!0),v.length>0&&t.redrawHint("eles",!0),o.emit({type:"boxend",originalEvent:n,position:{x:s[0],y:s[1]}}),"additive"===o.selectionType()||f||o.$(r).unmerge(v).unselect(),v.emit("box").stdFilter(function(t){return t.selectable()&&!t.selected()}).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!l[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var y=d&&d.grabbed();h(c),y&&(d.emit("freeon"),c.emit("free"),t.dragData.didDrag&&(d.emit("dragfreeon"),c.emit("dragfree")))}}l[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}},!1);var k,T,C,P,S,B,D,_,A,M,R,I,N,L,z=[],O=1e5,V=function(n){var r=!1,i=n.deltaY;if(null==i&&(null!=n.wheelDeltaY?i=n.wheelDeltaY/4:null!=n.wheelDelta&&(i=n.wheelDelta/4)),null==k){if(z.length>=4){if(!(k=function(t,n){for(var r=0;r<t.length;r++)if(t[r]%5!=0)return!1;return!0}(z,0))){var a=Math.abs(z[0]);k=function(t){for(var n=Math.abs(t[0]),r=1;r<t.length;r++)if(Math.abs(t[r])!==n)return!1;return!0}(z)&&a>5}if(k)for(var o=0;o<z.length;o++)O=Math.min(Math.abs(z[o]),O)}else z.push(i),r=!0}else k&&(O=Math.min(Math.abs(i),O));if(!t.scrollingPage){var s=t.cy,l=s.zoom(),u=s.pan(),c=t.projectIntoViewport(n.clientX,n.clientY),h=[c[0]*l+u.x,c[1]*l+u.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||0!==t.selection[4])n.preventDefault();else if(s.panningEnabled()&&s.userPanningEnabled()&&s.zoomingEnabled()&&s.userZoomingEnabled()){n.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150),r&&Math.abs(i)>5&&(i=5*tC(i)),d=-(i/250),k&&(d/=O,d*=3),d*=t.wheelSensitivity,1===n.deltaMode&&(d*=33);var d,f=s.zoom()*Math.pow(10,d);"gesturechange"===n.type&&(f=t.gestureStartZoom*n.scale),s.zoom({level:f,renderedPosition:{x:h[0],y:h[1]}}),s.emit("gesturechange"===n.type?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",V,!0),t.registerBinding(n,"scroll",function(n){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(n){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||n.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(n){t.hasTouchStarted||V(n)},!0),t.registerBinding(t.container,"mouseout",function(n){var r=t.projectIntoViewport(n.clientX,n.clientY);t.cy.emit({originalEvent:n,type:"mouseout",position:{x:r[0],y:r[1]}})},!1),t.registerBinding(t.container,"mouseover",function(n){var r=t.projectIntoViewport(n.clientX,n.clientY);t.cy.emit({originalEvent:n,type:"mouseover",position:{x:r[0],y:r[1]}})},!1);var F,j,X,q,Y,W,U,H=function(t,n,r,i){return Math.sqrt((r-t)*(r-t)+(i-n)*(i-n))},K=function(t,n,r,i){return(r-t)*(r-t)+(i-n)*(i-n)};if(t.registerBinding(t.container,"touchstart",F=function(n){if(t.hasTouchStarted=!0,m(n)){f(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var r=t.cy,a=t.touchData.now,o=t.touchData.earlier;if(n.touches[0]){var s=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);a[0]=s[0],a[1]=s[1]}if(n.touches[1]&&(s=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),a[2]=s[0],a[3]=s[1]),n.touches[2]&&(s=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),a[4]=s[0],a[5]=s[1]),n.touches[1]){t.touchData.singleTouchMoved=!0,h(t.dragData.touchDragEles);var u=t.findContainerClientCoords();M=u[0],R=u[1],I=u[2],N=u[3],T=n.touches[0].clientX-M,C=n.touches[0].clientY-R,P=n.touches[1].clientX-M,S=n.touches[1].clientY-R,L=0<=T&&T<=I&&0<=P&&P<=I&&0<=C&&C<=N&&0<=S&&S<=N;var d=r.pan(),p=r.zoom();if(B=H(T,C,P,S),D=K(T,C,P,S),A=[((_=[(T+P)/2,(C+S)/2])[0]-d.x)/p,(_[1]-d.y)/p],D<4e4&&!n.touches[2]){var g=t.findNearestElement(a[0],a[1],!0,!0),v=t.findNearestElement(a[2],a[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:a[0],y:a[1]}}),t.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:n,type:"cxttapstart",position:{x:a[0],y:a[1]}}),t.touchData.start=v):r.emit({originalEvent:n,type:"cxttapstart",position:{x:a[0],y:a[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,void t.redraw()}}if(n.touches[2])r.boxSelectionEnabled()&&n.preventDefault();else if(n.touches[1]);else if(n.touches[0]){var y=t.findNearestElements(a[0],a[1],!0,!0),b=y[0];if(null!=b&&(b.activate(),t.touchData.start=b,t.touchData.starts=y,t.nodeIsGrabbable(b))){var x=t.dragData.touchDragEles=r.collection(),w=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),b.selected()?c(w=r.$(function(n){return n.selected()&&t.nodeIsGrabbable(n)}),{addToList:x}):c(b,{addToList:x}),l(b);var E=function(t){return{originalEvent:n,type:t,position:{x:a[0],y:a[1]}}};
1b.emit(E("grabon")),w?w.forEach(function(t){t.emit(E("grab"))}):b.emit(E("grab"))}i(b,["touchstart","tapstart","vmousedown"],n,{x:a[0],y:a[1]}),null==b&&(t.data.bgActivePosistion={x:s[0],y:s[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){!1!==t.touchData.singleTouchMoved||t.pinching||t.touchData.selecting||i(t.touchData.start,["taphold"],n,{x:a[0],y:a[1]})},t.tapholdDuration)}if(n.touches.length>=1){for(var k=t.touchData.startPosition=[null,null,null,null,null,null],z=0;z<a.length;z++)k[z]=o[z]=a[z];var O=n.touches[0];t.touchData.startGPosition=[O.clientX,O.clientY]}}},!1),t.registerBinding(n,"touchmove",j=function(n){var r=t.touchData.capture;if(r||m(n)){var a=t.selection,s=t.cy,l=t.touchData.now,u=t.touchData.earlier,d=s.zoom();if(n.touches[0]){var f=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);l[0]=f[0],l[1]=f[1]}n.touches[1]&&(f=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),l[2]=f[0],l[3]=f[1]),n.touches[2]&&(f=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),l[4]=f[0],l[5]=f[1]);var p,g=t.touchData.startGPosition;if(r&&n.touches[0]&&g){for(var v=[],y=0;y<l.length;y++)v[y]=l[y]-u[y];var b=n.touches[0].clientX-g[0],x=b*b,w=n.touches[0].clientY-g[1];p=x+w*w>=t.touchTapThreshold2}if(r&&t.touchData.cxt){n.preventDefault();var E=n.touches[0].clientX-M,k=n.touches[0].clientY-R,_=n.touches[1].clientX-M,I=n.touches[1].clientY-R,N=K(E,k,_,I);if(N/D>=2.25||N>=22500){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var z={originalEvent:n,type:"cxttapend",position:{x:l[0],y:l[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(z),t.touchData.start=null):s.emit(z)}}if(r&&t.touchData.cxt){z={originalEvent:n,type:"cxtdrag",position:{x:l[0],y:l[1]}},t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(z):s.emit(z),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var O=t.findNearestElement(l[0],l[1],!0,!0);t.touchData.cxtOver&&O===t.touchData.cxtOver||(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:n,type:"cxtdragout",position:{x:l[0],y:l[1]}}),t.touchData.cxtOver=O,O&&O.emit({originalEvent:n,type:"cxtdragover",position:{x:l[0],y:l[1]}}))}else if(r&&n.touches[2]&&s.boxSelectionEnabled())n.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||s.emit({originalEvent:n,type:"boxstart",position:{x:l[0],y:l[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,a[4]=1,a&&0!==a.length&&void 0!==a[0]?(a[2]=(l[0]+l[2]+l[4])/3,a[3]=(l[1]+l[3]+l[5])/3):(a[0]=(l[0]+l[2]+l[4])/3,a[1]=(l[1]+l[3]+l[5])/3,a[2]=(l[0]+l[2]+l[4])/3+1,a[3]=(l[1]+l[3]+l[5])/3+1),t.redrawHint("select",!0),t.redraw();else if(r&&n.touches[1]&&!t.touchData.didSelect&&s.zoomingEnabled()&&s.panningEnabled()&&s.userZoomingEnabled()&&s.userPanningEnabled()){if(n.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),et=t.dragData.touchDragEles){t.redrawHint("drag",!0);for(var V=0;V<et.length;V++){var F=et[V]._private;F.grabbed=!1,F.rscratch.inDragLayer=!1}}var j=t.touchData.start,X=(E=n.touches[0].clientX-M,H(E,k=n.touches[0].clientY-R,_=n.touches[1].clientX-M,I=n.touches[1].clientY-R)),q=X/B;if(L){var Y=(E-T+(_-P))/2,W=(k-C+(I-S))/2,U=s.zoom(),G=U*q,Z=s.pan(),$=A[0]*U+Z.x,Q=A[1]*U+Z.y,ee={x:-G/U*($-Z.x-Y)+$,y:-G/U*(Q-Z.y-W)+Q};if(j&&j.active()){var et=t.dragData.touchDragEles;h(et),t.redrawHint("drag",!0),t.redrawHint("eles",!0),j.unactivate().emit("freeon"),et.emit("free"),t.dragData.didDrag&&(j.emit("dragfreeon"),et.emit("dragfree"))}s.viewport({zoom:G,pan:ee,cancelOnFailedZoom:!0}),s.emit("pinchzoom"),B=X,T=E,C=k,P=_,S=I,t.pinching=!0}n.touches[0]&&(f=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY),l[0]=f[0],l[1]=f[1]),n.touches[1]&&(f=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),l[2]=f[0],l[3]=f[1]),n.touches[2]&&(f=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),l[4]=f[0],l[5]=f[1])}else if(n.touches[0]&&!t.touchData.didSelect){var en,er=t.touchData.start,ei=t.touchData.last;if(t.hoverData.draggingEles||t.swipePanning||(O=t.findNearestElement(l[0],l[1],!0,!0)),r&&null!=er&&n.preventDefault(),r&&null!=er&&t.nodeIsDraggable(er)){if(p){et=t.dragData.touchDragEles;var ea=!t.dragData.didDrag;ea&&c(et,{inDragLayer:!0}),t.dragData.didDrag=!0;var eo={x:0,y:0};J(v[0])&&J(v[1])&&(eo.x+=v[0],eo.y+=v[1],ea&&(t.redrawHint("eles",!0),(en=t.touchData.dragDelta)&&J(en[0])&&J(en[1])&&(eo.x+=en[0],eo.y+=en[1]))),t.hoverData.draggingEles=!0,et.silentShift(eo).emit("position drag"),t.redrawHint("drag",!0),t.touchData.startPosition[0]==u[0]&&t.touchData.startPosition[1]==u[1]&&t.redrawHint("eles",!0),t.redraw()}else 0===(en=t.touchData.dragDelta=t.touchData.dragDelta||[]).length?(en.push(v[0]),en.push(v[1])):(en[0]+=v[0],en[1]+=v[1])}if(i(er||O,["touchmove","tapdrag","vmousemove"],n,{x:l[0],y:l[1]}),er&&er.grabbed()||O==ei||(ei&&ei.emit({originalEvent:n,type:"tapdragout",position:{x:l[0],y:l[1]}}),O&&O.emit({originalEvent:n,type:"tapdragover",position:{x:l[0],y:l[1]}})),t.touchData.last=O,r)for(V=0;V<l.length;V++)l[V]&&t.touchData.startPosition[V]&&p&&(t.touchData.singleTouchMoved=!0);r&&(null==er||er.pannable())&&s.panningEnabled()&&s.userPanningEnabled()&&(o(er,t.touchData.starts)&&(n.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=tE(t.touchData.startPosition)),t.swipePanning?(s.panBy({x:v[0]*d,y:v[1]*d}),s.emit("dragpan")):p&&(t.swipePanning=!0,s.panBy({x:b*d,y:w*d}),s.emit("dragpan"),er&&(er.unactivate(),t.redrawHint("select",!0),t.touchData.start=null))),f=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY),l[0]=f[0],l[1]=f[1])}for(y=0;y<l.length;y++)u[y]=l[y];r&&n.touches.length>
10&&!t.hoverData.draggingEles&&!t.swipePanning&&null!=t.data.bgActivePosistion&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1),t.registerBinding(n,"touchcancel",X=function(n){var r=t.touchData.start;t.touchData.capture=!1,r&&r.unactivate()}),t.registerBinding(n,"touchend",q=function(n){var a=t.touchData.start;if(t.touchData.capture){0===n.touches.length&&(t.touchData.capture=!1),n.preventDefault();var o=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var s,l=t.cy,u=l.zoom(),c=t.touchData.now,d=t.touchData.earlier;if(n.touches[0]){var f=t.projectIntoViewport(n.touches[0].clientX,n.touches[0].clientY);c[0]=f[0],c[1]=f[1]}if(n.touches[1]&&(f=t.projectIntoViewport(n.touches[1].clientX,n.touches[1].clientY),c[2]=f[0],c[3]=f[1]),n.touches[2]&&(f=t.projectIntoViewport(n.touches[2].clientX,n.touches[2].clientY),c[4]=f[0],c[5]=f[1]),a&&a.unactivate(),t.touchData.cxt){if(s={originalEvent:n,type:"cxttapend",position:{x:c[0],y:c[1]}},a?a.emit(s):l.emit(s),!t.touchData.cxtDragged){var p={originalEvent:n,type:"cxttap",position:{x:c[0],y:c[1]}};a?a.emit(p):l.emit(p)}return t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,void t.redraw()}if(!n.touches[2]&&l.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var g=l.collection(t.getAllInBox(o[0],o[1],o[2],o[3]));o[0]=void 0,o[1]=void 0,o[2]=void 0,o[3]=void 0,o[4]=0,t.redrawHint("select",!0),l.emit({type:"boxend",originalEvent:n,position:{x:c[0],y:c[1]}}),g.emit("box").stdFilter(function(t){return t.selectable()&&!t.selected()}).select().emit("boxselect"),g.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(null!=a&&a.unactivate(),n.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(n.touches[1]);else if(n.touches[0]);else if(!n.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var v=t.dragData.touchDragEles;if(null!=a){var y=a._private.grabbed;h(v),t.redrawHint("drag",!0),t.redrawHint("eles",!0),y&&(a.emit("freeon"),v.emit("free"),t.dragData.didDrag&&(a.emit("dragfreeon"),v.emit("dragfree"))),i(a,["touchend","tapend","vmouseup","tapdragout"],n,{x:c[0],y:c[1]}),a.unactivate(),t.touchData.start=null}else i(t.findNearestElement(c[0],c[1],!0,!0),["touchend","tapend","vmouseup","tapdragout"],n,{x:c[0],y:c[1]});var m=t.touchData.startPosition[0]-c[0],b=t.touchData.startPosition[1]-c[1];t.touchData.singleTouchMoved||(a||l.$(":selected").unselect(["tapunselect"]),i(a,["tap","vclick"],n,{x:c[0],y:c[1]}),Y=!1,n.timeStamp-U<=l.multiClickDebounceTime()?(W&&clearTimeout(W),Y=!0,U=null,i(a,["dbltap","vdblclick"],n,{x:c[0],y:c[1]})):(W=setTimeout(function(){Y||i(a,["onetap","voneclick"],n,{x:c[0],y:c[1]})},l.multiClickDebounceTime()),U=n.timeStamp)),null!=a&&!t.dragData.didDrag&&a._private.selectable&&(m*m+b*b)*u*u<t.touchTapThreshold2&&!t.pinching&&("single"===l.selectionType()?(l.$(r).unmerge(a).unselect(["tapunselect"]),a.select(["tapselect"])):a.selected()?a.unselect(["tapunselect"]):a.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}for(var x=0;x<c.length;x++)d[x]=c[x];t.dragData.didDrag=!1,0===n.touches.length&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),n.touches.length<2&&(1===n.touches.length&&(t.touchData.startGPosition=[n.touches[0].clientX,n.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())}},!1),"undefined"==typeof TouchEvent){var G=[],Z=function(t){return{clientX:t.clientX,clientY:t.clientY,force:1,identifier:t.pointerId,pageX:t.pageX,pageY:t.pageY,radiusX:t.width/2,radiusY:t.height/2,screenX:t.screenX,screenY:t.screenY,target:t.target}},$=function(t){G.push({event:t,touch:Z(t)})},Q=function(t){for(var n=0;n<G.length;n++)if(G[n].event.pointerId===t.pointerId)return void G.splice(n,1)},ee=function(t){t.touches=G.map(function(t){return t.touch})},et=function(t){return"mouse"===t.pointerType||4===t.pointerType};t.registerBinding(t.container,"pointerdown",function(t){et(t)||(t.preventDefault(),$(t),ee(t),F(t))}),t.registerBinding(t.container,"pointerup",function(t){et(t)||(Q(t),ee(t),q(t))}),t.registerBinding(t.container,"pointercancel",function(t){et(t)||(Q(t),ee(t),X())}),t.registerBinding(t.container,"pointermove",function(t){var n;et(t)||(t.preventDefault(),(n=G.filter(function(n){return n.event.pointerId===t.pointerId})[0]).event=t,n.touch=Z(t),ee(t),j(t))})}};var s5={generatePolygon:function(t,n){return this.nodeShapes[t]={renderer:this,name:t,points:n,draw:function(t,n,r,i,a,o){this.renderer.nodeShapeImpl("polygon",t,n,r,i,a,this.points)},intersectLine:function(t,n,r,i,a,o,s,l){return tJ(a,o,this.points,t,n,r/2,i/2,s)},checkPoint:function(t,n,r,i,a,o,s,l){return tU(t,n,this.points,o,s,i,a,[0,-1],r)}}}};s5.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(t,n,r,i,a,o){this.renderer.nodeShapeImpl(this.name,t,n,r,i,a)},intersectLine:function(t,n,r,i,a,o,s,l){return function(t,n,r,i,a,o){var s=r-t,l=i-n,u=Math.sqrt((s/=a)*s+(l/=o)*l),c=u-1;if(c<0)return[];var h=c/u;return[(r-t)*h+t,(i-n)*h+n]}(a,o,t,n,r/2+s,i/2+s)},checkPoint:function(t,n,r,i,a,o,s,l){return tG(t,n,i,a,o,s,r)}}},s5.generateRoundPolygon=function(t,n){return this.nodeShapes[t]={renderer:this,name:t,points:n,getOrCreateCorners:function(t,r,i,a,o,s,l){if(void 0!==s[l]&&s[l+"-cx"]===t&&s[l+"-cy"]===r)return s[l];s[l]=Array(n.length/2),s[l+"-cx"]=t,s[l+"-cy"]=r;var u=i/2,c=a/2;o="auto"===o?t4(i,a):o;for(var h=Array(n.length/2),d=0;d<n.length/2;d++)h[d]={x:t+u*n[2*d],y:r+c*n[2*d+1]};var f,p,g,v,y=h.length;for(p=h[y-1],f=0;f<y;f++)g=h[f%y],v=h[(f+1)%y],s[l][f]=sW(p,g,v,o),p=g,g=v;return s[l]},draw:function(t,n,r,i,a,o,s){this.renderer.nodeShapeImpl("round-polygon",t,n,r,i,a,this.points,this.getOrCreateCorners(n,r,i,a,o,s,"drawCorners"))},intersectLine:function(t,n,r,i,a,o,s,l,u){return function(t,n,r,i,a,o,s,l,u){var c,h=[],d=Array(2*r.length);
1u.forEach(function(r,o){0===o?(d[d.length-2]=r.startX,d[d.length-1]=r.startY):(d[4*o-2]=r.startX,d[4*o-1]=r.startY),d[4*o]=r.stopX,d[4*o+1]=r.stopY,0!==(c=tZ(t,n,i,a,r.cx,r.cy,r.radius)).length&&h.push(c[0],c[1])});for(var f=0;f<d.length/4;f++)0!==(c=tQ(t,n,i,a,d[4*f],d[4*f+1],d[4*f+2],d[4*f+3],!1)).length&&h.push(c[0],c[1]);if(h.length>2){for(var p=[h[0],h[1]],g=Math.pow(p[0]-t,2)+Math.pow(p[1]-n,2),v=1;v<h.length/2;v++){var y=Math.pow(h[2*v]-t,2)+Math.pow(h[2*v+1]-n,2);y<=g&&(p[0]=h[2*v],p[1]=h[2*v+1],g=y)}return p}return h}(a,o,this.points,t,n,0,0,0,this.getOrCreateCorners(t,n,r,i,l,u,"corners"))},checkPoint:function(t,n,r,i,a,o,s,l,u){return function(t,n,r,i,a,o,s,l){for(var u=Array(2*r.length),c=0;c<l.length;c++){var h=l[c];if(u[4*c+0]=h.startX,u[4*c+1]=h.startY,u[4*c+2]=h.stopX,u[4*c+3]=h.stopY,Math.pow(h.cx-t,2)+Math.pow(h.cy-n,2)<=Math.pow(h.radius,2))return!0}return tW(t,n,u)}(t,n,this.points,0,0,0,0,this.getOrCreateCorners(o,s,i,a,l,u,"corners"))}}},s5.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:t1(4,0),draw:function(t,n,r,i,a,o){this.renderer.nodeShapeImpl(this.name,t,n,r,i,a,this.points,o)},intersectLine:function(t,n,r,i,a,o,s,l){return tF(a,o,t,n,r,i,s,l)},checkPoint:function(t,n,r,i,a,o,s,l){var u=i/2,c=a/2,h=2*(l=Math.min(u,c,l="auto"===l?t3(i,a):l));return!!tU(t,n,this.points,o,s,i,a-h,[0,-1],r)||!!tU(t,n,this.points,o,s,i-h,a,[0,-1],r)||!!tG(t,n,h,h,o-u+l,s-c+l,r)||!!tG(t,n,h,h,o+u-l,s-c+l,r)||!!tG(t,n,h,h,o+u-l,s+c-l,r)||!!tG(t,n,h,h,o-u+l,s+c-l,r)}}},s5.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:8,points:t1(4,0),draw:function(t,n,r,i,a,o){this.renderer.nodeShapeImpl(this.name,t,n,r,i,a,null,o)},generateCutTrianglePts:function(t,n,r,i,a){var o="auto"===a?this.cornerLength:a,s=n/2,l=t/2,u=r-l,c=r+l,h=i-s,d=i+s;return{topLeft:[u,h+o,u+o,h,u+o,h+o],topRight:[c-o,h,c,h+o,c-o,h+o],bottomRight:[c,d-o,c-o,d,c-o,d-o],bottomLeft:[u+o,d,u,d-o,u+o,d-o]}},intersectLine:function(t,n,r,i,a,o,s,l){var u=this.generateCutTrianglePts(r+2*s,i+2*s,t,n,l);return tJ(a,o,[].concat.apply([],[u.topLeft.splice(0,4),u.topRight.splice(0,4),u.bottomRight.splice(0,4),u.bottomLeft.splice(0,4)]),t,n)},checkPoint:function(t,n,r,i,a,o,s,l){var u="auto"===l?this.cornerLength:l;if(tU(t,n,this.points,o,s,i,a-2*u,[0,-1],r)||tU(t,n,this.points,o,s,i-2*u,a,[0,-1],r))return!0;var c=this.generateCutTrianglePts(i,a,o,s);return tW(t,n,c.topLeft)||tW(t,n,c.topRight)||tW(t,n,c.bottomRight)||tW(t,n,c.bottomLeft)}}},s5.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:t1(4,0),draw:function(t,n,r,i,a,o){this.renderer.nodeShapeImpl(this.name,t,n,r,i,a)},intersectLine:function(t,n,r,i,a,o,s,l){var u=this.generateBarrelBezierPts(r+2*s,i+2*s,t,n),c=function(t){var n=t_({x:t[0],y:t[1]},{x:t[2],y:t[3]},{x:t[4],y:t[5]},.15),r=t_({x:t[0],y:t[1]},{x:t[2],y:t[3]},{x:t[4],y:t[5]},.5),i=t_({x:t[0],y:t[1]},{x:t[2],y:t[3]},{x:t[4],y:t[5]},.85);return[t[0],t[1],n.x,n.y,r.x,r.y,i.x,i.y,t[4],t[5]]};return tJ(a,o,[].concat(c(u.topLeft),c(u.topRight),c(u.bottomRight),c(u.bottomLeft)),t,n)},generateBarrelBezierPts:function(t,n,r,i){var a=n/2,o=t/2,s=r-o,l=r+o,u=i-a,c=i+a,h=t9(t,n),d=h.heightOffset,f=h.widthOffset,p=h.ctrlPtOffsetPct*t,g={topLeft:[s,u+d,s+p,u,s+f,u],topRight:[l-f,u,l-p,u,l,u+d],bottomRight:[l,c-d,l-p,c,l-f,c],bottomLeft:[s+f,c,s+p,c,s,c-d]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(t,n,r,i,a,o,s,l){var u=t9(i,a),c=u.heightOffset,h=u.widthOffset;if(tU(t,n,this.points,o,s,i,a-2*c,[0,-1],r)||tU(t,n,this.points,o,s,i-2*h,a,[0,-1],r))return!0;for(var d=this.generateBarrelBezierPts(i,a,o,s),f=Object.keys(d),p=0;p<f.length;p++){var g=d[f[p]],v=function(t,n,r){var i=r[4],a=r[2],o=r[0],s=r[5],l=r[1],u=Math.min(i,o),c=Math.max(i,o),h=Math.min(s,l),d=Math.max(s,l);if(u<=t&&t<=c&&h<=n&&n<=d){var f=[i-2*a+o,2*(a-i),i],p=(function(t,n,r,i){var a=n*n-4*t*(r-=i);if(a<0)return[];var o=Math.sqrt(a),s=2*t;return[(-n+o)/s,(-n-o)/s]})(f[0],f[1],f[2],t).filter(function(t){return 0<=t&&t<=1});if(p.length>0)return p[0]}return null}(t,n,g);if(null!=v){var y=tD(g[5],g[3],g[1],v);if(g.isTop&&y<=n||g.isBottom&&n<=y)return!0}}return!1}}},s5.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:t1(4,0),draw:function(t,n,r,i,a,o){this.renderer.nodeShapeImpl(this.name,t,n,r,i,a,this.points,o)},intersectLine:function(t,n,r,i,a,o,s,l){var u=n-(i/2+s),c=tQ(a,o,t,n,t-(r/2+s),u,t+(r/2
1+s),u,!1);return c.length>0?c:tF(a,o,t,n,r,i,s,l)},checkPoint:function(t,n,r,i,a,o,s,l){var u=2*(l="auto"===l?t3(i,a):l);if(tU(t,n,this.points,o,s,i,a-u,[0,-1],r)||tU(t,n,this.points,o,s,i-u,a,[0,-1],r))return!0;var c=i/2+2*r,h=a/2+2*r;return!!tW(t,n,[o-c,s-h,o-c,s,o+c,s,o+c,s-h])||!!tG(t,n,u,u,o+i/2-l,s+a/2-l,r)||!!tG(t,n,u,u,o-i/2+l,s+a/2-l,r)}}},s5.registerNodeShapes=function(){var t=this.nodeShapes={},n=this;this.generateEllipse(),this.generatePolygon("triangle",t1(3,0)),this.generateRoundPolygon("round-triangle",t1(3,0)),this.generatePolygon("rectangle",t1(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r),this.generatePolygon("pentagon",t1(5,0)),this.generateRoundPolygon("round-pentagon",t1(5,0)),this.generatePolygon("hexagon",t1(6,0)),this.generateRoundPolygon("round-hexagon",t1(6,0)),this.generatePolygon("heptagon",t1(7,0)),this.generateRoundPolygon("round-heptagon",t1(7,0)),this.generatePolygon("octagon",t1(8,0)),this.generateRoundPolygon("round-octagon",t1(8,0));var i=Array(20),a=t5(5,0),o=t5(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l<o.length/2;l++)o[2*l]*=s,o[2*l+1]*=s;for(l=0;l<5;l++)i[4*l]=a[2*l],i[4*l+1]=a[2*l+1],i[4*l+2]=o[2*l],i[4*l+3]=o[2*l+1];i=t2(i),this.generatePolygon("star",i),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);var u=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",u),this.generateRoundPolygon("round-tag",u),t.makePolygon=function(t){var r,i="polygon-"+t.join("$");return(r=this[i])?r:n.generatePolygon(i,t)}};var s3={timeToRender:function(){return this.redrawTotalTime/this.redrawCount},redraw:function(t){t=t||e4(),void 0===this.averageRedrawTime&&(this.averageRedrawTime=0),void 0===this.lastRedrawTime&&(this.lastRedrawTime=0),void 0===this.lastDrawTime&&(this.lastDrawTime=0),this.requestedFrame=!0,this.renderOptions=t},beforeRender:function(t,n){if(!this.destroyed){null==n&&eJ("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:t,priority:n}),r.sort(function(t,n){return n.priority-t.priority})}}},s4=function(t,n,r){for(var i=t.beforeRenderCallbacks,a=0;a<i.length;a++)i[a].fn(n,r)};s3.startRenderLoop=function(){var t=this,n=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=function(i){if(!t.destroyed){if(n.batching());else if(t.requestedFrame&&!t.skipFrame){s4(t,!0,i);var a=eR();t.render(t.renderOptions);var o=t.lastDrawTime=eR();void 0===t.averageRedrawTime&&(t.averageRedrawTime=o-a),void 0===t.redrawCount&&(t.redrawCount=0),t.redrawCount++,void 0===t.redrawTotalTime&&(t.redrawTotalTime=0);var s=o-a;t.redrawTotalTime+=s,t.lastRedrawTime=s,t.averageRedrawTime=t.averageRedrawTime/2+s/2,t.requestedFrame=!1}else s4(t,!1,i);t.skipFrame=!1,eN(r)}};eN(r)}};var s9=function(t){this.init(t)},s6=s9.prototype;s6.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],s6.init=function(t){this.options=t,this.cy=t.cy;var n=this.container=t.cy.container(),r=this.cy.window();if(r){var i=r.document,a=i.head,o="__________cytoscape_stylesheet",s="__________cytoscape_container",l=null!=i.getElementById(o);if(0>n.className.indexOf(s)&&(n.className=(n.className||"")+" "+s),!l){var u=i.createElement("style");u.id=o,u.textContent="."+s+" { position: relative; }",a.insertBefore(u,a.children[0])}"static"===r.getComputedStyle(n).getPropertyValue("position")&&e1("A Cytoscape container has style position:static and so can not use UI extensions properly")}this.selection=[void 0,void 0,void 0,void 0,0],this.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],this.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},this.dragData={possibleDragElements:[]},this.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,
1null,null,null,null,null]},this.redraws=0,this.showFps=t.showFps,this.debug=t.debug,this.webgl=t.webgl,this.hideEdgesOnViewport=t.hideEdgesOnViewport,this.textureOnViewport=t.textureOnViewport,this.wheelSensitivity=t.wheelSensitivity,this.motionBlurEnabled=t.motionBlur,this.forcedPixelRatio=J(t.pixelRatio)?t.pixelRatio:null,this.motionBlur=t.motionBlur,this.motionBlurOpacity=t.motionBlurOpacity,this.motionBlurTransparency=1-this.motionBlurOpacity,this.motionBlurPxRatio=1,this.mbPxRBlurry=1,this.minMbLowQualFrames=4,this.fullQualityMb=!1,this.clearedForMotionBlur=[],this.desktopTapThreshold=t.desktopTapThreshold,this.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,this.touchTapThreshold=t.touchTapThreshold,this.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,this.tapholdDuration=500,this.bindings=[],this.beforeRenderCallbacks=[],this.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},this.registerNodeShapes(),this.registerArrowShapes(),this.registerCalculationListeners()},s6.notify=function(t,n){var r=this.cy;this.destroyed||("init"!==t?"destroy"!==t?(("add"===t||"remove"===t||"move"===t&&r.hasCompoundNodes()||"load"===t||"zorder"===t||"mount"===t)&&this.invalidateCachedZSortedEles(),"viewport"===t&&this.redrawHint("select",!0),"gc"===t&&this.redrawHint("gc",!0),"load"!==t&&"resize"!==t&&"mount"!==t||(this.invalidateContainerClientCoordsCache(),this.matchCanvasSize(this.container)),this.redrawHint("eles",!0),this.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()):this.destroy():this.load())},s6.destroy=function(){this.destroyed=!0,this.cy.stopAnimationLoop();for(var t=0;t<this.bindings.length;t++){var n=this.bindings[t],r=n.target;(r.off||r.removeEventListener).apply(r,n.args)}if(this.bindings=[],this.beforeRenderCallbacks=[],this.onUpdateEleCalcsFns=[],this.removeObserver&&this.removeObserver.disconnect(),this.styleObserver&&this.styleObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.labelCalcDiv)try{document.body.removeChild(this.labelCalcDiv)}catch(t){}},s6.isHeadless=function(){return!1},[{arrowShapeWidth:.3,registerArrowShapes:function(){var t=this.arrowShapes={},n=this,r=function(t,n,r,i,a,o,s){var l=a.x-r/2-s,u=a.x+r/2+s,c=a.y-r/2-s,h=a.y+r/2+s;return l<=t&&t<=u&&c<=n&&n<=h},i=function(t,n,r,i,a){var o=t*Math.cos(i)-n*Math.sin(i),s=(t*Math.sin(i)+n*Math.cos(i))*r;return{x:o*r+a.x,y:s+a.y}},a=function(t,n,r,a){for(var o=[],s=0;s<t.length;s+=2){var l=t[s],u=t[s+1];o.push(i(l,u,n,r,a))}return o},o=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r];n.push(i.x,i.y)}return n},s=function(t){return t.pstyle("width").pfValue*t.pstyle("arrow-scale").pfValue*2},l=function(i,l){G(l)&&(l=t[l]),t[i]=eb({name:i,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(t,n,r,i,s,l){return tW(t,n,o(a(this.points,r+2*l,i,s)))},roughCollide:r,draw:function(t,r,i,o){var s=a(this.points,r,i,o);n.arrowShapeImpl("polygon")(t,s)},spacing:function(t){return 0},gap:s},l)};l("none",{collide:eZ,roughCollide:eZ,draw:eQ,spacing:e$,gap:e$}),l("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),l("arrow","triangle"),l("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(t,r,o,s,l){var u=a(this.points,r,o,s),c=this.controlPoint,h=i(c[0],c[1],r,o,s);n.arrowShapeImpl(this.name)(t,u,h)},gap:function(t){return .8*s(t)}}),l("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(t,n,r,i,s,l,u){var c=o(a(this.points,r+2*u,i,s)),h=o(a(this.pointsTee,r+2*u,i,s));return tW(t,n,c)||tW(t,n,h)},draw:function(t,r,i,o,s){var l=a(this.points,r,i,o),u=a(this.pointsTee,r,i,o);n.arrowShapeImpl(this.name)(t,l,u)}}),l("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(t,n,r,i,s,l,u){var c=Math.pow(s.x-t,2)+Math.pow(s.y-n,2)<=Math.pow((r+2*u)*this.radius,2);return tW(t,n,o(a(this.points,r+2*u,i,s)))||c},draw:function(t,r,i,o,s){var l=a(this.pointsTr,r,i,o);n.arrowShapeImpl(this.name)(t,l,o.x,o.y,this.radius*r)},spacing:function(t){return n.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.radius}}),l("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(t,n){var r=this.baseCrossLinePts.slice(),i=n/t;return r[3]=r[3]-i,r[5]=r[5]-i,r},collide:function(t,n,r,i,s,l,u){var c=o(a(this.points,r+2*u,i,s)),h=o(a(this.crossLinePts(r,l),r+2*u,i,s));return tW(t,n,c)||tW(t,n,h)},draw:function(t,r,i,o,s){var l=a(this.points,r,i,o),u=a(this.crossLinePts(r,s),r,i,o);n.arrowShapeImpl(this.name)(t,l,u)}}),l("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(t){return .525*s(t)}}),l("circle",{radius:.15,collide:function(t,n,r,i,a,o,s){return Math.pow(a.x-t,2)+Math.pow(a.y-n,2)<=Math.pow((r+2*s)*this.radius,2)},draw:function(t,r,i,a,o){n.arrowShapeImpl(this.name)(t,a.x,a.y,this.radius*r)},spacing:function(t){return n.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.radius}}),l("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(t){return 1},gap:function(t){return 1}}),l("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),l("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(t){return t.pstyle("width").pfValue*t.pstyle("arrow-scale").value}}),l("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(t){return .95*t.pstyle("width").pfValue*t.pstyle("arrow-scale").value}})}},s1,{getCachedImage:function(t,n,r){var i=this.imageCache=this.imageCache||{},a=i[t];if(a)return a.image.complete||a.image.addEventListener("load",r),a.image;var o=(a=i[t]=i[t]||{}).image=new Image;return o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0}),"data:"===t.substring(0,5).toLowerCase()||(n="null"===n?null:n,o.crossOrigin=n),o.src=t,o}},s2,s5,s3].forEach(function(t){eb(s6,t)});var s8=1e3/60,s7=function(t){return function(){var n=this,r=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var i=eA(function(){r.redrawHint("eles",!0),r.redrawHint("drag",!0),r.redraw()},t.deqRedrawThreshold),a=t.priority||eQ;r.beforeRender(function(a,o){var s=eR(),l=r.averageRedrawTime,u=r.lastRedrawTime,c=[],h=r.cy.extent(),d=r.getPixelRatio();for(a||r.flushRenderedStyleQueue();;){var f=eR(),p=f-s,g=f-o;if(u<s8){var v=s8-(a?l:0);if(g>=t.deqFastCost*v)break}else if(a){if(p>=t.deqCost*u||p>=t.deqAvgCost*l)break}else if(g>=t.deqNoDrawCost*s8)break;var y=t.deq(n,d,h);if(!(y.length>0))break;for(var m=0;m<y.length;m++)c.push(y[m])}c.length>0&&(t.onDeqd(n,c),!a&&t.shouldRedraw(n,c,d,h)&&i())},a(n))}}},le=o(function t(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:eZ;a(this,t),this.idsByKey=new tt,this.keyForId=new tt,this.cachesByLvl=new tt,this.lvls=[],this.getKey=n,this.doesEleInvalidateKey=r},[{key:"getIdsFor",value:function(t){null==t&&eJ("Can not get id list for null key");var n=this.idsByKey,r=this.idsByKey.get(t);return r||(r=new tr,n.set(t,r)),r}},{key:"addIdForKey",value:function(t,n){null!=t&&this.getIdsFor(t).add(n)}},{key:"deleteIdForKey",value:function(t,n){null!=t&&this.getIdsFor(t).delete(n)}},{key:"getNumberOfIdsForKey",value:function(t){return null==t?0:this.getIdsFor(t).size}},{key:"updateKeyMappingFor",value:function(t){var n=t.id(),r=this.keyForId.get(n),i=this.getKey(t);this.deleteIdForKey(r,n),this.addIdForKey(i,n),this.keyForId.set(n,i)}},{key:"deleteKeyMappingFor",value:function(t){var n=t.id(),r=this.keyForId.get(n);this.deleteIdForKey(r,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(t){var n=t.id();return this.keyForId.get(n)!==this.getKey(t)}},{key:"isInvalid",value:function(t){return this.keyHasChangedFor(t)||this.doesEleInvalidateKey(t)}},{key:"getCachesAt",value:function(t){var n=this.cachesByLvl,r=this.lvls,i=n.get(t);
1return i||(i=new tt,n.set(t,i),r.push(t)),i}},{key:"getCache",value:function(t,n){return this.getCachesAt(n).get(t)}},{key:"get",value:function(t,n){var r=this.getKey(t),i=this.getCache(r,n);return null!=i&&this.updateKeyMappingFor(t),i}},{key:"getForCachedKey",value:function(t,n){var r=this.keyForId.get(t.id());return this.getCache(r,n)}},{key:"hasCache",value:function(t,n){return this.getCachesAt(n).has(t)}},{key:"has",value:function(t,n){var r=this.getKey(t);return this.hasCache(r,n)}},{key:"setCache",value:function(t,n,r){r.key=t,this.getCachesAt(n).set(t,r)}},{key:"set",value:function(t,n,r){var i=this.getKey(t);this.setCache(i,n,r),this.updateKeyMappingFor(t)}},{key:"deleteCache",value:function(t,n){this.getCachesAt(n).delete(t)}},{key:"delete",value:function(t,n){var r=this.getKey(t);this.deleteCache(r,n)}},{key:"invalidateKey",value:function(t){var n=this;this.lvls.forEach(function(r){return n.deleteCache(t,r)})}},{key:"invalidate",value:function(t){var n=t.id(),r=this.keyForId.get(n);this.deleteKeyMappingFor(t);var i=this.doesEleInvalidateKey(t);return i&&this.invalidateKey(r),i||0===this.getNumberOfIdsForKey(r)}}]),lt={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},ln=e9({getKey:null,doesEleInvalidateKey:eZ,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:eG,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),lr=function(t,n){this.renderer=t,this.onDequeues=[];var r=ln(n);eb(this,r),this.lookup=new le(r.getKey,r.doesEleInvalidateKey),this.setupDequeueing()},li=lr.prototype;li.reasons=lt,li.getTextureQueue=function(t){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[t]=this.eleImgCaches[t]||[]},li.getRetiredTextureQueue=function(t){var n=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return n[t]=n[t]||[]},li.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new td(function(t,n){return n.reqs-t.reqs})},li.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},li.getElement=function(t,n,r,i,a){var o,s=this,l=this.renderer,u=l.cy.zoom(),c=this.lookup;if(!n||0===n.w||0===n.h||isNaN(n.w)||isNaN(n.h)||!t.visible()||t.removed()||!s.allowEdgeTxrCaching&&t.isEdge()||!s.allowParentTxrCaching&&t.isParent())return null;if(null==i&&(i=Math.ceil(tT(u*r))),i<-4)i=-4;else if(u>=7.99||i>3)return null;var h=Math.pow(2,i),d=n.h*h,f=n.w*h,p=l.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var g,v=c.get(t,i);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;if(g=d<=25?25:d<=50?50:50*Math.ceil(d/50),d>1024||f>1024)return null;var y=s.getTextureQueue(g),m=y[y.length-2],b=function(){return s.recycleTexture(g,f)||s.addTexture(g,f)};m||(m=y[y.length-1]),m||(m=b()),m.width-m.usedWidth<f&&(m=b());for(var x,w=function(t){return t&&t.scaledLabelShown===p},E=a&&a===lt.dequeue,k=a&&a===lt.highQuality,T=a&&a===lt.downscale,C=i+1;C<=3;C++){var P=c.get(t,C);if(P){x=P;break}}var S=x&&x.level===i+1?x:null,B=function(){m.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,m.usedWidth,0,f,d)};if(m.context.setTransform(1,0,0,1,0,0),m.context.clearRect(m.usedWidth,0,f,g),w(S))B();else if(w(x)){if(!k)return s.queueElement(t,x.level-1),x;for(var D=x.level;D>i;D--)S=s.getElement(t,n,r,D,lt.downscale);B()}else{if(!E&&!k&&!T)for(var _=i-1;_>=-4;_--){var A=c.get(t,_);if(A){o=A;break}}if(w(o))return s.queueElement(t,i),o;m.context.translate(m.usedWidth,0),m.context.scale(h,h),this.drawElement(m.context,t,n,p,!1),m.context.scale(1/h,1/h),m.context.translate(-m.usedWidth,0)}return v={x:m.usedWidth,texture:m,level:i,scale:h,width:f,height:d,scaledLabelShown:p},m.usedWidth+=Math.ceil(f+8),m.eleCaches.push(v),c.set(t,i,v),s.checkTextureFullness(m),v},li.invalidateElements=function(t){for(var n=0;n<t.length;n++)this.invalidateElement(t[n])},li.invalidateElement=function(t){var n=this.lookup,r=[];if(n.isInvalid(t)){for(var i=-4;i<=3;i++){var a=n.getForCachedKey(t,i);a&&r.push(a)}if(n.invalidate(t))for(var o=0;o<r.length;o++){var s=r[o],l=s.texture;l.invalidatedWidth+=s.width,s.invalidated=!0,this.checkTextureUtility(l)}this.removeFromQueue(t)}},li.checkTextureUtility=function(t){t.invalidatedWidth>=.2*t.width&&this.retireTexture(t)},li.checkTextureFullness=function(t){var n=this.getTextureQueue(t.height);t.usedWidth/t.width>.8&&t.fullnessChecks>
1=10?e6(n,t):t.fullnessChecks++},li.retireTexture=function(t){var n=t.height,r=this.getTextureQueue(n),i=this.lookup;e6(r,t),t.retired=!0;for(var a=t.eleCaches,o=0;o<a.length;o++){var s=a[o];i.deleteCache(s.key,s.level)}e8(a),this.getRetiredTextureQueue(n).push(t)},li.addTexture=function(t,n){var r={};return this.getTextureQueue(t).push(r),r.eleCaches=[],r.height=t,r.width=Math.max(1024,n),r.usedWidth=0,r.invalidatedWidth=0,r.fullnessChecks=0,r.canvas=this.renderer.makeOffscreenCanvas(r.width,r.height),r.context=r.canvas.getContext("2d"),r},li.recycleTexture=function(t,n){for(var r=this.getTextureQueue(t),i=this.getRetiredTextureQueue(t),a=0;a<i.length;a++){var o=i[a];if(o.width>=n)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,e8(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),e6(i,o),r.push(o),o}},li.queueElement=function(t,n){var r=this.getElementQueue(),i=this.getElementKeyToQueue(),a=this.getKey(t),o=i[a];if(o)o.level=Math.max(o.level,n),o.eles.merge(t),o.reqs++,r.updateItem(o);else{var s={eles:t.spawn().merge(t),level:n,reqs:1,key:a};r.push(s),i[a]=s}},li.dequeue=function(t){for(var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=[],a=this.lookup,o=0;o<1&&n.size()>0;o++){var s=n.pop(),l=s.key,u=s.eles[0],c=a.hasCache(u,s.level);if(r[l]=null,!c){i.push(s);var h=this.getBoundingBox(u);this.getElement(u,h,t,s.level,lt.dequeue)}}return i},li.removeFromQueue=function(t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(t),a=r[i];null!=a&&(1===a.eles.length?(a.reqs=eK,n.updateItem(a),n.pop(),r[i]=null):a.eles.unmerge(t))},li.onDequeue=function(t){this.onDequeues.push(t)},li.offDequeue=function(t){e6(this.onDequeues,t)},li.setupDequeueing=s7({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,n,r){return t.dequeue(n,r)},onDeqd:function(t,n){for(var r=0;r<t.onDequeues.length;r++)(0,t.onDequeues[r])(n)},shouldRedraw:function(t,n,r,i){for(var a=0;a<n.length;a++)for(var o=n[a].eles,s=0;s<o.length;s++)if(tO(o[s].boundingBox(),i))return!0;return!1},priority:function(t){return t.renderer.beforeRenderPriorities.eleTxrDeq}});var la=function(t){var n=this,r=n.renderer=t,i=r.cy;n.layersByLevel={},n.firstGet=!0,n.lastInvalidationTime=eR()-500,n.skipping=!1,n.eleTxrDeqs=i.collection(),n.scheduleElementRefinement=eA(function(){n.refineElementTextures(n.eleTxrDeqs),n.eleTxrDeqs.unmerge(n.eleTxrDeqs)},50),r.beforeRender(function(t,r){r-n.lastInvalidationTime<=250?n.skipping=!0:n.skipping=!1},r.beforeRenderPriorities.lyrTxrSkip),n.layersQueue=new td(function(t,n){return n.reqs-t.reqs}),n.setupDequeueing()},lo=la.prototype,ls=0;lo.makeLayer=function(t,n){var r=Math.pow(2,n),i=Math.ceil(t.w*r),a=Math.ceil(t.h*r),o=this.renderer.makeOffscreenCanvas(i,a),s={id:ls=++ls%9007199254740991,bb:t,level:n,width:i,height:a,canvas:o,context:o.getContext("2d"),eles:[],elesQueue:[],reqs:0},l=s.context,u=-s.bb.x1,c=-s.bb.y1;return l.scale(r,r),l.translate(u,c),s},lo.getLayers=function(t,n,r){var i=this,a=i.renderer.cy.zoom(),o=i.firstGet;if(i.firstGet=!1,null==r){if((r=Math.ceil(tT(a*n)))<-4)r=-4;else if(a>=3.99||r>2)return null}i.validateLayersElesOrdering(r,t);var s,l,u=i.layersByLevel,c=Math.pow(2,r),h=u[r]=u[r]||[];if(i.levelIsComplete(r,t))return h;if(function(){var n=function(n){if(i.validateLayersElesOrdering(n,t),i.levelIsComplete(n,t))return l=u[n],!0},a=function(t){if(!l)for(var i=r+t;-4<=i&&i<=2&&!n(i);i+=t);};a(1),a(-1);for(var o=h.length-1;o>=0;o--){var s=h[o];s.invalid&&e6(h,s)}}(),i.skipping&&!o)return null;for(var d,f,p=null,g=t.length/1,v=!o,y=0;y<t.length;y++){var m=t[y],b=m._private.rscratch,x=b.imgLayerCaches=b.imgLayerCaches||{},w=x[r];if(w)p=w;else{if((!p||p.eles.length>=g||!tV(d=p.bb,(f=m.boundingBox()).x1,f.y1)||!tV(d,f.x2,f.y2))&&!(p=function(n){var a=(n=n||{}).after;!function(){if(!s){s=tM();for(var n=0;n<t.length;n++)tR(s,t[n].boundingBox())}}();var o=Math.ceil(s.w*c),l=Math.ceil(s.h*c);if(o>32767||l>32767||o*l>16e6)return null;var u=i.makeLayer(s,r);if(null!=a){var d=h.indexOf(a)+1;h.splice(d,0,u)}else(void 0===n.insert||n.insert)&&h.unshift(u);return u}({insert:!0,after:p})))return null;l||v?i.queueLayer(p,m):i.drawEleInLayer(p,m,r,n),p.eles.push(m),x[r]=p}}return l||(v?null:h)},lo.getEleLevelForLayerLevel=function(t,n){return t},lo.drawEleInLayer=function(t,n,r,i){var a=this.renderer,o=t.context,s=n.boundingBox();0!==s.w&&0!==s.h&&n.visible()&&(r=this.getEleLevelForLayerLevel(r,i),a.setImgSmoothing(o,!1),a.drawCachedElement(o,n,null,null,r,!0),a.setImgSmoothing(o,!0))},lo.levelIsComplete=function(t,n){var r=this.layersByLevel[t];if(!r||0===r.length)return!1;for(var i=0,a=0;a<r.length;a++){var o=r[a];if(o.reqs>0||o.invalid)return!1;i+=o.eles.length}return i===n.length},lo.validateLayersElesOrdering=function(t,n){var r=this.layersByLevel[t];if(r)for(var i=0;i<r.length;i++){for(var a=r[i],o=-1,s=0;s<n.length;
1s++)if(a.eles[0]===n[s]){o=s;break}if(o<0)this.invalidateLayer(a);else{var l=o;for(s=0;s<a.eles.length;s++)if(a.eles[s]!==n[l+s]){this.invalidateLayer(a);break}}}},lo.updateElementsInLayers=function(t,n){for(var r=en(t[0]),i=0;i<t.length;i++)for(var a=r?null:t[i],o=r?t[i]:t[i].ele,s=o._private.rscratch,l=s.imgLayerCaches=s.imgLayerCaches||{},u=-4;u<=2;u++){var c=l[u];c&&(a&&this.getEleLevelForLayerLevel(c.level)!==a.level||n(c,o,a))}},lo.haveLayers=function(){for(var t=!1,n=-4;n<=2;n++){var r=this.layersByLevel[n];if(r&&r.length>0){t=!0;break}}return t},lo.invalidateElements=function(t){var n=this;0!==t.length&&(n.lastInvalidationTime=eR(),0!==t.length&&n.haveLayers()&&n.updateElementsInLayers(t,function(t,r,i){n.invalidateLayer(t)}))},lo.invalidateLayer=function(t){if(this.lastInvalidationTime=eR(),!t.invalid){var n=t.level,r=t.eles;e6(this.layersByLevel[n],t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i<r.length;i++){var a=r[i]._private.rscratch.imgLayerCaches;a&&(a[n]=null)}}},lo.refineElementTextures=function(t){var n=this;n.updateElementsInLayers(t,function(t,r,i){var a=t.replacement;if(a||((a=t.replacement=n.makeLayer(t.bb,t.level)).replaces=t,a.eles=t.eles),!a.reqs)for(var o=0;o<a.eles.length;o++)n.queueLayer(a,a.eles[o])})},lo.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()},lo.queueLayer=function(t,n){var r=this.layersQueue,i=t.elesQueue,a=i.hasId=i.hasId||{};if(!t.replacement){if(n){if(a[n.id()])return;i.push(n),a[n.id()]=!0}t.reqs?(t.reqs++,r.updateItem(t)):(t.reqs=1,r.push(t))}},lo.dequeue=function(t){for(var n=this.layersQueue,r=[],i=0;i<1&&0!==n.size();){var a=n.peek();if(a.replacement)n.pop();else if(a.replaces&&a!==a.replaces.replacement)n.pop();else if(a.invalid)n.pop();else{var o=a.elesQueue.shift();o&&(this.drawEleInLayer(a,o,a.level,t),i++),0===r.length&&r.push(!0),0===a.elesQueue.length&&(n.pop(),a.reqs=0,a.replaces&&this.applyLayerReplacement(a),this.requestRedraw())}}return r},lo.applyLayerReplacement=function(t){var n=this.layersByLevel[t.level],r=t.replaces,i=n.indexOf(r);if(!(i<0||r.invalid)){n[i]=t;for(var a=0;a<t.eles.length;a++){var o=t.eles[a]._private,s=o.imgLayerCaches=o.imgLayerCaches||{};s&&(s[t.level]=t)}this.requestRedraw()}},lo.requestRedraw=eA(function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()},100),lo.setupDequeueing=s7({deqRedrawThreshold:50,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(t,n){return t.dequeue(n)},onDeqd:eQ,shouldRedraw:eG,priority:function(t){return t.renderer.beforeRenderPriorities.lyrTxrDeq}});var ll,lu={};function lc(t,n){for(var r=0;r<n.length;r++){var i=n[r];t.lineTo(i.x,i.y)}}function lh(t,n,r){for(var i,a=0;a<n.length;a++){var o=n[a];0===a&&(i=o),t.lineTo(o.x,o.y)}t.quadraticCurveTo(r.x,r.y,i.x,i.y)}function ld(t,n,r){t.beginPath&&t.beginPath();for(var i=0;i<n.length;i++){var a=n[i];t.lineTo(a.x,a.y)}var o=r[0];for(t.moveTo(o.x,o.y),i=1;i<r.length;i++)a=r[i],t.lineTo(a.x,a.y);t.closePath&&t.closePath()}function lf(t,n,r,i,a){t.beginPath&&t.beginPath(),t.arc(r,i,a,0,2*Math.PI,!1);var o=n[0];t.moveTo(o.x,o.y);for(var s=0;s<n.length;s++){var l=n[s];t.lineTo(l.x,l.y)}t.closePath&&t.closePath()}function lp(t,n,r,i){t.arc(n,r,i,0,2*Math.PI,!1)}lu.arrowShapeImpl=function(t){return(ll||(ll={polygon:lc,"triangle-backcurve":lh,"triangle-tee":ld,"cir
1cle-triangle":lf,"triangle-cross":ld,circle:lp}))[t]};var lg={drawElement:function(t,n,r,i,a,o){n.isNode()?this.drawNode(t,n,r,i,a,o):this.drawEdge(t,n,r,i,a,o)},drawElementOverlay:function(t,n){n.isNode()?this.drawNodeOverlay(t,n):this.drawEdgeOverlay(t,n)},drawElementUnderlay:function(t,n){n.isNode()?this.drawNodeUnderlay(t,n):this.drawEdgeUnderlay(t,n)},drawCachedElementPortion:function(t,n,r,i,a,o,s,l){var u=r.getBoundingBox(n);if(0!==u.w&&0!==u.h){var c=r.getElement(n,u,i,a,o);if(null!=c){var h=l(this,n);if(0===h)return;var d,f,p,g,v,y,m=s(this,n),b=u.x1,x=u.y1,w=u.w,E=u.h;if(0!==m){var k=r.getRotationPoint(n);p=k.x,g=k.y,t.translate(p,g),t.rotate(m),(v=this.getImgSmoothing(t))||this.setImgSmoothing(t,!0);var T=r.getRotationOffset(n);d=T.x,f=T.y}else d=b,f=x;1!==h&&(y=t.globalAlpha,t.globalAlpha=y*h),t.drawImage(c.texture.canvas,c.x,0,c.width,c.height,d,f,w,E),1!==h&&(t.globalAlpha=y),0!==m&&(t.rotate(-m),t.translate(-p,-g),v||this.setImgSmoothing(t,!1))}else r.drawElement(t,n)}}},lv=function(){return 0},ly=function(t,n){return t.getTextAngle(n,null)},lm=function(t,n){return t.getTextAngle(n,"source")},lb=function(t,n){return t.getTextAngle(n,"target")},lx=function(t,n){return n.effectiveOpacity()},lw=function(t,n){return n.pstyle("text-opacity").pfValue*n.effectiveOpacity()};lg.drawCachedElement=function(t,n,r,i,a,o){var s=this.data,l=s.eleTxrCache,u=s.lblTxrCache,c=s.slbTxrCache,h=s.tlbTxrCache,d=n.boundingBox(),f=!0===o?l.reasons.highQuality:null;if(0!==d.w&&0!==d.h&&n.visible()&&(!i||tO(d,i))){var p=n.isEdge(),g=n.element()._private.rscratch.badLine;this.drawElementUnderlay(t,n),this.drawCachedElementPortion(t,n,l,r,a,f,lv,lx),p&&g||this.drawCachedElementPortion(t,n,u,r,a,f,ly,lw),p&&!g&&(this.drawCachedElementPortion(t,n,c,r,a,f,lm,lw),this.drawCachedElementPortion(t,n,h,r,a,f,lb,lw)),this.drawElementOverlay(t,n)}},lg.drawElements=function(t,n){for(var r=0;r<n.length;r++){var i=n[r];this.drawElement(t,i)}},lg.drawCachedElements=function(t,n,r,i){for(var a=0;a<n.length;a++){var o=n[a];this.drawCachedElement(t,o,r,i)}},lg.drawCachedNodes=function(t,n,r,i){for(var a=0;a<n.length;a++){var o=n[a];o.isNode()&&this.drawCachedElement(t,o,r,i)}},lg.drawLayeredElements=function(t,n,r,i){var a=this.data.lyrTxrCache.getLayers(n,r);if(a)for(var o=0;o<a.length;o++){var s=a[o],l=s.bb;0!==l.w&&0!==l.h&&t.drawImage(s.canvas,l.x1,l.y1,l.w,l.h)}else this.drawCachedElements(t,n,r,i)};var lE={drawEdge:function(t,n,r){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],s=this,l=n._private.rscratch;if((!o||n.visible())&&!l.badLine&&null!=l.allpts&&!isNaN(l.allpts[0])){r&&(u=r,t.translate(-u.x1,-u.y1));var u,c=o?n.pstyle("opacity").value:1,h=o?n.pstyle("line-opacity").value:1,d=n.pstyle("curve-style").value,f=n.pstyle("line-style").value,p=n.pstyle("width").pfValue,g=n.pstyle("line-cap").value,v=n.pstyle("line-outline-width").value,y=n.pstyle("line-outline-color").value,m=c*h,b=c*h,x=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;"straight-triangle"===d?(s.eleStrokeStyle(t,n,r),s.drawEdgeTrianglePath(n,t,l.allpts)):(t.lineWidth=p,t.lineCap=g,s.eleStrokeStyle(t,n,r),s.drawEdgePath(n,t,l.allpts,f),t.lineCap="butt")},w=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:b;s.drawArrowheads(t,n,r)};if(t.lineJoin="round","yes"===n.pstyle("ghost").value){var E=n.pstyle("ghost-offset-x").pfValue,k=n.pstyle("ghost-offset-y").pfValue,T=m*n.pstyle("ghost-opacity").value;t.translate(E,k),x(T),w(T),t.translate(-E,-k)}else!function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:m;t.lineWidth=p+v,t.lineCap=g,v>0?(s.colorStrokeStyle(t,y[0],y[1],y[2],r),"straight-triangle"===d?s.drawEdgeTrianglePath(n,t,l.allpts):(s.drawEdgePath(n,t,l.allpts,f),t.lineCap="butt")):t.lineCap="butt"}();a&&s.drawEdgeUnderlay(t,n),x(),w(),a&&s.drawEdgeOverlay(t,n),s.drawElementText(t,n,null,i),r&&t.translate(u.x1,u.y1)}}},lk=function(t){if(!["overlay","underlay"].includes(t))throw Error("Invalid state");return function(n,r){if(r.visible()){var i=r.pstyle("".concat(t,"-opacity")).value;if(0!==i){var a=this.usePaths(),o=r._private.rscratch,s=2*r.pstyle("".concat(t,"-padding")).pfValue,l=r.pstyle("".concat(t,"-color")).value;n.lineWidth=s,"self"!==o.edgeType||a?n.lineCap="round":n.lineCap="butt",this.colorStrokeStyle(n,l[0],l[1],l[2],i),this.drawEdgePath(r,n,o.allpts,"s
1olid")}}}};lE.drawEdgeOverlay=lk("overlay"),lE.drawEdgeUnderlay=lk("underlay"),lE.drawEdgePath=function(t,n,r,i){var a,o=t._private.rscratch,l=n,u=!1,c=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,d=t.pstyle("line-dash-offset").pfValue;if(c){var f=r.join("$");o.pathCacheKey&&o.pathCacheKey===f?(a=n=o.pathCache,u=!0):(a=n=new Path2D,o.pathCacheKey=f,o.pathCache=a)}if(l.setLineDash)switch(i){case"dotted":l.setLineDash([1,1]);break;case"dashed":l.setLineDash(h),l.lineDashOffset=d;break;case"solid":l.setLineDash([])}if(!u&&!o.badLine)switch(n.beginPath&&n.beginPath(),n.moveTo(r[0],r[1]),o.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+3<r.length;p+=4)n.quadraticCurveTo(r[p],r[p+1],r[p+2],r[p+3]);break;case"straight":case"haystack":for(var g=2;g+1<r.length;g+=2)n.lineTo(r[g],r[g+1]);break;case"segments":if(o.isRound){var v,y=s(o.roundCorners);try{for(y.s();!(v=y.n()).done;)sY(n,v.value)}catch(t){y.e(t)}finally{y.f()}n.lineTo(r[r.length-2],r[r.length-1])}else for(var m=2;m+1<r.length;m+=2)n.lineTo(r[m],r[m+1])}n=l,c?n.stroke(a):n.stroke(),n.setLineDash&&n.setLineDash([])},lE.drawEdgeTrianglePath=function(t,n,r){n.fillStyle=n.strokeStyle;for(var i=t.pstyle("width").pfValue,a=0;a+1<r.length;a+=2){var o=[r[a+2]-r[a],r[a+3]-r[a+1]],s=Math.sqrt(o[0]*o[0]+o[1]*o[1]),l=[o[1]/s,-o[0]/s],u=[l[0]*i/2,l[1]*i/2];n.beginPath(),n.moveTo(r[a]-u[0],r[a+1]-u[1]),n.lineTo(r[a]+u[0],r[a+1]+u[1]),n.lineTo(r[a+2],r[a+3]),n.closePath(),n.fill()}},lE.drawArrowheads=function(t,n,r){var i=n._private.rscratch,a="haystack"===i.edgeType;a||this.drawArrowhead(t,n,"source",i.arrowStartX,i.arrowStartY,i.srcArrowAngle,r),this.drawArrowhead(t,n,"mid-target",i.midX,i.midY,i.midtgtArrowAngle,r),this.drawArrowhead(t,n,"mid-source",i.midX,i.midY,i.midsrcArrowAngle,r),a||this.drawArrowhead(t,n,"target",i.arrowEndX,i.arrowEndY,i.tgtArrowAngle,r)},lE.drawArrowhead=function(t,n,r,i,a,o,s){if(!(isNaN(i)||null==i||isNaN(a)||null==a||isNaN(o)||null==o)){var l=n.pstyle(r+"-arrow-shape").value;if("none"!==l){var u="hollow"===n.pstyle(r+"-arrow-fill").value?"both":"filled",c=n.pstyle(r+"-arrow-fill").value,h=n.pstyle("width").pfValue,d=n.pstyle(r+"-arrow-width"),f="match-line"===d.value?h:d.pfValue;"%"===d.units&&(f*=h);var p=n.pstyle("opacity").value;void 0===s&&(s=p);var g=t.globalCompositeOperation;1===s&&"hollow"!==c||(t.globalCompositeOperation="destination-out",this.colorFillStyle(t,255,255,255,1),this.colorStrokeStyle(t,255,255,255,1),this.drawArrowShape(n,t,u,h,l,f,i,a,o),t.globalCompositeOperation=g);var v=n.pstyle(r+"-arrow-color").value;this.colorFillStyle(t,v[0],v[1],v[2],s),this.colorStrokeStyle(t,v[0],v[1],v[2],s),this.drawArrowShape(n,t,c,h,l,f,i,a,o)}}},lE.drawArrowShape=function(t,n,r,i,a,o,s,l,u){var c,h=this.usePaths()&&"triangle-cross"!==a,d=!1,f=n,p=t.pstyle("arrow-scale").value,g=this.getArrowWidth(i,p),v=this.arrowShapes[a];if(h){var y=this.arrowPathCache=this.arrowPathCache||[],m=eX(a),b=y[m];null!=b?(c=n=b,d=!0):(c=n=new Path2D,y[m]=c)}d||(n.beginPath&&n.beginPath(),h?v.draw(n,1,0,{x:0,y:0},1):v.draw(n,g,u,{x:s,y:l},i),n.closePath&&n.closePath()),n=f,h&&(n.translate(s,l),n.rotate(u),n.scale(g,g)),"filled"!==r&&"both"!==r||(h?n.fill(c):n.fill()),"hollow"!==r&&"both"!==r||(n.lineWidth=o/(h?g:1),n.lineJoin="miter",h?n.stroke(c):n.stroke()),h&&(n.scale(1/g,1/g),n.rotate(-u),n.translate(-s,-l))};var lT={};function lC(t,n,r,i,a){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(n+o,r),t.lineTo(n+i-o,r),t.quadraticCurveTo(n+i,r,n+i,r+o),t.lineTo(n+i,r+a-o),t.quadraticCurveTo(n+i,r+a,n+i-o,r+a),t.lineTo(n+o,r+a),t.quadraticCurveTo(n,r+a,n,r+a-o),t.lineTo(n,r+o),t.quadraticCurveTo(n,r,n+o,r),t.closePath(),s?t.stroke():t.fill()}lT.eleTextBiggerThanMin=function(t,n){return n||(n=Math.pow(2,Math.ceil(tT(t.cy().zoom()*this.getPixelRatio())))),!(t.pstyle("font-size").pfValue*n<t.pstyle("min-zoomed-font-size").pfValue)},lT.drawElementText=function(t,n,r,i,a){var o=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(null==i){if(o&&!this.eleTextBiggerThanMin(n))return}else if(!1===i)return;if(n.isNode()){var s=n.pstyle("label");if(!s||!s.value)return;var l=this.getLabelJustification(n);t.textAlign=l,t.textBaseline="bottom"}
1else{var u=n.element()._private.rscratch.badLine,c=n.pstyle("label"),h=n.pstyle("source-label"),d=n.pstyle("target-label");if(u||(!c||!c.value)&&(!h||!h.value)&&(!d||!d.value))return;t.textAlign="center",t.textBaseline="bottom"}var f,p=!r;r&&(f=r,t.translate(-f.x1,-f.y1)),null==a?(this.drawText(t,n,null,p,o),n.isEdge()&&(this.drawText(t,n,"source",p,o),this.drawText(t,n,"target",p,o))):this.drawText(t,n,a,p,o),r&&t.translate(f.x1,f.y1)},lT.getFontCache=function(t){var n;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if((n=this.fontCaches[r]).context===t)return n;return n={context:t},this.fontCaches.push(n),n},lT.setupTextStyle=function(t,n){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=n.pstyle("font-style").strValue,a=n.pstyle("font-size").pfValue+"px",o=n.pstyle("font-family").strValue,s=n.pstyle("font-weight").strValue,l=r?n.effectiveOpacity()*n.pstyle("text-opacity").value:1,u=n.pstyle("text-outline-opacity").value*l,c=n.pstyle("color").value,h=n.pstyle("text-outline-color").value;t.font=i+" "+s+" "+a+" "+o,t.lineJoin="round",this.colorFillStyle(t,c[0],c[1],c[2],l),this.colorStrokeStyle(t,h[0],h[1],h[2],u)},lT.getTextAngle=function(t,n){var r,i=t._private.rscratch,a=n?n+"-":"",o=t.pstyle(a+"text-rotation");if("autorotate"===o.strValue){var s=e7(i,"labelAngle",n);r=t.isEdge()?s:0}else r="none"===o.strValue?0:o.pfValue;return r},lT.drawText=function(t,n,r){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=n._private.rscratch,s=a?n.effectiveOpacity():1;if(!a||0!==s&&0!==n.pstyle("text-opacity").value){"main"===r&&(r=null);var l,u,c=e7(o,"labelX",r),h=e7(o,"labelY",r),d=this.getLabelText(n,r);if(null!=d&&""!==d&&!isNaN(c)&&!isNaN(h)){this.setupTextStyle(t,n,a);var f,p=r?r+"-":"",g=e7(o,"labelWidth",r),v=e7(o,"labelHeight",r),y=n.pstyle(p+"text-margin-x").pfValue,m=n.pstyle(p+"text-margin-y").pfValue,b=n.isEdge(),x=n.pstyle("text-halign").value,w=n.pstyle("text-valign").value;switch(b&&(x="center",w="center"),c+=y,h+=m,0!==(f=i?this.getTextAngle(n,r):0)&&(l=c,u=h,t.translate(l,u),t.rotate(f),c=0,h=0),w){case"top":break;case"center":h+=v/2;break;case"bottom":h+=v}var E=n.pstyle("text-background-opacity").value,k=n.pstyle("text-border-opacity").value,T=n.pstyle("text-border-width").pfValue,C=n.pstyle("text-background-padding").pfValue,P=0===n.pstyle("text-background-shape").strValue.indexOf("round");if(E>0||T>0&&k>0){var S=c-C;switch(x){case"left":S-=g;break;case"center":S-=g/2}var B=h-v-C,D=g+2*C,_=v+2*C;if(E>0){var A=t.fillStyle,M=n.pstyle("text-background-color").value;t.fillStyle="rgba("+M[0]+","+M[1]+","+M[2]+","+E*s+")",P?lC(t,S,B,D,_,2):t.fillRect(S,B,D,_),t.fillStyle=A}if(T>0&&k>0){var R=t.strokeStyle,I=t.lineWidth,N=n.pstyle("text-border-color").value,L=n.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+N[0]+","+N[1]+","+N[2]+","+k*s+")",t.lineWidth=T,t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=T/4,t.setLineDash([]);break;case"solid":t.setLineDash([])}if(P?lC(t,S,B,D,_,2,"stroke"):t.strokeRect(S,B,D,_),"double"===L){var z=T/2;P?lC(t,S+z,B+z,D-2*z,_-2*z,2,"stroke"):t.strokeRect(S+z,B+z,D-2*z,_-2*z)}t.setLineDash&&t.setLineDash([]),t.lineWidth=I,t.strokeStyle=R}}var O=2*n.pstyle("text-outline-width").pfValue;if(O>0&&(t.lineWidth=O),"wrap"===n.pstyle("text-wrap").value){var V=e7(o,"labelWrapCachedLines",r),F=e7(o,"labelLineHeight",r),j=g/2,X=this.getLabelJustification(n);switch("auto"===X||("left"===x?"left"===X?c+=-g:"center"===X&&(c+=-j):"center"===x?"left"===X?c+=-j:"right"===X&&(c+=j):"right"===x&&("center"===X?c+=j:"right"===X&&(c+=g))),w){case"top":case"center":case"bottom":h-=(V.length-1)*F}for(var q=0;q<V.length;q++)O>0&&t.strokeText(V[q],c,h),t.fillText(V[q],c,h),h+=F}else O>0&&t.strokeText(d,c,h),t.fillText(d,c,h);0!==f&&(t.rotate(-f),t.translate(-l,-u))}}};var lP={drawNode:function(t,n,r){var i,a,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],l=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],u=this,c=n._private,h=c.rscratch,d=n.position();if(J(d.x)&&J(d.y)&&(!l||n.visible())){var f,p,g=l?n.effectiveOpacity():1,v=u.usePaths(),y=!1,m=n.padding();i=n.width()+2*m,a=n.height()+2*m,r&&(p=r,t.translate(-p.x1,-p.y1));for(var b=n.pstyle("background-image").value,x=Array(b.length),w=Array(b.length),E=0,k=0;k<b.length;k++){var T=b[k];
vendor: 4,096 bytes, line 1
1if(x[k]=null!=T&&"none"!==T){var C=n.cy().style().getIndexedStyle(n,"background-image-crossorigin","value",k);E++,w[k]=u.getCachedImage(T,C,function(){c.backgroundTimestamp=Date.now(),n.emitAndNotify("background")})}}var P=n.pstyle("background-blacken").value,S=n.pstyle("border-width").pfValue,B=n.pstyle("background-opacity").value*g,D=n.pstyle("border-color").value,_=n.pstyle("border-style").value,A=n.pstyle("border-join").value,M=n.pstyle("border-cap").value,R=n.pstyle("border-position").value,I=n.pstyle("border-dash-pattern").pfValue,N=n.pstyle("border-dash-offset").pfValue,L=n.pstyle("border-opacity").value*g,z=n.pstyle("outline-width").pfValue,O=n.pstyle("outline-color").value,V=n.pstyle("outline-style").value,F=n.pstyle("outline-opacity").value*g,j=n.pstyle("outline-offset").value,X=n.pstyle("corner-radius").value;"auto"!==X&&(X=n.pstyle("corner-radius").pfValue);var q=function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:B;u.eleFillStyle(t,n,r)},Y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:L;u.colorStrokeStyle(t,D[0],D[1],D[2],n)},W=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:F;u.colorStrokeStyle(t,O[0],O[1],O[2],n)},U=function(t,n,r,i){var a,o=u.nodePathCache=u.nodePathCache||[],s=eq("polygon"===r?r+","+i.join(","):r,""+n,""+t,""+X),l=o[s],c=!1;return null!=l?(a=l,c=!0,h.pathCache=a):(a=new Path2D,o[s]=h.pathCache=a),{path:a,cacheHit:c}},H=n.pstyle("shape").strValue,K=n.pstyle("shape-polygon-points").pfValue;if(v){t.translate(d.x,d.y);var G=U(i,a,H,K);f=G.path,y=G.cacheHit}var Z=function(){if(!y){var r=d;v&&(r={x:0,y:0}),u.nodeShapes[u.getNodeShape(n)].draw(f||t,r.x,r.y,i,a,X,h)}v?t.fill(f):t.fill()},$=function(){for(var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=c.backgrounding,o=0,s=0;s<w.length;s++){var l=n.cy().style().getIndexedStyle(n,"background-image-containment","value",s);i&&"over"===l||!i&&"inside"===l?o++:x[s]&&w[s].complete&&!w[s].error&&(o++,u.drawInscribedImage(t,w[s],n,s,r))}c.backgrounding=o!==E,a!==c.backgrounding&&n.updateStyle(!1)},Q=function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;u.hasPie(n)&&(u.drawPie(t,n,o),r&&(v||u.nodeShapes[u.getNodeShape(n)].draw(t,d.x,d.y,i,a,X,h)))},ee=function(){var r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g;u.hasStripe(n)&&(t.save(),v?t.clip(h.pathCache):(u.nodeShapes[u.getNodeShape(n)].draw(t,d.x,d.y,i,a,X,h),t.clip()),u.drawStripe(t,n,o),t.restore(),r&&(v||u.nodeShapes[u.getNodeShape(n)].draw(t,d.x,d.y,i,a,X,h)))},et=function(){var n=(P>0?P:-P)*(arguments.length>0&&void 0!==arguments[0]?arguments[0]:g),r=P>0?0:255;0!==P&&(u.colorFillStyle(t,r,r,r,n),v?t.fill(f):t.fill())},en=function(){if(S>0){if(t.lineWidth=S,t.lineCap=M,t.lineJoin=A,t.setLineDash)switch(_){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(I),t.lineDashOffset=N;break;case"solid":case"double":t.setLineDash([])}if("center"!==R){if(t.save(),t.lineWidth*=2,"inside"===R)v?t.clip(f):t.clip();else{var n=new Path2D;n.rect(-i/2-S,-a/2-S,i+2*S,a+2*S),n.addPath(f),t.clip(n,"evenodd")}v?t.stroke(f):t.stroke(),t.restore()}else v?t.stroke(f):t.stroke();if("double"===_){t.lineWidth=S/3;var r=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(f):t.stroke(),t.globalCompositeOperation=r}t.setLineDash&&t.setLineDash([])}},er=function(){if(z>0){if(t.lineWidth=z,t.lineCap="butt",t.setLineDash)switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([])}var r=d;v&&(r={x:0,y:0});var o=u.getNodeShape(n),s=S;"inside"===R&&(s=0),"outside"===R&&(s*=2);var l,c=(i+s+(z+j))/i,h=(a+s+(z+j))/a,f=i*c,p=a*h,g=u.nodeShapes[o].points;if(v&&(l=U(f,p,o,g).path),"ellipse"===o)u.drawEllipsePath(l||t,r.x,r.y,f,p);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-p
1olygon","round-triangle","round-tag"].includes(o)){var y=0,m=0,b=0;"round-diamond"===o?y=1.4*(s+j+z):"round-heptagon"===o?(y=1.075*(s+j+z),b=-(s/2+j+z)/35):"round-hexagon"===o?y=1.12*(s+j+z):"round-pentagon"===o?(y=1.13*(s+j+z),b=-(s/2+j+z)/15):"round-tag"===o?(y=1.12*(s+j+z),m=.07*(s/2+z+j)):"round-triangle"===o&&(y=Math.PI/2*(s+j+z),b=-(s+j/2+z)/Math.PI),0!==y&&(f=i*(c=(i+y)/i),["round-hexagon","round-tag"].includes(o)||(p=a*(h=(a+y)/a)));for(var x=f/2,w=p/2,E=(X="auto"===X?t4(f,p):X)+(s+z+j)/2,k=Array(g.length/2),T=Array(g.length/2),C=0;C<g.length/2;C++)k[C]={x:r.x+m+x*g[2*C],y:r.y+b+w*g[2*C+1]};var P,B,D,_,A=k.length;for(B=k[A-1],P=0;P<A;P++)D=k[P%A],_=k[(P+1)%A],T[P]=sW(B,D,_,E),B=D,D=_;u.drawRoundPolygonPath(l||t,r.x+m,r.y+b,i*c,a*h,g,T)}else["roundrectangle","round-rectangle"].includes(o)?(X="auto"===X?t3(f,p):X,u.drawRoundRectanglePath(l||t,r.x,r.y,f,p,X+(s+z+j)/2)):["cutrectangle","cut-rectangle"].includes(o)?(X="auto"===X?8:X,u.drawCutRectanglePath(l||t,r.x,r.y,f,p,null,X+(s+z+j)/4)):["bottomroundrectangle","bottom-round-rectangle"].includes(o)?(X="auto"===X?t3(f,p):X,u.drawBottomRoundRectanglePath(l||t,r.x,r.y,f,p,X+(s+z+j)/2)):"barrel"===o?u.drawBarrelPath(l||t,r.x,r.y,f,p):(g=o.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(o)?tH(tK(g,(s+z+j)/i)):tH(tK(g,-((s+z+j)/i))),u.drawPolygonPath(l||t,r.x,r.y,i,a,g));if(v?t.stroke(l):t.stroke(),"double"===V){t.lineWidth=s/3;var M=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(l):t.stroke(),t.globalCompositeOperation=M}t.setLineDash&&t.setLineDash([])}};if("yes"===n.pstyle("ghost").value){var ei=n.pstyle("ghost-offset-x").pfValue,ea=n.pstyle("ghost-offset-y").pfValue,eo=n.pstyle("ghost-opacity").value,es=eo*g;t.translate(ei,ea),W(),er(),q(eo*B),Z(),$(es,!0),Y(eo*L),en(),Q(0!==P||0!==S),ee(0!==P||0!==S),$(es,!1),et(es),t.translate(-ei,-ea)}v&&t.translate(-d.x,-d.y),s&&u.drawNodeUnderlay(t,n,d,i,a),v&&t.translate(d.x,d.y),W(),er(),q(),Z(),$(g,!0),Y(),en(),Q(0!==P||0!==S),ee(0!==P||0!==S),$(g,!1),et(),v&&t.translate(-d.x,-d.y),u.drawElementText(t,n,null,o),s&&u.drawNodeOverlay(t,n,d,i,a),r&&t.translate(p.x1,p.y1)}}},lS=function(t){if(!["overlay","underlay"].includes(t))throw Error("Invalid state");return function(n,r,i,a,o){if(r.visible()){var s=r.pstyle("".concat(t,"-padding")).pfValue,l=r.pstyle("".concat(t,"-opacity")).value,u=r.pstyle("".concat(t,"-color")).value,c=r.pstyle("".concat(t,"-shape")).value,h=r.pstyle("".concat(t,"-corner-radius")).value;if(l>0){if(i=i||r.position(),null==a||null==o){var d=r.padding();a=r.width()+2*d,o=r.height()+2*d}this.colorFillStyle(n,u[0],u[1],u[2],l),this.nodeShapes[c].draw(n,i.x,i.y,a+2*s,o+2*s,h),n.fill()}}}};lP.drawNodeOverlay=lS("overlay"),lP.drawNodeUnderlay=lS("underlay"),lP.hasPie=function(t){return(t=t[0])._private.hasPie},lP.hasStripe=function(t){return(t=t[0])._private.hasStripe},lP.drawPie=function(t,n,r,i){n=n[0],i=i||n.position();var a,o=n.cy().style(),s=n.pstyle("pie-size"),l=n.pstyle("pie-hole"),u=n.pstyle("pie-start-angle").pfValue,c=i.x,h=i.y,d=Math.min(n.width(),n.height())/2,f=0;if(this.usePaths()&&(c=0,h=0),"%"===s.units?d*=s.pfValue:void 0!==s.pfValue&&(d=s.pfValue/2),"%"===l.units?a=d*l.pfValue:void 0!==l.pfValue&&(a=l.pfValue/2),!(a>=d))for(var p=1;p<=o.pieBackgroundN;p++){var g=n.pstyle("pie-"+p+"-background-size").value,v=n.pstyle("pie-"+p+"-background-color").value,y=n.pstyle("pie-"+p+"-background-opacity").value*r,m=g/100;m+f>1&&(m=1-f);var b=1.5*Math.PI+2*Math.PI*f,x=(b+=u)+2*Math.PI*m;0===g||f>=1||f+m>1||(0===a?(t.beginPath(),t.moveTo(c,h),t.arc(c,h,d,b,x)):(t.beginPath(),t.arc(c,h,d,b,x),t.arc(c,h,a,x,b,!0)),t.closePath(),this.colorFillStyle(t,v[0],v[1],v[2],y),t.fill(),f+=m)}},lP.drawStripe=function(t,n,r,i){n=n[0],i=i||n.position();var a=n.cy().style(),o=i.x,s=i.y,l=n.width(),u=n.height(),c=0,h=this.usePaths();t.save();var d=n.pstyle("stripe-direction").value,f=n.pstyle("stripe-size");switch(d){case"vertical":break;case"righward":t.rotate(-Math.PI/2)}var p=l,g=u;"%"===f.units?(p*=f.pfValue,g*=f.pfValue):void 0!==f.pfValue&&(p=f.pfValue,g=f.pfValue),h&&(o=0,s=0),s-=p/2,o-=g/2;
1for(var v=1;v<=a.stripeBackgroundN;v++){var y=n.pstyle("stripe-"+v+"-background-size").value,m=n.pstyle("stripe-"+v+"-background-color").value,b=n.pstyle("stripe-"+v+"-background-opacity").value*r,x=y/100;x+c>1&&(x=1-c),0===y||c>=1||c+x>1||(t.beginPath(),t.rect(o,s+g*c,p,g*x),t.closePath(),this.colorFillStyle(t,m[0],m[1],m[2],b),t.fill(),c+=x)}t.restore()};var lB,lD={};function l_(t,n,r){var i=t.createShader(n);if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))throw Error(t.getShaderInfoLog(i));return i}function lA(t,n,r){void 0===r&&(r=n);var i=t.makeOffscreenCanvas(n,r),a=i.context=i.getContext("2d");return i.clear=function(){return a.clearRect(0,0,i.width,i.height)},i.clear(),i}function lM(t){var n=t.pixelRatio,r=t.cy.zoom(),i=t.cy.pan();return{zoom:r*n,pan:{x:i.x*n,y:i.y*n}}}function lR(t){return"solid"===t.pstyle("background-fill").value&&"none"===t.pstyle("background-image").strValue&&(0===t.pstyle("border-width").value||0===t.pstyle("border-opacity").value||"solid"===t.pstyle("border-style").value)}function lI(t,n,r){var i=t[0]/255,a=t[1]/255,o=t[2]/255,s=r||[,,,,];return s[0]=i*n,s[1]=a*n,s[2]=o*n,s[3]=n,s}function lN(t,n){var r=n||[,,,,];return r[0]=(255&t)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function lL(t,n){switch(n){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function lz(t,n,r){switch(n){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function lO(t,n,r,i){var a=u(lL(t,r),3),o=a[0],s=a[1],l=a[2],c=lz(t,s,n*o),h=o*l,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,n*h,t.DYNAMIC_DRAW),t.enableVertexAttribArray(i),s===t.FLOAT?t.vertexAttribPointer(i,o,s,!1,h,0):s===t.INT&&t.vertexAttribIPointer(i,o,s,h,0),t.vertexAttribDivisor(i,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=Array(n),p=0;p<n;p++)f[p]=function(t,n,r,i,a,o){switch(n){case t.FLOAT:return new Float32Array(r.buffer,o*i,a);case t.INT:return new Int32Array(r.buffer,o*i,a)}}(t,s,c,h,o,p);return d.dataArray=c,d.stride=h,d.size=o,d.getView=function(t){return f[t]},d.setPoint=function(t,n,r){var i=f[t];i[0]=n,i[1]=r},d.bufferSubData=function(n){t.bindBuffer(t.ARRAY_BUFFER,d),n?t.bufferSubData(t.ARRAY_BUFFER,0,c,0,n*o):t.bufferSubData(t.ARRAY_BUFFER,0,c)},d}lD.getPixelRatio=function(){var t=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var n=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(n.devicePixelRatio||1)/r},lD.paintCache=function(t){for(var n,r=this.paintCaches=this.paintCaches||[],i=!0,a=0;a<r.length;a++)if((n=r[a]).context===t){i=!1;break}return i&&(n={context:t},r.push(n)),n},lD.createGradientStyleFor=function(t,n,r,i,a){var o,s=this.usePaths(),l=r.pstyle(n+"-gradient-stop-colors").value,u=r.pstyle(n+"-gradient-stop-positions").pfValue;if("radial-gradient"===i){if(r.isEdge()){var c=r.sourceEndpoint(),h=r.targetEndpoint(),d=r.midpoint(),f=tP(c,d),p=tP(h,d);o=t.createRadialGradient(d.x,d.y,0,d.x,d.y,Math.max(f,p))}else{var g=s?{x:0,y:0}:r.position(),v=r.paddedWidth(),y=r.paddedHeight();o=t.createRadialGradient(g.x,g.y,0,g.x,g.y,Math.max(v,y))}}else if(r.isEdge()){var m=r.sourceEndpoint(),b=r.targetEndpoint();o=t.createLinearGradient(m.x,m.y,b.x,b.y)}else{var x=s?{x:0,y:0}:r.position(),w=r.paddedWidth()/2,E=r.paddedHeight()/2;switch(r.pstyle("background-gradient-direction").value){case"to-bottom":o=t.createLinearGradient(x.x,x.y-E,x.x,x.y+E);break;case"to-top":o=t.createLinearGradient(x.x,x.y+E,x.x,x.y-E);break;case"to-left":o=t.createLinearGradient(x.x+w,x.y,x.x-w,x.y);break;case"to-right":o=t.createLinearGradient(x.x-w,x.y,x.x+w,x.y);break;case"to-bottom-right":case"to-right-bottom":o=t.createLinearGradient(x.x-w,x.y-E,x.x+w,x.y+E);break;case"to-top-right":case"to-right-top":o=t.createLinearGradient(x.x-w,x.y+E,x.x+w,x.y-E);break;case"to-bottom-left":case"to-left-bottom":o=t.createLinearGradient(x.x+w,x.y-E,x.x-w,x.y+E);break;case"to-top-left":case"to-left-top":o=t.createLinearGradient(x.x+w,x.y+E,x.x-w,x.y-E)}}if(!o)return null;for(var k=u.length===l.length,T=l.length,C=0;C<T;C++)o.addColorStop(k?u[C]:C/(T-1),"rgba("+l[C][0]+","+l[C][1]+","+l[C][2]+","+a+")");return o},lD.gradientFillStyle=function(t,n,r,i){var a=this.createGradientStyleFor(t,"background",n,r,i);if(!a)return null;t.fillStyle=a},lD.colorFillStyle=function(t,n,r,i,a){t.fillStyle="rgba("+n+","+r+","+i+","+a+")"},lD.eleFillStyle=function(t,n,r){var i=n.pstyle("background-fill").value;if("linear-gradient"===i||"radial-gradient"===i)this.gradientFillStyle(t,n,i,r);else{var a=n.pstyle("background-color").value;this.colorFillStyle(t,a[0],a[1],a[2],r)}},lD.gradientStrokeStyle=function(t,n,r,i){var a=this.createGradientStyleFor(t,"line",n,r,i);if(!a)return null;t.strokeStyle=a},lD.colorStrokeStyle=function(t,n,r,i,a){t.strokeStyle="rgba("+n+","+r+","+i+","+a+")"},lD.eleStrokeStyle=function(t,n,r){var i=n.pstyle("line-fill").value;if("linear-gradient"===i||"radial-gradient"===i)this.gradientStrokeStyle(t,n,i,r);else{var a=n.pstyle("line-color").value;this.colorStrokeStyle(t,a[0],a[1],a[2],r)}},lD.matchCanvasSize=function(t){var n=this.data,r=this.findContainerClientCoords(),i=r[2],a=r[3],o=this.getPixelRatio(),s=this.motionBlurPxRatio;t!==this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_NODE]&&t!==this.data.bufferCanvases[this.MOTIONBLUR_BUFFER_DRAG]||(o=s);var l,u=i*o,c=a*o;if(u!==this.canvasWidth||c!==this.canvasHeight){this.fontCaches=null;var h=n.canvasContainer;h.style.width=i+"px",h.style.height=a+"px";for(var d=0;d<this.CANVAS_LAYERS;
vendor: 5,163 bytes, line 1
1d++)(l=n.canvases[d]).width=u,l.height=c,l.style.width=i+"px",l.style.height=a+"px";for(d=0;d<this.BUFFER_COUNT;d++)(l=n.bufferCanvases[d]).width=u,l.height=c,l.style.width=i+"px",l.style.height=a+"px";this.textureMult=1,o<=1&&(l=n.bufferCanvases[this.TEXTURE_BUFFER],this.textureMult=2,l.width=u*this.textureMult,l.height=c*this.textureMult),this.canvasWidth=u,this.canvasHeight=c,this.pixelRatio=o}},lD.renderTo=function(t,n,r,i){this.render({forcedContext:t,forcedZoom:n,forcedPan:r,drawAllLayers:!0,forcedPxRatio:i})},lD.clearCanvas=function(){var t=this,n=t.data;function r(n){n.clearRect(0,0,t.canvasWidth,t.canvasHeight)}r(n.contexts[t.NODE]),r(n.contexts[t.DRAG])},lD.render=function(t){var n=this;t=t||e4();var r=n.cy,i=t.forcedContext,a=t.drawAllLayers,o=t.drawOnlyNodeLayer,s=t.forcedZoom,l=t.forcedPan,u=void 0===t.forcedPxRatio?this.getPixelRatio():t.forcedPxRatio,c=n.data,h=c.canvasNeedsRedraw,d=n.textureOnViewport&&!i&&(n.pinching||n.hoverData.dragging||n.swipePanning||n.data.wheelZooming),f=void 0!==t.motionBlur?t.motionBlur:n.motionBlur,p=n.motionBlurPxRatio,g=r.hasCompoundNodes(),v=n.hoverData.draggingEles,y=!(!n.hoverData.selecting&&!n.touchData.selecting),m=f=f&&!i&&n.motionBlurEnabled&&!y;i||(n.prevPxRatio!==u&&(n.invalidateContainerClientCoordsCache(),n.matchCanvasSize(n.container),n.redrawHint("eles",!0),n.redrawHint("drag",!0)),n.prevPxRatio=u),!i&&n.motionBlurTimeout&&clearTimeout(n.motionBlurTimeout),f&&(null==n.mbFrames&&(n.mbFrames=0),n.mbFrames++,n.mbFrames<3&&(m=!1),n.mbFrames>n.minMbLowQualFrames&&(n.motionBlurPxRatio=n.mbPxRBlurry)),n.clearingMotionBlur&&(n.motionBlurPxRatio=1),n.textureDrawLastFrame&&!d&&(h[n.NODE]=!0,h[n.SELECT_BOX]=!0);var b=r.style(),x=r.zoom(),w=void 0!==s?s:x,E=r.pan(),k={x:E.x,y:E.y},T={zoom:x,pan:{x:E.x,y:E.y}},C=n.prevViewport;void 0===C||T.zoom!==C.zoom||T.pan.x!==C.pan.x||T.pan.y!==C.pan.y||v&&!g||(n.motionBlurPxRatio=1),l&&(k=l),w*=u,k.x*=u,k.y*=u;var P=n.getCachedZSortedEles();function S(t,r,i,a,o){var s=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",n.colorFillStyle(t,255,255,255,n.motionBlurTransparency),t.fillRect(r,i,a,o),t.globalCompositeOperation=s}function B(t,r){var o,u,h,d;n.clearingMotionBlur||t!==c.bufferContexts[n.MOTIONBLUR_BUFFER_NODE]&&t!==c.bufferContexts[n.MOTIONBLUR_BUFFER_DRAG]?(o=k,u=w,h=n.canvasWidth,d=n.canvasHeight):(o={x:E.x*p,y:E.y*p},u=x*p,h=n.canvasWidth*p,d=n.canvasHeight*p),t.setTransform(1,0,0,1,0,0),"motionBlur"===r?S(t,0,0,h,d):i||void 0!==r&&!r||t.clearRect(0,0,h,d),a||(t.translate(o.x,o.y),t.scale(u,u)),l&&t.translate(l.x,l.y),s&&t.scale(s,s)}if(d||(n.textureDrawLastFrame=!1),d){if(n.textureDrawLastFrame=!0,!n.textureCache){n.textureCache={},n.textureCache.bb=r.mutableElements().boundingBox(),n.textureCache.texture=n.data.bufferCanvases[n.TEXTURE_BUFFER];var D=n.data.bufferContexts[n.TEXTURE_BUFFER];D.setTransform(1,0,0,1,0,0),D.clearRect(0,0,n.canvasWidth*n.textureMult,n.canvasHeight*n.textureMult),n.render({forcedContext:D,drawOnlyNodeLayer:!0,forcedPxRatio:u*n.textureMult}),(T=n.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:n.canvasWidth,height:n.canvasHeight}).mpan={x:(0-T.pan.x)/T.zoom,y:(0-T.pan.y)/T.zoom}}h[n.DRAG]=!1,h[n.NODE]=!1;var _=c.contexts[n.NODE],A=n.textureCache.texture;T=n.textureCache.viewport,_.setTransform(1,0,0,1,0,0),f?S(_,0,0,T.width,T.height):_.clearRect(0,0,T.width,T.height);var M=b.core("outside-texture-bg-color").value,R=b.core("outside-texture-bg-opacity").value;n.colorFillStyle(_,M[0],M[1],M[2],R),_.fillRect(0,0,T.width,T.height),x=r.zoom(),B(_,!1),_.clearRect(T.mpan.x,T.mpan.y,T.width/T.zoom/u,T.height/T.zoom/u),_.drawImage(A,T.mpan.x,T.mpan.y,T.width/T.zoom/u,T.height/T.zoom/u)}else n.textureOnViewport&&!i&&(n.textureCache=null);var I=r.extent(),N=n.pinching||n.hoverData.dragging||n.swipePanning||n.data.wheelZooming||n.hoverData.draggingEles||n.cy.animated(),L=n.hideEdgesOnViewport&&N,z=[];if(z[n.NODE]=!h[n.NODE]&&f&&!n.clearedForMotionBlur[n.NODE]||n.clearingMotionBlur,z[n.NODE]&&(n.clearedForMotionBlur[n.NODE]=!0),z[n.DRAG]=!h[n.DRAG]&&f&&!n.clearedForMotionBlur[n.DRAG]||n.clearingMotionBlur,z[n.DRAG]&&(n.clearedForMotionBlur[n.DRAG]=!0),h[n.NODE]||a||o||z[n.NODE]){var O=f&&!z[n.NODE]&&1!==p;B(_=i||(O?n.data.bufferContexts[n.MOTIONBLUR_BUFFER_NODE]:c.contexts[n.NODE]),f&&!O?"motionBlur":void 0),L?n.drawCachedNodes(_,P.nondrag,u,I):n.drawLayeredElements(_,P.nondrag,u,I),n.debug&&n.drawDebugPoints(_,P.nondrag),a||f||(h[n.NODE]=!1)}if(!o&&(h[n.DRAG]||a||z[n.DRAG])&&(O=f&&!z[n.DRAG]&&1!==p,B(_=i||(O?n.data.bufferContexts[n.MOTIONBLUR_BUFFER_DRAG]:c.contexts[n.DRAG]),f&&!O?"motionBlur":void 0),L?n.drawCachedNodes(_,P.drag,u,I):n.drawCachedElements(_,P.drag,u,I),n.debug&&n.drawDebugPoints(_,P.drag),a||f||(h[n.DRAG]=!1)),this.drawSelectionRectangle(t,B),f&&1!==p){var V=c.contexts[n.NODE],F=n.data.bufferCanvases[n.MOTIONBLUR_BUFFER_NODE],j=c.contexts[n.DRAG],X=n.data.bufferCanvases[n.MOTIONBLUR_BUFFER_DRAG],q=function(t,r,i){t.setTransform(1,0,0,1,0,0),i||!m?t.clearRect(0,0,n.canvasWidth,n.canvasHeight):S(t,0,0,n.canvasWidth,n.canvasHeight),t.drawImage(r,0,0,n.canvasWidth*p,n.canvasHeight*p,0,0,n.canvasWidth,n.canvasHeight)};
1(h[n.NODE]||z[n.NODE])&&(q(V,F,z[n.NODE]),h[n.NODE]=!1),(h[n.DRAG]||z[n.DRAG])&&(q(j,X,z[n.DRAG]),h[n.DRAG]=!1)}n.prevViewport=T,n.clearingMotionBlur&&(n.clearingMotionBlur=!1,n.motionBlurCleared=!0,n.motionBlur=!0),f&&(n.motionBlurTimeout=setTimeout(function(){n.motionBlurTimeout=null,n.clearedForMotionBlur[n.NODE]=!1,n.clearedForMotionBlur[n.DRAG]=!1,n.motionBlur=!1,n.clearingMotionBlur=!d,n.mbFrames=0,h[n.NODE]=!0,h[n.DRAG]=!0,n.redraw()},100)),i||r.emit("render")},lD.drawSelectionRectangle=function(t,n){var r=this.cy,i=this.data,a=r.style(),o=t.drawOnlyNodeLayer,s=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(this.showFps||!o&&l[this.SELECT_BOX]&&!s){var c=u||i.contexts[this.SELECT_BOX];if(n(c),1==this.selection[4]&&(this.hoverData.selecting||this.touchData.selecting)){var h=this.cy.zoom(),d=a.core("selection-box-border-width").value/h;c.lineWidth=d,c.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",c.fillRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]),d>0&&(c.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",c.strokeRect(this.selection[0],this.selection[1],this.selection[2]-this.selection[0],this.selection[3]-this.selection[1]))}if(i.bgActivePosistion&&!this.hoverData.selecting){h=this.cy.zoom();var f=i.bgActivePosistion;c.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",c.beginPath(),c.arc(f.x,f.y,a.core("active-bg-size").pfValue/h,0,2*Math.PI),c.fill()}var p=this.lastRedrawTime;if(this.showFps&&p){var g=Math.round(1e3/(p=Math.round(p))),v="1 frame = "+p+" ms = "+g+" fps";c.setTransform(1,0,0,1,0,0),c.fillStyle="rgba(255, 0, 0, 0.75)",c.strokeStyle="rgba(255, 0, 0, 0.75)",c.font="30px Arial",lB||(lB=c.measureText(v).actualBoundingBoxAscent),c.fillText(v,0,lB),c.strokeRect(0,lB+10,250,20),c.fillRect(0,lB+10,250*Math.min(g/60,1),20)}s||(l[this.SELECT_BOX]=!1)}};var lV="undefined"!=typeof Float32Array?Float32Array:Array;function lF(){var t=new lV(9);return lV!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function lj(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function lX(t,n,r){var i=n[0],a=n[1],o=n[2],s=n[3],l=n[4],u=n[5],c=n[6],h=n[7],d=n[8],f=r[0],p=r[1];return t[0]=i,t[1]=a,t[2]=o,t[3]=s,t[4]=l,t[5]=u,t[6]=f*i+p*s+c,t[7]=f*a+p*l+h,t[8]=f*o+p*u+d,t}function lq(t,n,r){var i=n[0],a=n[1],o=n[2],s=n[3],l=n[4],u=n[5],c=n[6],h=n[7],d=n[8],f=Math.sin(r),p=Math.cos(r);return t[0]=p*i+f*s,t[1]=p*a+f*l,t[2]=p*o+f*u,t[3]=p*s-f*i,t[4]=p*l-f*a,t[5]=p*u-f*o,t[6]=c,t[7]=h,t[8]=d,t}function lY(t,n,r){var i=r[0],a=r[1];return t[0]=i*n[0],t[1]=i*n[1],t[2]=i*n[2],t[3]=a*n[3],t[4]=a*n[4],t[5]=a*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t}Math.hypot||(Math.hypot=function(){for(var t=0,n=arguments.length;n--;)t+=arguments[n]*arguments[n];return Math.sqrt(t)});var lW=o(function t(n,r,i,o){a(this,t),this.debugID=Math.floor(1e4*Math.random()),this.r=n,this.texSize=r,this.texRows=i,this.texHeight=Math.floor(r/i),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=o(n,r,r),this.scratch=o(n,r,this.texHeight,"scratch")},[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(t){var n=t.w,r=t.h,i=this.texHeight,a=this.texSize,o=i/r,s=n*o,l=r*o;return s>a&&(s=n*(o=a/n),l=r*o),{scale:o,texW:s,texH:l}}},{key:"draw",value:function(t,n,r){var i,a,o,s,l,u,c,h=this;if(this.locked)throw Error("can't draw, atlas is locked");var d=this.texSize,f=this.texRows,p=this.texHeight,g=this.getScale(n),v=g.scale,y=g.texW,m=g.texH,b=function(t,i){if(r&&i){var a=i.context,o=t.x,s=p*t.row;
1a.save(),a.translate(o,s),a.scale(v,v),r(a,n),a.restore()}},x=[null,null],w=function(){b(h.freePointer,h.canvas),x[0]={x:h.freePointer.x,y:h.freePointer.row*p,w:y,h:m},x[1]={x:h.freePointer.x+y,y:h.freePointer.row*p,w:0,h:m},h.freePointer.x+=y,h.freePointer.x==d&&(h.freePointer.x=0,h.freePointer.row++)},E=function(){h.freePointer.x=0,h.freePointer.row++};if(this.freePointer.x+y<=d)w();else{if(this.freePointer.row>=f-1)return!1;this.freePointer.x===d?(E(),w()):this.enableWrapping?(i=h.scratch,a=h.canvas,i.clear(),b({x:0,row:0},i),s=y-(o=d-h.freePointer.x),l=h.freePointer.x,u=h.freePointer.row*p,a.context.drawImage(i,0,0,o,p,l,u,o,p),x[0]={x:l,y:u,w:o,h:m},c=(h.freePointer.row+1)*p,a&&a.context.drawImage(i,o,0,s,p,0,c,s,p),x[1]={x:0,y:c,w:s,h:m},h.freePointer.x=s,h.freePointer.row++):(E(),w())}return this.keyToLocation.set(t,x),this.needsBuffer=!0,x}},{key:"getOffsets",value:function(t){return this.keyToLocation.get(t)}},{key:"isEmpty",value:function(){return 0===this.freePointer.x&&0===this.freePointer.row}},{key:"canFit",value:function(t){if(this.locked)return!1;var n=this.texSize,r=this.texRows,i=this.getScale(t).texW;return!(this.freePointer.x+i>n)||this.freePointer.row<r-1}},{key:"bufferIfNeeded",value:function(t){var n;this.texture||(this.texture=(this.debugID,(n=t.createTexture()).buffer=function(r){t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},n.deleteTexture=function(){t.deleteTexture(n)},n)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}]),lU=o(function t(n,r,i,o){a(this,t),this.r=n,this.texSize=r,this.texRows=i,this.createTextureCanvas=o,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set},[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){return new lW(this.r,this.texSize,this.texRows,this.createTextureCanvas)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var t=this.r,n=this.texSize,r=this.texRows,i=this.createTextureCanvas;this.scratch=i(t,n,Math.floor(n/r),"scratch")}return this.scratch}},{key:"draw",value:function(t,n,r){var i=this.styleKeyToAtlas.get(t);return i||((i=this.atlases[this.atlases.length-1])&&i.canFit(n)||(i&&i.lock(),i=this._createAtlas(),this.atlases.push(i)),i.draw(t,n,r),this.styleKeyToAtlas.set(t,i)),i}},{key:"getAtlas",value:function(t){return this.styleKeyToAtlas.get(t)}},{key:"hasAtlas",value:function(t){return this.styleKeyToAtlas.has(t)}},{key:"markKeyForGC",value:function(t){this.markedKeys.add(t)}},{key:"gc",value:function(){var t=this,n=this.markedKeys;if(0!==n.size){var r,i=[],a=new Map,o=null,l=s(this.atlases);try{for(l.s();!(r=l.n()).done;)!function(){var l=r.value,h=l.getKeys(),d=n.intersection?n.intersection(h):new Set(c(n).filter(function(t){return h.has(t)}));if(0===d.size)return i.push(l),h.forEach(function(t){return a.set(t,l)});o||(o=t._createAtlas(),i.push(o));var f,p=s(h);try{for(p.s();!(f=p.n()).done;){var g=f.value;if(!d.has(g)){var v=u(l.getOffsets(g),2),y=v[0],m=v[1];
1o.canFit({w:y.w+m.w,h:y.h})||(o.lock(),o=t._createAtlas(),i.push(o)),l.canvas&&(t._copyTextureToNewAtlas(g,l,o),a.set(g,o))}}}catch(t){p.e(t)}finally{p.f()}l.dispose()}()}catch(t){l.e(t)}finally{l.f()}this.atlases=i,this.styleKeyToAtlas=a,this.markedKeys=new Set}else console.log("nothing to garbage collect")}},{key:"_copyTextureToNewAtlas",value:function(t,n,r){var i=u(n.getOffsets(t),2),a=i[0],o=i[1];if(0===o.w)r.draw(t,a,function(t){t.drawImage(n.canvas,a.x,a.y,a.w,a.h,0,0,a.w,a.h)});else{var s=this._getScratchCanvas();s.clear(),s.context.drawImage(n.canvas,a.x,a.y,a.w,a.h,0,0,a.w,a.h),s.context.drawImage(n.canvas,o.x,o.y,o.w,o.h,a.w,0,o.w,o.h);var l=a.w+o.w,c=a.h;r.draw(t,{w:l,h:c},function(t){t.drawImage(s,0,0,l,c,0,0,l,c)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}]),lH=o(function t(n,r){a(this,t),this.r=n,this.globalOptions=r,this.atlasSize=r.webglTexSize,this.maxAtlasesPerBatch=r.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map},[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(t,n){var r=this.globalOptions,i=r.webglTexSize,a=r.createTextureCanvas,o=n.texRows,s=this._cacheScratchCanvas(a),l=new lU(this.r,i,o,s);this.collections.set(t,l)}},{key:"addRenderType",value:function(t,n){var r=n.collection;if(!this.collections.has(r))throw Error("invalid atlas collection name '".concat(r,"'"));var i=eb({type:t,atlasCollection:this.collections.get(r)},n);this.renderTypes.set(t,i)}},{key:"getRenderTypeOpts",value:function(t){return this.renderTypes.get(t)}},{key:"getAtlasCollection",value:function(t){return this.collections.get(t)}},{key:"_cacheScratchCanvas",value:function(t){var n=-1,r=-1,i=null;return function(a,o,s,l){return l?(i&&o==n&&s==r||(n=o,r=s,i=t(a,o,s)),i):t(a,o,s)}}},{key:"_key",value:function(t,n){return"".concat(t,"-").concat(n)}},{key:"invalidate",value:function(t){var n,r=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=i.forceRedraw,o=void 0!==a&&a,l=i.filterEle,u=void 0===l?function(){return!0}:l,c=i.filterType,h=void 0===c?function(){return!0}:c,d=!1,f=!1,p=s(t);try{for(p.s();!(n=p.n()).done;){var g=n.value;if(u(g)){var v,y=s(this.renderTypes.values());try{for(y.s();!(v=y.n()).done;)!function(){var t=v.value,n=t.type;if(h(n)){var i=r.collections.get(t.collection),a=t.getKey(g),s=Array.isArray(a)?a:[a];if(o)s.forEach(function(t){return i.markKeyForGC(t)}),f=!0;else{var l=t.getID?t.getID(g):g.id(),u=r._key(n,l),c=r.typeAndIdToKey.get(u);void 0===c||function(t,n){if(t.length!==n.length)return!1;for(var r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}(s,c)||(d=!0,r.typeAndIdToKey.delete(u),c.forEach(function(t){return i.markKeyForGC(t)}))}}}()}catch(t){y.e(t)}finally{y.f()}}}}catch(t){p.e(t)}finally{p.f()}return f&&(this.gc(),d=!1),d}},{key:"gc",value:function(){var t,n=s(this.collections.values());try{for(n.s();!(t=n.n()).done;)t.value.gc()}catch(t){n.e(t)}finally{n.f()}}},{key:"getOrCreateAtlas",value:function(t,n,r,i){var a=this.renderTypes.get(n),o=this.collections.get(a.collection),s=!1,l=o.draw(i,r,function(n){a.drawClipped?(n.save(),n.beginPath(),n.rect(0,0,r.w,r.h),n.clip(),a.drawElement(n,t,r,!0,!0),n.restore()):a.drawElement(n,t,r,!0,!0),s=!0});if(s){var u=a.getID?a.getID(t):t.id(),c=this._key(n,u);this.typeAndIdToKey.has(c)?this.typeAndIdToKey.get(c).push(i):this.typeAndIdToKey.set(c,[i])}return l}},{key:"getAtlasInfo",value:function(t,n){var r=this,i=this.renderTypes.get(n),a=i.getKey(t);return(Array.isArray(a)?a:[a]).map(function(a){var o=i.getBoundingBox(t,a),s=r.getOrCreateAtlas(t,n,o,a),l=u(s.getOffsets(a),2),c=l[0];return{atlas:s,tex:c,tex1:c,tex2:l[1],bb:o}})}},{key:"getDebugInfo",value:function(){var t,n=[],r=s(this.collections);try{for(r.s();!(t=r.n()).done;){var i=u(t.value,2),a=i[0],o=i[1].getCounts(),l=o.keyCount,c=o.atlasCount;n.push({type:a,keyCount:l,atlasCount:c})}}catch(t){r.e(t)}finally{r.f()}return n}}]),lK=o(function t(n){a(this,t),this.globalOptions=n,this.atlasSize=n.webglTexSize,this.maxAtlasesPerBatch=n.webglTexPerBatch,this.batchAtlases=[]},[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(t,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(t){return this.batchAtlases.length!==this.maxAtlasesPerBatch||this.batchAtlases.includes(t)}},{key:"getAtlasIndexForBatch",value:function(t){var n=this.batchAtlases.indexOf(t);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw Error("cannot add more atlases to batch");this.batchAtlases.push(t),n=this.batchAtlases.length-1}return n}}]),lG={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},lZ=o(function t(n,r,i){a(this,t),this.r=n,this.gl=r,this.maxInstances=i.webglBatchSize,this.atlasSize=i.webglTexSize,this.bgColor=i.bgColor,this.debug=i.webglDebug,this.batchDebugInfo=[],i.enableWrapping=!0,i.createTextureCanvas=lA,this.atlasManager=new lH(n,i),this.batchManager=new lK(i),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(lG.SCREEN),this.pickingProgram=this._createShaderProgram(lG.PICKING),this.vao=this._createVAO()},[{key:"addAtlasCollection",value:function(t,n){this.atlasManager.addAtlasCollection(t,n)}},{key:"addTextureAtlasRenderType",value:function(t,n){this.atlasManager.addRenderType(t,n)}},{key:"addSimpleShapeRenderType",value:function(t,n){this.simpleShapeOptions.set(t,n)}},{key:"invalidate",value:function(t){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).type,r=this.atlasManager;return n?r.invalidate(t,{filterType:function(t){return t===n},forceRedraw:!0}
1):r.invalidate(t)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(t){var n=this.gl,r="#version 300 es\n      precision highp float;\n\n      uniform mat3 uPanZoomMatrix;\n      uniform int  uAtlasSize;\n      \n      // instanced\n      in vec2 aPosition; // a vertex from the unit square\n      \n      in mat3 aTransform; // used to transform verticies, eg into a bounding box\n      in int aVertType; // the type of thing we are rendering\n\n      // the z-index that is output when using picking mode\n      in vec4 aIndex;\n      \n      // For textures\n      in int aAtlasId; // which shader unit/atlas to use\n      in vec4 aTex; // x/y/w/h of texture in atlas\n\n      // for edges\n      in vec4 aPointAPointB;\n      in vec4 aPointCPointD;\n      in vec2 aLineWidth; // also used for node border width\n\n      // simple shapes\n      in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]\n      in vec4 aColor; // also used for edges\n      in vec4 aBorderColor; // aLineWidth is used for border width\n\n      // output values passed to the fragment shader\n      out vec2 vTexCoord;\n      out vec4 vColor;\n      out vec2 vPosition;\n      // flat values are not interpolated\n      flat out int vAtlasId; \n      flat out int vVertType;\n      flat out vec2 vTopRight;\n      flat out vec2 vBotLeft;\n      flat out vec4 vCornerRadius;\n      flat out vec4 vBorderColor;\n      flat out vec2 vBorderWidth;\n      flat out vec4 vIndex;\n      \n      void main(void) {\n        int vid = gl_VertexID;\n        vec2 position = aPosition; // TODO make this a vec3, simplifies some code below\n\n        if(aVertType == ".concat(0,") {\n          float texX = aTex.x; // texture coordinates\n          float texY = aTex.y;\n          float texW = aTex.z;\n          float texH = aTex.w;\n\n          if(vid == 1 || vid == 2 || vid == 4) {\n            texX += texW;\n          }\n          if(vid == 2 || vid == 4 || vid == 5) {\n            texY += texH;\n          }\n\n          float d = float(uAtlasSize);\n          vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1\n\n          gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n        }\n        else if(aVertType == ").concat(4," || aVertType == ").concat(7," \n             || aVertType == ").concat(5," || aVertType == ").concat(6,") { // simple shapes\n\n          // the bounding box is needed by the fragment shader\n          vBotLeft  = (aTransform * vec3(0, 0, 1)).xy; // flat\n          vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat\n          vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated\n\n          // calculations are done in the fragment shader, just pass these along\n          vColor = aColor;\n          vCornerRadius = aCornerRadius;\n          vBorderColor = aBorderColor;\n          vBorderWidth = aLineWidth;\n\n          gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n        }\n        else if(aVertType == ").concat(1,") {\n          vec2 source = aPointAPointB.xy;\n          vec2 target = aPointAPointB.zw;\n\n          // adjust the geometry so that the line is centered on the edge\n          position.y = position.y - 0.5;\n\n          // stretch the unit square into a long skinny rectangle\n          vec2 xBasis = target - source;\n          vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));\n          vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;\n\n          gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);\n          vColor = aColor;\n        } \n        else if(aVertType == ").concat(2,") {\n          vec2 pointA = aPointAPointB.xy;\n          vec2 pointB = aPointAPointB.zw;\n          vec2 pointC = aPointCPointD.xy;\n          vec2 pointD = aPointCPointD.zw;\n\n          // adjust the geometry so that the line is centered on the edge\n          position.y = position.y - 0.5;\n\n          vec2 p0, p1, p2, pos;\n          if(position.x == 0.0) { // The left side of the unit square\n            p0 = pointA;\n            p1 = pointB;\n            p2 = pointC;\n            pos = position;\n          } else { // The right side of the unit square, use same approach but flip the geometry upside down\n            p0 = pointD;\n            p1 = pointC;\n            p2 = pointB;\n            pos = vec2(0.0, -position.y);\n          }\n\n          vec2 p01 = p1 - p0;\n          vec2 p12 = p2 - p1;\n          vec2 p21 = p1 - p2;\n\n          // Find the normal vector.\n          vec2 tangent = normalize(normalize(p12) + normalize(p01));\n          vec2 normal = vec2(-tangent.y, tangent.x);\n\n          // Find the vector perpendicular to p0 -> p1.\n          vec2 p01Norm = normalize(vec2(-p01.y, p01.x));\n\n          // Determine the bend direction.\n          float sigma = sign(dot(p01 + p21, normal));
1\n          float width = aLineWidth[0];\n\n          if(sign(pos.y) == -sigma) {\n            // This is an intersecting vertex. Adjust the position so that there's no overlap.\n            vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);\n            gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n          } else {\n            // This is a non-intersecting vertex. Treat it like a mitre join.\n            vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);\n            gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);\n          }\n\n          vColor = aColor;\n        } \n        else if(aVertType == ").concat(3," && vid < 3) {\n          // massage the first triangle into an edge arrow\n          if(vid == 0)\n            position = vec2(-0.15, -0.3);\n          if(vid == 1)\n            position = vec2(  0.0,  0.0);\n          if(vid == 2)\n            position = vec2( 0.15, -0.3);\n\n          gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);\n          vColor = aColor;\n        }\n        else {\n          gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space\n        }\n\n        vAtlasId = aAtlasId;\n        vVertType = aVertType;\n        vIndex = aIndex;\n      }\n    "),i=this.batchManager.getIndexArray(),a=function(t,n,r){var i=l_(t,t.VERTEX_SHADER,n),a=l_(t,t.FRAGMENT_SHADER,r),o=t.createProgram();if(t.attachShader(o,i),t.attachShader(o,a),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw Error("Could not initialize shaders");return o}(n,r,"#version 300 es\n      precision highp float;\n\n      // declare texture unit for each texture atlas in the batch\n      ".concat(i.map(function(t){return"uniform sampler2D uTexture".concat(t,";")}).join("\n	"),"\n\n      uniform vec4 uBGColor;\n      uniform float uZoom;\n\n      in vec2 vTexCoord;\n      in vec4 vColor;\n      in vec2 vPosition; // model coordinates\n\n      flat in int vAtlasId;\n      flat in vec4 vIndex;\n      flat in int vVertType;\n      flat in vec2 vTopRight;\n      flat in vec2 vBotLeft;\n      flat in vec4 vCornerRadius;\n      flat in vec4 vBorderColor;\n      flat in vec2 vBorderWidth;\n\n      out vec4 outColor;\n\n      ").concat("\n  float circleSD(vec2 p, float r) {\n    return distance(vec2(0), p) - r; // signed distance\n  }\n","\n      ").concat("\n  float rectangleSD(vec2 p, vec2 b) {\n    vec2 d = abs(p)-b;\n    return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);\n  }\n","\n      ").concat("\n  float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {\n    cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;\n    cr.x  = (p.y > 0.0) ? cr.x  : cr.y;\n    vec2 q = abs(p) - b + cr.x;\n    return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;\n  }\n","\n      ").concat("\n  float ellipseSD(vec2 p, vec2 ab) {\n    p = abs( p ); // symmetry\n\n    // find root with Newton solver\n    vec2 q = ab*(p-ab);\n    float w = (q.x<q.y)? 1.570796327 : 0.0;\n    for( int i=0; i<5; i++ ) {\n      vec2 cs = vec2(cos(w),sin(w));\n      vec2 u = ab*vec2( cs.x,cs.y);\n      vec2 v = ab*vec2(-cs.y,cs.x);\n      w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));\n    }\n    \n    // compute final point and distance\n    float d = length(p-ab*vec2(cos(w),sin(w)));\n    \n    // return signed distance\n    return (dot(p/ab,p/ab)>1.0) ? d : -d;\n  }\n","\n\n      vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha\n        return vec4( \n          top.rgb + (bot.rgb * (1.0 - top.a)),\n          top.a   + (bot.a   * (1.0 - top.a)) \n        );\n      }\n\n      vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance\n        // scale to the zoom level so that borders don't look blurry when zoomed in\n        // note 1.5 is an aribitrary value chosen because it looks good\n        return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d))); \n      }\n\n      void main(void) {\n        if(vVertType == ").concat(0,") {\n          // look up the texel from the texture unit\n          ").concat(i.map(function(t){return"if(vAtlasId == ".concat(t,") outColor = texture(uTexture").concat(t,", vTexCoord);")}).join("\n	else "),"\n        } \n        else if(vVertType == ").concat(3,") {\n          // mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';\n          outColor = blend(vColor, uBGColor);\n          outColor.a = 1.0; // make opaque, masks out line under arrow\n        }\n        else if(vVertType == ").concat(4," && vBorderWidth == vec2(0.0)) { // simple rectangle with no border\n          outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done\n        }\n        else if(vVertType == ").concat(4," || vVertType == ").concat(7," \n          || vVertType == ").concat(5," || vVertType == ").concat(6,") { // use SDF\n\n          float outerBorder = vBorderWidth[0];\n          float innerBorder = vBorderWidth[1];\n          float borderPadding = outerBorder * 2.0;\n          float w = vTopRight.x - vBotLeft.x - borderPadding;\n          float h = vTopRight.y - vBotLeft.y - borderPadding;\n          vec2 b = vec2(w/2.0, h/2.0); // half width, half height\n          vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center\n\n          float d; // signed distance\n          if(vVertType == ").concat(4,") {\n            d = rectangleSD(p, b);\n          } else if(vVertType == ").concat(7," && w == h) {\n            d = cir
1cleSD(p, b.x); // faster than ellipse\n          } else if(vVertType == ").concat(7,") {\n            d = ellipseSD(p, b);\n          } else {\n            d = roundRectangleSD(p, b, vCornerRadius.wzyx);\n          }\n\n          // use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling\n          // we must smooth colors inwards, because we can't change pixels outside the shape's bounding box\n          if(d > 0.0) {\n            if(d > outerBorder) {\n              discard;\n            } else {\n              outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);\n            }\n          } else {\n            if(d > innerBorder) {\n              vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;\n              vec4 innerBorderColor = blend(vBorderColor, vColor);\n              outColor = distInterp(innerBorderColor, outerColor, d);\n            } \n            else {\n              vec4 outerColor;\n              if(innerBorder == 0.0 && outerBorder == 0.0) {\n                outerColor = vec4(0);\n              } else if(innerBorder == 0.0) {\n                outerColor = vBorderColor;\n              } else {\n                outerColor = blend(vBorderColor, vColor);\n              }\n              outColor = distInterp(vColor, outerColor, d - innerBorder);\n            }\n          }\n        }\n        else {\n          outColor = vColor;\n        }\n\n        ").concat(t.picking?"if(outColor.a == 0.0) discard;\n             else outColor = vIndex;":"","\n      }\n    "));a.aPosition=n.getAttribLocation(a,"aPosition"),a.aIndex=n.getAttribLocation(a,"aIndex"),a.aVertType=n.getAttribLocation(a,"aVertType"),a.aTransform=n.getAttribLocation(a,"aTransform"),a.aAtlasId=n.getAttribLocation(a,"aAtlasId"),a.aTex=n.getAttribLocation(a,"aTex"),a.aPointAPointB=n.getAttribLocation(a,"aPointAPointB"),a.aPointCPointD=n.getAttribLocation(a,"aPointCPointD"),a.aLineWidth=n.getAttribLocation(a,"aLineWidth"),a.aColor=n.getAttribLocation(a,"aColor"),a.aCornerRadius=n.getAttribLocation(a,"aCornerRadius"),a.aBorderColor=n.getAttribLocation(a,"aBorderColor"),a.uPanZoomMatrix=n.getUniformLocation(a,"uPanZoomMatrix"),a.uAtlasSize=n.getUniformLocation(a,"uAtlasSize"),a.uBGColor=n.getUniformLocation(a,"uBGColor"),a.uZoom=n.getUniformLocation(a,"uZoom"),a.uTextures=[];for(var o=0;o<this.batchManager.getMaxAtlasesPerBatch();o++)a.uTextures.push(n.getUniformLocation(a,"uTexture".concat(o)));return a}},{key:"_createVAO",value:function(){var t,n,r,i,a,o,s,l=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=l.length/2;var c=this.maxInstances,h=this.gl,d=this.program,f=h.createVertexArray();return h.bindVertexArray(f),t="vec2",n=d.aPosition,i=(r=u(lL(h,t),2))[0],o=lz(h,a=r[1],l),s=h.createBuffer(),h.bindBuffer(h.ARRAY_BUFFER,s),h.bufferData(h.ARRAY_BUFFER,o,h.STATIC_DRAW),a===h.FLOAT?h.vertexAttribPointer(n,i,a,!1,0,0):a===h.INT&&h.vertexAttribIPointer(n,i,a,0,0),h.enableVertexAttribArray(n),h.bindBuffer(h.ARRAY_BUFFER,null),this.transformBuffer=function(t,n,r){for(var i=new Float32Array(9*n),a=Array(n),o=0;o<n;o++){var s=9*o*4;a[o]=new Float32Array(i.buffer,s,9)}var l=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferData(t.ARRAY_BUFFER,i.byteLength,t.DYNAMIC_DRAW);for(var u=0;u<3;u++){var c=r+u;t.enableVertexAttribArray(c),t.vertexAttribPointer(c,3,t.FLOAT,!1,36,12*u),t.vertexAttribDivisor(c,1)}return t.bindBuffer(t.ARRAY_BUFFER,null),l.getMatrixView=function(t){return a[t]},l.setData=function(t,n){a[n].set(t,0)},l.bufferSubData=function(){t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferSubData(t.ARRAY_BUFFER,0,i)},l}(h,c,d.aTransform),this.indexBuffer=lO(h,c,"vec4",d.aIndex),this.vertTypeBuffer=lO(h,c,"int",d.aVertType),this.atlasIdBuffer=lO(h,c,"int",d.aAtlasId),this.texBuffer=lO(h,c,"vec4",d.aTex),this.pointAPointBBuffer=lO(h,c,"vec4",d.aPointAPointB),this.pointCPointDBuffer=lO(h,c,"vec4",d.aPointCPointD),this.lineWidthBuffer=lO(h,c,"vec2",d.aLineWidth),this.colorBuffer=lO(h,c,"vec4",d.aColor),this.cornerRadiusBuffer=lO(h,c,"vec4",d.aCornerRadius),this.borderColorBuffer=lO(h,c,"vec4",d.aBorderColor),h.bindVertexArray(null),f}},{key:"buffers",get:function(){var t=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(t){return t.endsWith("Buffer")}).map(function(n){return t[n]})),this._buffers}},{key:"startFrame",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:lG.SCREEN;this.panZoomMatrix=t,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(t,n){return!!t.visible()&&(!n||!n.isVisible||n.isVisible(t))}},{key:"drawTexture",value:function(t,n,r){var i=this.atlasManager,a=this.batchManager,o=i.getRenderTypeOpts(r);if(this._isVisible(t,o)){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(t);if(1===l)return;if(2==l)return void this.drawPickingRectangle(t,n,r)}var c,h=s(i.getAtlasInfo(t,r));try{for(h.s();!(c=h.n()).done;){var d=c.value,f=d.atlas,p=d.tex1,g=d.tex2;a.canAddToCurrentBatch(f)||this.endBatch();
vendor: 10,537 bytes, line 1
1for(var v=a.getAtlasIndexForBatch(f),y=0,m=[[p,!0],[g,!1]];y<m.length;y++){var b=u(m[y],2),x=b[0],w=b[1];if(0!=x.w){var E=this.instanceCount;this.vertTypeBuffer.getView(E)[0]=0,lN(n,this.indexBuffer.getView(E)),this.atlasIdBuffer.getView(E)[0]=v;var k=this.texBuffer.getView(E);k[0]=x.x,k[1]=x.y,k[2]=x.w,k[3]=x.h;var T=this.transformBuffer.getMatrixView(E);this.setTransformMatrix(t,T,o,d,w),this.instanceCount++,w||this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(t){h.e(t)}finally{h.f()}}}},{key:"setTransformMatrix",value:function(t,n,r,i){var a=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=0;if(r.shapeProps&&r.shapeProps.padding&&(o=t.pstyle(r.shapeProps.padding).pfValue),i){var s=i.bb,l=i.tex1,u=i.tex2,c=l.w/(l.w+u.w);a||(c=1-c);var h=this._getAdjustedBB(s,o,a,c);this._applyTransformMatrix(n,h,r,t)}else{var d=r.getBoundingBox(t),f=this._getAdjustedBB(d,o,!0,1);this._applyTransformMatrix(n,f,r,t)}}},{key:"_applyTransformMatrix",value:function(t,n,r,i){lj(t);var a,o,s=r.getRotation?r.getRotation(i):0;if(0!==s){var l=r.getRotationPoint(i);lX(t,t,[l.x,l.y]),lq(t,t,s);var u=r.getRotationOffset(i);a=u.x+(n.xOffset||0),o=u.y+(n.yOffset||0)}else a=n.x1,o=n.y1;lX(t,t,[a,o]),lY(t,t,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(t,n,r,i){var a=t.x1,o=t.y1,s=t.w,l=t.h;n&&(a-=n,o-=n,s+=2*n,l+=2*n);var u=0,c=s*i;return r&&i<1?s=c:!r&&i<1&&(a+=u=s-c,s=c),{x1:a,y1:o,w:s,h:l,xOffset:u,yOffset:t.yOffset}}},{key:"drawPickingRectangle",value:function(t,n,r){var i=this.atlasManager.getRenderTypeOpts(r),a=this.instanceCount;this.vertTypeBuffer.getView(a)[0]=4,lN(n,this.indexBuffer.getView(a)),lI([0,0,0],1,this.colorBuffer.getView(a));var o=this.transformBuffer.getMatrixView(a);this.setTransformMatrix(t,o,i),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(t,n,r){var i=this.simpleShapeOptions.get(r);if(this._isVisible(t,i)){var a=i.shapeProps,o=this._getVertTypeForShape(t,a.shape);if(void 0===o||i.isSimple&&!i.isSimple(t))this.drawTexture(t,n,r);else{var s=this.instanceCount;if(this.vertTypeBuffer.getView(s)[0]=o,5===o||6===o){var l=i.getBoundingBox(t),u=this._getCornerRadius(t,a.radius,l),c=this.cornerRadiusBuffer.getView(s);c[0]=u,c[1]=u,c[2]=u,c[3]=u,6===o&&(c[0]=0,c[2]=0)}lN(n,this.indexBuffer.getView(s)),lI(t.pstyle(a.color).value,t.pstyle(a.opacity).value,this.colorBuffer.getView(s));var h=this.lineWidthBuffer.getView(s);if(h[0]=0,h[1]=0,a.border){var d=t.pstyle("border-width").value;if(d>0){lI(t.pstyle("border-color").value,t.pstyle("border-opacity").value,this.borderColorBuffer.getView(s));var f=t.pstyle("border-position").value;if("inside"===f)h[0]=0,h[1]=-d;else if("outside"===f)h[0]=d,h[1]=0;else{var p=d/2;h[0]=p,h[1]=-p}}}var g=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(t,g,i),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"_getVertTypeForShape",value:function(t,n){switch(t.pstyle(n).value){case"rectangle":return 4;case"ellipse":return 7;case"roundrectangle":case"round-rectangle":return 5;case"bottom-round-rectangle":return 6;default:return}}},{key:"_getCornerRadius",value:function(t,n,r){var i=r.w,a=r.h;return"auto"===t.pstyle(n).value?t3(i,a):Math.min(t.pstyle(n).pfValue,a/2,i/2)}},{key:"drawEdgeArrow",value:function(t,n,r){if(t.visible()){var i,a,o,s=t._private.rscratch;if("source"===r?(i=s.arrowStartX,a=s.arrowStartY,o=s.srcArrowAngle):(i=s.arrowEndX,a=s.arrowEndY,o=s.tgtArrowAngle),!(isNaN(i)||null==i||isNaN(a)||null==a||isNaN(o)||null==o)&&"none"!==t.pstyle(r+"-arrow-shape").value){var l=t.pstyle(r+"-arrow-color").value,u=t.pstyle("opacity").value*t.pstyle("line-opacity").value,c=t.pstyle("width").pfValue,h=t.pstyle("arrow-scale").value,d=this.r.getArrowWidth(c,h),f=this.instanceCount,p=this.transformBuffer.getMatrixView(f);lj(p),lX(p,p,[i,a]),lY(p,p,[d,d]),lq(p,p,o),this.vertTypeBuffer.getView(f)[0]=3,lN(n,this.indexBuffer.getView(f)),lI(l,u,this.colorBuffer.getView(f)),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}},{key:"drawEdgeLine",value:function(t,n){if(t.visible()){var r=this._getEdgePoints(t);if(r){var i=t.pstyle("opacity").value,a=t.pstyle("line-opacity").value,o=t.pstyle("width").pfValue,s=t.pstyle("line-color").value,l=i*a;if(r.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),4==r.length){var u=this.instanceCount;this.vertTypeBuffer.getView(u)[0]=1,lN(n,this.indexBuffer.getView(u)),lI(s,l,this.colorBuffer.getView(u)),this.lineWidthBuffer.getView(u)[0]=o;var c=this.pointAPointBBuffer.getView(u);c[0]=r[0],c[1]=r[1],c[2]=r[2],c[3]=r[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var h=0;h<r.length-2;h+=2){var d=this.instanceCount;this.vertTypeBuffer.getView(d)[0]=2,lN(n,this.indexBuffer.getView(d)),lI(s,l,this.colorBuffer.getView(d)),this.lineWidthBuffer.getView(d)[0]=o;var f=r[h-2],p=r[h-1],g=r[h],v=r[h+1],y=r[h+2],m=r[h+3],b=r[h+4],x=r[h+5];0==h&&(f=2*g-y+.001,p=2*v-m+.001),h==r.length-4&&(b=2*y-g+.001,x=2*m-v+.001);var w=this.pointAPointBBuffer.getView(d);w[0]=f,w[1]=p,w[2]=g,w[3]=v;var E=this.pointCPointDBuffer.getView(d);E[0]=y,E[1]=m,E[2]=b,E[3]=x,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_getEdgePoints",value:function(t){var n=t._private.rscratch;if(!n.badLine&&null!=n.allpts&&!isNaN(n.allpts[0])){var r=n.allpts;if(4==r.length)return r;var i=this._getNumSegments(t);return this._getCurveSegmentPoints(r,i)}}},{key:"_getNumSegments",value:function(t){return Math.min(15,this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(t,n){if(4==t.length)return t;for(var r=Array(2*(n+1)),i=0;i<=n;i++)if(0==i)r[0]=t[0],r[1]=t[1];else if(i==n)r[2*i]=t[t.length-2],r[2*i+1]=t[t.length-1];else{var a=i/n;this._setCurvePoint(t,a,r,2*i)}return r}},{key:"_setCurvePoint",value:function(t,n,r,i){if(!(t.length<=2)){for(var a=Array(t.length-2),o=0;o<a.length;o+=2){var s=(1-n)*t[o]+n*t[o+2],l=(1-n)*t[o+1]+n*t[o+3];a[o]=s,a[o+1]=l}return this._setCurvePoint(a,n,r,i)}r[i]=t[0],r[i+1]=t[1]}},{key:"endBatch",value:function(){var t=this.gl,n=this.vao,r=this.vertexCount,i=this.instanceCount;if(0!==i){var a=this.renderTarget.picking?this.pickingProgram:this.program;t.useProgram(a),t.bindVertexArray(n);var o,l=s(this.buffers);try{for(l.s();!(o=l.n()).done;)o.value.bufferSubData(i)}catch(t){l.e(t)}finally{l.f()}for(var u,c,h=this.batchManager.getAtlases(),d=0;d<h.length;d++)h[d].bufferIfNeeded(t);for(var f=0;f<h.length;f++)t.activeTexture(t.TEXTURE0+f),t.bindTexture(t.TEXTURE_2D,h[f].texture),t.uniform1i(a.uTextures[f],f);t.uniform1f(a.uZoom,(c=(u=this.r).pixelRatio,u.cy.zoom()*c)),t.uniformMatrix3fv(a.uPanZoomMatrix,!1,this.panZoomMatrix),t.uniform1i(a.uAtlasSize,this.batchManager.getAtlasSize());var p=lI(this.bgColor,1);t.uniform4fv(a.uBGColor,p),t.drawArraysInstanced(t.TRIANGLES,0,r,i),t.bindVertexArray(null),t.bindTexture(t.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:i,atlasCount:h.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var t=this.atlasManager.getDebugInfo(),n=t.reduce(function(t,n){return t+n.atlasCount},0),r=this.batchDebugInfo,i=r.reduce(function(t,n){return t+n.count},0);return{atlasInfo:t,totalAtlases:n,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:r.length,batchInfo:r,totalInstances:i}}}]),l$={};function lQ(t,n){return e7(t._private.rscratch,"labelWrapCachedLines",n)||[]}l$.initWebgl=function(t,n){var r,i,a,o,l,c=this,h=c.data.contexts[c.WEBGL];t.bgColor=ex((r=c.cy.container())&&r.style&&r.style.backgroundColor||"white"),t.webglTexSize=Math.min(t.webglTexSize,h.getParameter(h.MAX_TEXTURE_SIZE)),t.webglTexRows=Math.min(t.webglTexRows,54),t.webglTexRowsNodes=Math.min(t.webglTexRowsNodes,54),t.webglBatchSize=Math.min(t.webglBatchSize,16384),t.webglTexPerBatch=Math.min(t.webglTexPerBatch,h.getParameter(h.MAX_TEXTURE_IMAGE_UNITS)),c.webglDebug=t.webglDebug,c.webglDebugShowAtlases=t.webglDebugShowAtlases,c.pickingFrameBuffer=function(t){var n=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,n);var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0),t.bindFramebuffer(t.FRAMEBUFFER,null),n.setFramebufferAttachmentSizes=function(n,i){t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n,i,0,t.RGBA,t.UNSIGNED_BYTE,null)},n}(h),c.pickingFrameBuffer.needsDraw=!0,c.drawing=new lZ(c,h,t);var d=function(t){return function(n){return c.getTextAngle(n,t)}},f=function(t){return function(n){var r=n.pstyle(t);return r&&r.value}},p=function(t){return function(n){return n.pstyle("".concat(t,"-opacity")).value>0}},g=function(t){return"yes"===t.pstyle("text-events").strValue?2:1},v=function(t){var n=t.position(),r=n.x,i=n.y,a=t.outerWidth(),o=t.outerHeight();return{w:a,h:o,x1:r-a/2,y1:i-o/2}};c.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),c.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),c.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:n.getStyleKey,getBoundingBox:n.getElementBox,drawElement:n.drawElement}),c.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:v,isSimple:lR,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),c.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:v,isVisible:p("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),c.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:v,isVisible:p("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),c.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:g,getKey:lJ(n.getLabelKey,null),getBoundingBox:l0(n.getLabelBox,null),drawClipped:!0,drawElement:n.drawLabel,getRotation:d(null),getRotationPoint:n.getLabelRotationPoint,getRotationOffset:n.getLabelRotationOffset,isVisible:f("label")}),c.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:g,getKey:lJ(n.getSourceLabelKey,"source"),getBoundingBox:l0(n.get
1SourceLabelBox,"source"),drawClipped:!0,drawElement:n.drawSourceLabel,getRotation:d("source"),getRotationPoint:n.getSourceLabelRotationPoint,getRotationOffset:n.getSourceLabelRotationOffset,isVisible:f("source-label")}),c.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:g,getKey:lJ(n.getTargetLabelKey,"target"),getBoundingBox:l0(n.getTargetLabelBox,"target"),drawClipped:!0,drawElement:n.drawTargetLabel,getRotation:d("target"),getRotationPoint:n.getTargetLabelRotationPoint,getRotationOffset:n.getTargetLabelRotationOffset,isVisible:f("target-label")});var y=eA(function(){console.log("garbage collect flag set"),c.data.gc=!0},1e4);c.onUpdateEleCalcs(function(t,n){var r=!1;n&&n.length>0&&(r|=c.drawing.invalidate(n)),r&&y()}),i=c.render,c.render=function(t){t=t||{};var n,r,a=c.cy;c.webgl&&(a.zoom()>7.99?((n=c.data.contexts[c.WEBGL]).clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.call(c,t)):((r=function(t){t.save(),t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,c.canvasWidth,c.canvasHeight),t.restore()})(c.data.contexts[c.NODE]),r(c.data.contexts[c.DRAG]),l5(c,t,lG.SCREEN)))},a=c.matchCanvasSize,c.matchCanvasSize=function(t){a.call(c,t),c.pickingFrameBuffer.setFramebufferAttachmentSizes(c.canvasWidth,c.canvasHeight),c.pickingFrameBuffer.needsDraw=!0},c.findNearestElements=function(t,n,r,i){return function(t,n,r){var i,a,o,l=function(t,n,r){var i,a,o,s,l=lM(t),c=l.pan,h=l.zoom,d=u((i=n*h+c.x,a=r*h+c.y,[i,a=Math.round(t.canvasHeight-a)]),2),f=d[0],p=d[1];o=f-3,s=p-3;var g=t.data.contexts[t.WEBGL];g.bindFramebuffer(g.FRAMEBUFFER,t.pickingFrameBuffer),t.pickingFrameBuffer.needsDraw&&(g.viewport(0,0,g.canvas.width,g.canvas.height),l5(t,null,lG.PICKING),t.pickingFrameBuffer.needsDraw=!1);var v=new Uint8Array(144);g.readPixels(o,s,6,6,g.RGBA,g.UNSIGNED_BYTE,v),g.bindFramebuffer(g.FRAMEBUFFER,null);for(var y=new Set,m=0;m<36;m++){var b,x=(b=v.slice(4*m,4*m+4))[0]+(b[1]<<8)+(b[2]<<16)+(b[3]<<24)-1;x>=0&&y.add(x)}return y}(t,n,r),c=t.getCachedZSortedEles(),h=s(l);try{for(h.s();!(o=h.n()).done;){var d=c[o.value];if(!i&&d.isNode()&&(i=d),!a&&d.isEdge()&&(a=d),i&&a)break}}catch(t){h.e(t)}finally{h.f()}return[i,a].filter(Boolean)}(c,t,n)},o=c.invalidateCachedZSortedEles,c.invalidateCachedZSortedEles=function(){o.call(c),c.pickingFrameBuffer.needsDraw=!0},l=c.notify,c.notify=function(t,n){l.call(c,t,n),"viewport"===t||"bounds"===t?c.pickingFrameBuffer.needsDraw=!0:"background"===t&&c.drawing.invalidate(n,{type:"node-body"})}};var lJ=function(t,n){return function(r){var i=t(r),a=lQ(r,n);return a.length>1?a.map(function(t,n){return"".concat(i,"_").concat(n)}):i}},l0=function(t,n){return function(r,i){var a=t(r);if("string"==typeof i){var o=i.indexOf("_");if(o>0){var s=Number(i.substring(o+1)),l=lQ(r,n),u=a.h/l.length,c=u*s,h=a.y1+c;return{x1:a.x1,w:a.w,y1:h,h:u,yOffset:c}}}return a}};function l1(t,n){var r=t.canvasWidth,i=t.canvasHeight,a=lM(t),o=a.pan,s=a.zoom;n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,r,i),n.translate(o.x,o.y),n.scale(s,s)}function l2(t,n,r){var i=t.drawing;n+=1,r.isNode()?(i.drawNode(r,n,"node-underlay"),i.drawNode(r,n,"node-body"),i.drawTexture(r,n,"label"),i.drawNode(r,n,"node-overlay")):(i.drawEdgeLine(r,n),i.drawEdgeArrow(r,n,"source"),i.drawEdgeArrow(r,n,"target"),i.drawTexture(r,n,"label"),i.drawTexture(r,n,"edge-source-label"),i.drawTexture(r,n,"edge-target-label"))}function l5(t,n,r){t.webglDebug&&(U=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&function(t,n){t.drawSelectionRectangle(n,function(n){return l1(t,n)})}(t,n),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var o,l,u,c,h,d,f,p,g,v,y,m,b,x,w,E,k,T,C,P,S,B,D,_,A,M,R,I,N,L,z=t.data.contexts[t.WEBGL];r.screen?(z.clearColor(0,0,0,0),z.enable(z.BLEND),z.blendFunc(z.ONE,z.ONE_MINUS_SRC_ALPHA)):z.disable(z.BLEND),z.clear(z.COLOR_BUFFER_BIT|z.DEPTH_BUFFER_BIT),z.viewport(0,0,z.canvas.width,z.canvas.height);var O=(l=(o=t).canvasWidth,u=o.canvasHeight,h=(c=lM(o)).pan,d=c.zoom,lX(f=lF(),f,[h.x,h.y]),lY(f,f,[d,d]),(p=lF())[0]=2/l,p[1]=0,p[2]=0,p[3]=0,p[4]=-2/u,p[5]=0,p[6]=-1,p[7]=1,p[8]=1,R=lF(),g=p[0],v=p[1],y=p[2],m=p[3],b=p[4],x=p[5],w=p[6],E=p[7],k=p[8],T=f[0],C=f[1],P=f[2],S=f[3],B=f[4],D=f[5],_=f[6],A=f[7],M=f[8],R[0]=T*g+C*m+P*w,R[1]=T*v+C*b+P*E,R[2]=T*y+C*x+P*k,R[3]=S*g+B*m+D*w,R[4]=S*v+B*b+D*E,R[5]=S*y+B*x+D*k,R[6]=_*g+A*m+M*w,R[7]=_*v+A*b+M*E,R[8]=_*y+A*x+M*k,R),V=t.getCachedZSortedEles();if(a=V.length,i.startFrame(O,r),r.screen){for(var F=0;F<V.nondrag.length;F++)l2(t,F,V.nondrag[F]);for(var j=0;j<V.drag.length;j++)l2(t,j,V.drag[j])}else if(r.picking)for(var X=0;X<V.length;X++)l2(t,X,V[X]);i.endFrame(),r.screen&&t.webglDebugShowAtlases&&((I=t.data.contexts[t.NODE
1]).save(),l1(t,I),I.strokeStyle="rgba(0, 0, 0, 0.3)",I.beginPath(),I.moveTo(-1e3,0),I.lineTo(1e3,0),I.stroke(),I.beginPath(),I.moveTo(0,-1e3),I.lineTo(0,1e3),I.stroke(),I.restore(),L=0,(N=function(n,r,i){for(var a=n.atlasManager.getAtlasCollection(r),o=t.data.contexts[t.NODE],s=a.atlases,l=0;l<s.length;l++){var u=s[l].canvas;if(u){var c=u.width,h=u.height,d=c*l,f=u.height*i;o.save(),o.scale(.4,.4),o.drawImage(u,d,f),o.strokeStyle="black",o.rect(d,f,c,h),o.stroke(),o.restore()}}})(t.drawing,"node",L++),N(t.drawing,"label",L++)),t.data.canvasNeedsRedraw[t.NODE]=!1,t.data.canvasNeedsRedraw[t.DRAG]=!1}if(t.webglDebug){var q=Math.ceil(performance.now()-U),Y=i.getDebugInfo(),W=["".concat(a," elements"),"".concat(Y.totalInstances," instances"),"".concat(Y.batchCount," batches"),"".concat(Y.totalAtlases," atlases"),"".concat(Y.wrappedCount," wrapped textures"),"".concat(Y.simpleCount," simple shapes")].join(", ");console.log("WebGL (".concat(r.name,") - frame time ").concat(q,"ms")),console.log("Totals:"),console.log("  ".concat(W)),console.log("Texture Atlases Used:");var U,H,K=s(Y.atlasInfo);try{for(K.s();!(H=K.n()).done;){var G=H.value;console.log("  ".concat(G.type,": ").concat(G.keyCount," keys, ").concat(G.atlasCount," atlases"))}}catch(t){K.e(t)}finally{K.f()}console.log("")}t.data.gc&&(console.log("Garbage Collect!"),t.data.gc=!1,i.gc())}for(var l3={drawPolygonPath:function(t,n,r,i,a,o){var s=i/2,l=a/2;t.beginPath&&t.beginPath(),t.moveTo(n+s*o[0],r+l*o[1]);for(var u=1;u<o.length/2;u++)t.lineTo(n+s*o[2*u],r+l*o[2*u+1]);t.closePath()},drawRoundPolygonPath:function(t,n,r,i,a,o,s){s.forEach(function(n){return sY(t,n)}),t.closePath()},drawRoundRectanglePath:function(t,n,r,i,a,o){var s=i/2,l=a/2,u="auto"===o?t3(i,a):Math.min(o,l,s);t.beginPath&&t.beginPath(),t.moveTo(n,r-l),t.arcTo(n+s,r-l,n+s,r,u),t.arcTo(n+s,r+l,n,r+l,u),t.arcTo(n-s,r+l,n-s,r,u),t.arcTo(n-s,r-l,n,r-l,u),t.lineTo(n,r-l),t.closePath()},drawBottomRoundRectanglePath:function(t,n,r,i,a,o){var s=i/2,l=a/2,u="auto"===o?t3(i,a):o;t.beginPath&&t.beginPath(),t.moveTo(n,r-l),t.lineTo(n+s,r-l),t.lineTo(n+s,r),t.arcTo(n+s,r+l,n,r+l,u),t.arcTo(n-s,r+l,n-s,r,u),t.lineTo(n-s,r-l),t.lineTo(n,r-l),t.closePath()},drawCutRectanglePath:function(t,n,r,i,a,o,s){var l=i/2,u=a/2,c="auto"===s?8:s;t.beginPath&&t.beginPath(),t.moveTo(n-l+c,r-u),t.lineTo(n+l-c,r-u),t.lineTo(n+l,r-u+c),t.lineTo(n+l,r+u-c),t.lineTo(n+l-c,r+u),t.lineTo(n-l+c,r+u),t.lineTo(n-l,r+u-c),t.lineTo(n-l,r-u+c),t.closePath()},drawBarrelPath:function(t,n,r,i,a){var o=i/2,s=a/2,l=n-o,u=n+o,c=r-s,h=r+s,d=t9(i,a),f=d.widthOffset,p=d.heightOffset,g=d.ctrlPtOffsetPct*f;t.beginPath&&t.beginPath(),t.moveTo(l,c+p),t.lineTo(l,h-p),t.quadraticCurveTo(l+g,h,l+f,h),t.lineTo(u-f,h),t.quadraticCurveTo(u-g,h,u,h-p),t.lineTo(u,c+p),t.quadraticCurveTo(u-g,c,u-f,c),t.lineTo(l+f,c),t.quadraticCurveTo(l+g,c,l,c+p),t.closePath()}},l4={},l9={},l6=Math.PI/40,l8=0*Math.PI;l8<2*Math.PI;l8+=l6)l4[l8]=Math.sin(l8),l9[l8]=Math.cos(l8);l3.drawEllipsePath=function(t,n,r,i,a){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(n,r,i/2,a/2,0,0,2*Math.PI);else for(var o,s,l=i/2,u=a/2,c=0*Math.PI;c<2*Math.PI;c+=l6)o=n-l*l4[c]*0+l*l9[c]*1,s=r+u*l9[c]*0+u*l4[c]*1,0===c?t.moveTo(o,s):t.lineTo(o,s);t.closePath()};var l7={};function ue(t){var n=t.indexOf(",");return t.substr(n+1)}function ut(t,n,r){var i=function(){return n.toDataURL(r,t.quality)};switch(t.output){case"blob-promise":return new n2(function(i,a){try{n.toBlob(function(t){null!=t?i(t):a(Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(t){a(t)}});case"blob":return function(t,n){for(var r=atob(t),i=new ArrayBuffer(r.length),a=new Uint8Array(i),o=0;o<r.length;o++)a[o]=r.charCodeAt(o);return new Blob([i],{type:n})}(ue(i()),r);case"base64":return ue(i());default:return i()}}l7.createBuffer=function(t,n){var r=document.createElement("canvas");return r.width=t,r.height=n,[r,r.getContext("2d")]},l7.bufferCanvasImage=function(t){var n=this.cy,r=n.mutableElements().boundingBox(),i=this.findContainerClientCoords(),a=t.full?Math.ceil(r.w):i[2],o=t.full?Math.ceil(r.h):i[3],s=J(t.maxWidth)||J(t.maxHeight),l=this.getPixelRatio(),u=1;
vendor: 4,792 bytes, line 1
1if(void 0!==t.scale)a*=t.scale,o*=t.scale,u=t.scale;else if(s){var c=1/0,h=1/0;J(t.maxWidth)&&(c=u*t.maxWidth/a),J(t.maxHeight)&&(h=u*t.maxHeight/o),a*=u=Math.min(c,h),o*=u}s||(a*=l,o*=l,u*=l);var d=document.createElement("canvas");d.width=a,d.height=o,d.style.width=a+"px",d.style.height=o+"px";var f=d.getContext("2d");if(a>0&&o>0){f.clearRect(0,0,a,o),f.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)f.translate(-r.x1*u,-r.y1*u),f.scale(u,u),this.drawElements(f,p),f.scale(1/u,1/u),f.translate(r.x1*u,r.y1*u);else{var g=n.pan(),v={x:g.x*u,y:g.y*u};u*=n.zoom(),f.translate(v.x,v.y),f.scale(u,u),this.drawElements(f,p),f.scale(1/u,1/u),f.translate(-v.x,-v.y)}t.bg&&(f.globalCompositeOperation="destination-over",f.fillStyle=t.bg,f.rect(0,0,a,o),f.fill())}return d},l7.png=function(t){return ut(t,this.bufferCanvasImage(t),"image/png")},l7.jpg=function(t){return ut(t,this.bufferCanvasImage(t),"image/jpeg")};var un=ur.prototype;function ur(t){var n=this,r=n.cy.window().document;t.webgl&&(un.CANVAS_LAYERS=n.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),n.data={canvases:Array(un.CANVAS_LAYERS),contexts:Array(un.CANVAS_LAYERS),canvasNeedsRedraw:Array(un.CANVAS_LAYERS),bufferCanvases:Array(un.BUFFER_COUNT),bufferContexts:Array(un.CANVAS_LAYERS)};var i="-webkit-tap-highlight-color",a="rgba(0,0,0,0)";n.data.canvasContainer=r.createElement("div");var o=n.data.canvasContainer.style;n.data.canvasContainer.style[i]=a,o.position="relative",o.zIndex="0",o.overflow="hidden";var s=t.cy.container();s.appendChild(n.data.canvasContainer),s.style[i]=a;var l={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};g&&g.userAgent.match(/msie|trident|edge/i)&&(l["-ms-touch-action"]="none",l["touch-action"]="none");for(var u=0;u<un.CANVAS_LAYERS;u++){var c=n.data.canvases[u]=r.createElement("canvas"),h=un.CANVAS_TYPES[u];n.data.contexts[u]=c.getContext(h),n.data.contexts[u]||eJ("Could not create canvas of type "+h),Object.keys(l).forEach(function(t){c.style[t]=l[t]}),c.style.position="absolute",c.setAttribute("data-id","layer"+u),c.style.zIndex=String(un.CANVAS_LAYERS-u),n.data.canvasContainer.appendChild(c),n.data.canvasNeedsRedraw[u]=!1}for(n.data.topCanvas=n.data.canvases[0],n.data.canvases[un.NODE].setAttribute("data-id","layer"+un.NODE+"-node"),n.data.canvases[un.SELECT_BOX].setAttribute("data-id","layer"+un.SELECT_BOX+"-selectbox"),n.data.canvases[un.DRAG].setAttribute("data-id","layer"+un.DRAG+"-drag"),n.data.canvases[un.WEBGL]&&n.data.canvases[un.WEBGL].setAttribute("data-id","layer"+un.WEBGL+"-webgl"),u=0;u<un.BUFFER_COUNT;u++)n.data.bufferCanvases[u]=r.createElement("canvas"),n.data.bufferContexts[u]=n.data.bufferCanvases[u].getContext("2d"),n.data.bufferCanvases[u].style.position="absolute",n.data.bufferCanvases[u].setAttribute("data-id","buffer"+u),n.data.bufferCanvases[u].style.zIndex=String(-u-1),n.data.bufferCanvases[u].style.visibility="hidden";n.pathsEnabled=!0;var d=tM(),f=function(t){return{x:-t.w/2,y:-t.h/2}},p=function(t){return t[0]._private.nodeKey},v=function(t){return t[0]._private.labelStyleKey},y=function(t){return t[0]._private.sourceLabelStyleKey},m=function(t){return t[0]._private.targetLabelStyleKey},b=function(t,r,i,a,o){return n.drawElement(t,r,i,!1,!1,o)},x=function(t,r,i,a,o){return n.drawElementText(t,r,i,a,"main",o)},w=function(t,r,i,a,o){return n.drawElementText(t,r,i,a,"source",o)},E=function(t,r,i,a,o){return n.drawElementText(t,r,i,a,"target",o)},k=function(t){return t.boundingBox(),t[0]._private.bodyBounds},T=function(t){return t.boundingBox(),t[0]._private.labelBounds.main||d},C=function(t){return t.boundingBox(),t[0]._private.labelBounds.source||d},P=function(t){return t.boundingBox(),t[0]._private.labelBounds.target||d},S=function(t,n){return n},B=function(t){var n;return{x:((n=k(t)).x1+n.x2)/2,y:(n.y1+n.y2)/2}},D=function(t,n,r){var i=t?t+"-":"";return{x:n.x+r.pstyle(i+"text-margin-x").pfValue,y:n.y+r.pstyle(i+"text-margin-y").pfValue}},_=function(t,n,r){var i=t[0]._private.rscratch;return{x:i[n],y:i[r]}},A=function(t){return D("",_(t,"labelX","labelY"),t)},M=function(t){return D("source",_(t,"sourceLabelX","sourceLabelY"),t)},R=function(t){return D("target",_(t,"targetLabelX","targetLabelY"),t)},I=function(t){return f(k(t))},N=function(t){return f(C(t))},L=function(t){return f(P(t))},z=function(t){var n=T(t),r=f(T(t));if(t.isNode()){switch(t.pstyle("text-halign").value){case"left":r.x=-n.w-(n.leftPad||0);break;case"right":r.x=-(n.rightPad||0)}switch(t.pstyle("text-valign").value){case"top":r.y=-n.h-(n.topPad||0);break;case"bottom":r.y=-(n.botPad||0)}}return r},O=n.data.eleTxrCache=new lr(n,{getKey:p,doesEleInvalidateKey:function(t){var n=t[0]._private;
1return n.oldBackgroundTimestamp!==n.backgroundTimestamp},drawElement:b,getBoundingBox:k,getRotationPoint:B,getRotationOffset:I,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),V=n.data.lblTxrCache=new lr(n,{getKey:v,drawElement:x,getBoundingBox:T,getRotationPoint:A,getRotationOffset:z,isVisible:S}),F=n.data.slbTxrCache=new lr(n,{getKey:y,drawElement:w,getBoundingBox:C,getRotationPoint:M,getRotationOffset:N,isVisible:S}),j=n.data.tlbTxrCache=new lr(n,{getKey:m,drawElement:E,getBoundingBox:P,getRotationPoint:R,getRotationOffset:L,isVisible:S}),X=n.data.lyrTxrCache=new la(n);n.onUpdateEleCalcs(function(t,n){O.invalidateElements(n),V.invalidateElements(n),F.invalidateElements(n),j.invalidateElements(n),X.invalidateElements(n);for(var r=0;r<n.length;r++){var i=n[r]._private;i.oldBackgroundTimestamp=i.backgroundTimestamp}});var q=function(t){for(var n=0;n<t.length;n++)X.enqueueElementRefinement(t[n].ele)};O.onDequeue(q),V.onDequeue(q),F.onDequeue(q),j.onDequeue(q),t.webgl&&n.initWebgl(t,{getStyleKey:p,getLabelKey:v,getSourceLabelKey:y,getTargetLabelKey:m,drawElement:b,drawLabel:x,drawSourceLabel:w,drawTargetLabel:E,getElementBox:k,getLabelBox:T,getSourceLabelBox:C,getTargetLabelBox:P,getElementRotationPoint:B,getElementRotationOffset:I,getLabelRotationPoint:A,getSourceLabelRotationPoint:M,getTargetLabelRotationPoint:R,getLabelRotationOffset:z,getSourceLabelRotationOffset:N,getTargetLabelRotationOffset:L})}un.CANVAS_LAYERS=3,un.SELECT_BOX=0,un.DRAG=1,un.NODE=2,un.WEBGL=3,un.CANVAS_TYPES=["2d","2d","2d","webgl2"],un.BUFFER_COUNT=3,un.TEXTURE_BUFFER=0,un.MOTIONBLUR_BUFFER_NODE=1,un.MOTIONBLUR_BUFFER_DRAG=2,un.redrawHint=function(t,n){switch(t){case"eles":this.data.canvasNeedsRedraw[un.NODE]=n;break;case"drag":this.data.canvasNeedsRedraw[un.DRAG]=n;break;case"select":this.data.canvasNeedsRedraw[un.SELECT_BOX]=n;break;case"gc":this.data.gc=!0}};var ui="undefined"!=typeof Path2D;un.path2dEnabled=function(t){if(void 0===t)return this.pathsEnabled;this.pathsEnabled=!!t},un.usePaths=function(){return ui&&this.pathsEnabled},un.setImgSmoothing=function(t,n){null!=t.imageSmoothingEnabled?t.imageSmoothingEnabled=n:(t.webkitImageSmoothingEnabled=n,t.mozImageSmoothingEnabled=n,t.msImageSmoothingEnabled=n)},un.getImgSmoothing=function(t){return null!=t.imageSmoothingEnabled?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},un.makeOffscreenCanvas=function(t,n){var r;return"undefined"!==("undefined"==typeof OffscreenCanvas?"undefined":d(OffscreenCanvas))?r=new OffscreenCanvas(t,n):((r=this.cy.window().document.createElement("canvas")).width=t,r.height=n),r},[lu,lg,lE,{safeDrawImage:function(t,n,r,i,a,o,s,l,u,c){if(!(a<=0||o<=0||u<=0||c<=0))try{t.drawImage(n,r,i,a,o,s,l,u,c)}catch(t){e1(t)}},drawInscribedImage:function(t,n,r,i,a){var o,s=r.position(),l=s.x,u=s.y,c=r.cy().style(),h=c.getIndexedStyle.bind(c),d=h(r,"background-fit","value",i),f=h(r,"background-repeat","value",i),p=r.width(),g=r.height(),v=2*r.padding(),y=p+("inner"===h(r,"background-width-relative-to","value",i)?0:v),m=g+("inner"===h(r,"background-height-relative-to","value",i)?0:v),b=r._private.rscratch,x="node"===h(r,"background-clip","value",i),w=h(r,"background-image-opacity","value",i)*a,E=h(r,"background-image-smoothing","value",i),k=r.pstyle("corner-radius").value;"auto"!==k&&(k=r.pstyle("corner-radius").pfValue);var T=n.width||n.cachedW,C=n.height||n.cachedH;null!=T&&null!=C||(document.body.appendChild(n),T=n.cachedW=n.width||n.offsetWidth,C=n.cachedH=n.height||n.offsetHeight,document.body.removeChild(n));var P=T,S=C;if("auto"!==h(r,"background-width","value",i)&&(P="%"===h(r,"background-width","units",i)?h(r,"background-width","pfValue",i)*y:h(r,"background-width","pfValue",i)),"auto"!==h(r,"background-height","value",i)&&(S="%"===h(r,"background-height","units",i)?h(r,"background-height","pfValue",i)*m:h(r,"background-height","pfValue",i)),0!==P&&0!==S){"contain"===d?(P*=o=Math.min(y/P,m/S),S*=o):"cover"===d&&(P*=o=Math.max(y/P,m/S),S*=o);var B=l-y/2,D=h(r,"background-position-x","units",i),_=h(r,"background-position-x","pfValue",i);B+="%"===D?(y-P)*_:_;var A=h(r,"background-offset-x","units",i),M=h(r,"background-offset-x","pfValue",i);B+="%"===A?(y-P)*M:M;var R=u-m/2,I=h(r,"background-position-y","units",i),N=h(r,"background-position-y","pfValue",i);R+="%"===I?(m-S)*N:N;var L=h(r,"background-offset-y","units",i),z=h(r,"background-offset-y","pfValue",i);
1R+="%"===L?(m-S)*z:z,b.pathCache&&(B-=l,R-=u,l=0,u=0);var O=t.globalAlpha;t.globalAlpha=w;var V=this.getImgSmoothing(t),F=!1;if("no"===E&&V?(this.setImgSmoothing(t,!1),F=!0):"yes"!==E||V||(this.setImgSmoothing(t,!0),F=!0),"no-repeat"===f)x&&(t.save(),b.pathCache?t.clip(b.pathCache):(this.nodeShapes[this.getNodeShape(r)].draw(t,l,u,y,m,k,b),t.clip())),this.safeDrawImage(t,n,0,0,T,C,B,R,P,S),x&&t.restore();else{var j=t.createPattern(n,f);t.fillStyle=j,this.nodeShapes[this.getNodeShape(r)].draw(t,l,u,y,m,k,b),t.translate(B,R),t.fill(),t.translate(-B,-R)}t.globalAlpha=O,F&&this.setImgSmoothing(t,V)}}},lT,lP,lD,l$,l3,l7,{nodeShapeImpl:function(t,n,r,i,a,o,s,l){switch(t){case"ellipse":return this.drawEllipsePath(n,r,i,a,o);case"polygon":return this.drawPolygonPath(n,r,i,a,o,s);case"round-polygon":return this.drawRoundPolygonPath(n,r,i,a,o,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(n,r,i,a,o,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(n,r,i,a,o,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(n,r,i,a,o,l);case"barrel":return this.drawBarrelPath(n,r,i,a,o)}}}
1].forEach(function(t){eb(un,t)});var ua=[{type:"layout",extensions:[{name:"breadthfirst",impl:oq},{name:"circle",impl:oW},{name:"concentric",impl:oJ},{name:"cose",impl:o1},{name:"grid",impl:sd},{name:"null",impl:sp},{name:"preset",impl:sv},{name:"random",impl:sm}]},{type:"renderer",extensions:[{name:"null",impl:sb},{name:"base",impl:s9},{name:"canvas",impl:ur}]}],uo={},us={};function ul(t,n,r){var i=r,a=function(r){e1("Can not register `"+n+"` for `"+t+"` since `"+r+"` already exists in the prototype and can not be overridden")};if("core"===t){if(oz.prototype[n])return a(n);oz.prototype[n]=r}else if("collection"===t){if(oc.prototype[n])return a(n);oc.prototype[n]=r}else if("layout"===t){for(var o=function(t){this.options=t,r.call(this,t),Q(this._private)||(this._private={}),this._private.cy=t.cy,this._private.listeners=[],this.createEmitter()},s=o.prototype=Object.create(r.prototype),l=[],u=0;u<l.length;u++){var c=l[u];s[c]=s[c]||function(){return this}}s.start&&!s.run?s.run=function(){return this.start(),this}:!s.start&&s.run&&(s.start=function(){return this.run(),this});var h=r.prototype.stop;s.stop=function(){var t=this.options;if(t&&t.animate){var n=this.animations;if(n)for(var r=0;r<n.length;r++)n[r].stop()}return h?h.call(this):this.emit("layoutstop"),this},s.destroy||(s.destroy=function(){return this}),s.cy=function(){return this._private.cy};var d=function(t){return t._private.cy},f={addEventFields:function(t,n){n.layout=t,n.cy=d(t),n.target=t},bubble:function(){return!0},parent:function(t){return d(t)}};eb(s,{createEmitter:function(){return this._private.emitter=new aj(f,this),this},emitter:function(){return this._private.emitter},on:function(t,n){return this.emitter().on(t,n),this},one:function(t,n){return this.emitter().one(t,n),this},once:function(t,n){return this.emitter().one(t,n),this},removeListener:function(t,n){return this.emitter().removeListener(t,n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(t,n){return this.emitter().emit(t,n),this}}),iG.eventAliasesOn(s),i=o}else if("renderer"===t&&"null"!==n&&"base"!==n){var p=uu("renderer","base"),g=p.prototype,v=r.prototype,y=function(){p.apply(this,arguments),r.apply(this,arguments)},m=y.prototype;for(var b in g){var x=g[b];if(null!=v[b])return a(b);m[b]=x}for(var w in v)m[w]=v[w];g.clientFunctions.forEach(function(t){m[t]=m[t]||function(){eJ("Renderer does not implement `renderer."+t+"()` on its prototype")}}),i=y}else if("__proto__"===t||"constructor"===t||"prototype"===t)return eJ(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return eE({map:uo,keys:[t,n],value:i})}function uu(t,n){return ek({map:uo,keys:[t,n]})}function uc(t,n,r,i,a){return eE({map:us,keys:[t,n,r,i],value:a})}function uh(t,n,r,i){return ek({map:us,keys:[t,n,r,i]})}var ud=function(){return 2==arguments.length?uu.apply(null,arguments):3==arguments.length?ul.apply(null,arguments):4==arguments.length?uh.apply(null,arguments):5==arguments.length?uc.apply(null,arguments):void eJ("Invalid extension access syntax")};oz.prototype.extension=ud,ua.forEach(function(t){t.extensions.forEach(function(n){ul(t.type,n.name,n.impl)})});var uf=function(){if(!(this instanceof uf))return new uf;this.length=0},up=uf.prototype;up.instanceString=function(){return"stylesheet"},up.selector=function(t){return this[this.length++]={selector:t,properties:[]},this},up.css=function(t,n){var r=this.length-1;if(G(t))this[r].properties.push({name:t,value:n});else if(Q(t))for(var i=Object.keys(t),a=0;a<i.length;a++){var o=i[a],s=t[o];if(null!=s){var l=oR.properties[o]||oR.properties[ec(o)];if(null!=l){var u=l.name;this[r].properties.push({name:u,value:s})}}}return this},up.style=up.css,up.generateStyle=function(t){var n=new oR(t);return this.appendToStyle(n)},up.appendToStyle=function(t){for(var n=0;n<this.length;n++){var r=this[n],i=r.selector,a=r.properties;t.selector(i);for(var o=0;o<a.length;o++){var s=a[o];t.css(s.name,s.value)}}return t};var ug=function(t){return void 0===t&&(t={}),Q(t)?new oz(t):G(t)?ud.apply(ud,arguments):void 0};
1ug.use=function(t){var n=Array.prototype.slice.call(arguments,1);return n.unshift(ug),t.apply(null,n),this},ug.warnings=function(t){return e0(t)},ug.version="3.32.0",ug.stylesheet=ug.Stylesheet=uf}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.